├── .gitignore ├── CONTRIBUTING.md ├── README.md ├── sample-apps ├── .gitignore ├── pom.xml ├── src │ └── main │ │ ├── java │ │ └── io │ │ │ └── parallec │ │ │ └── sample │ │ │ └── app │ │ │ ├── http │ │ │ ├── Http100WebAggregateToElasticSearchApp.java │ │ │ ├── Http100WebAggregateToKafkaApp.java │ │ │ ├── Http3WebAgrregateToElasticSearchMinApp.java │ │ │ ├── HttpAsyncApiPollableJob.java │ │ │ ├── HttpBasicAsyncRunProgressPollingApp.java │ │ │ ├── HttpBasicMinimumApp.java │ │ │ ├── HttpDiffRequestsDiffServersApp.java │ │ │ ├── HttpDiffRequestsSameServerApp.java │ │ │ ├── package-info.java │ │ │ ├── samplekafkareceiver │ │ │ │ ├── KafkaReceiver.java │ │ │ │ └── package-info.java │ │ │ └── sampleserver │ │ │ │ ├── HttpServerSampleAsyncApiWithPollableJob.java │ │ │ │ └── package-info.java │ │ │ ├── package-info.java │ │ │ ├── ping │ │ │ ├── Ping100WebApp.java │ │ │ └── package-info.java │ │ │ ├── ssh │ │ │ ├── SshApp.java │ │ │ └── package-info.java │ │ │ └── tcp │ │ │ ├── TcpApp.java │ │ │ ├── package-info.java │ │ │ └── sampleserver │ │ │ ├── TcpEchoServer.java │ │ │ └── package-info.java │ │ └── resources │ │ └── logback.xml └── userdata │ ├── keepthisfile │ ├── sample_target_hosts_json_path.json │ ├── sample_target_hosts_top100.txt │ ├── sample_target_hosts_top1000.txt │ ├── sample_target_hosts_top100_old.txt │ ├── sample_target_hosts_top2000.txt │ ├── sample_target_hosts_top500.txt │ └── sample_target_hosts_top500_old.txt └── sample-spark-server ├── .gitignore ├── pom.xml ├── src └── main │ └── java │ └── io │ └── parallec │ └── ebay │ └── server │ └── ParallecSparkServer.java └── userdata └── keepthisfile /.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | 3 | # Mobile Tools for Java (J2ME) 4 | .mtj.tmp/ 5 | 6 | # Package Files # 7 | *.jar 8 | *.war 9 | *.ear 10 | 11 | application.log* 12 | 13 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 14 | hs_err_pid* 15 | /target/ 16 | 17 | .DS_Store 18 | 19 | #elastic data 20 | data/ 21 | 22 | #parallec log 23 | parallec_logs/* 24 | !parallec_logs/keepthisfile 25 | 26 | #user data 27 | userdata/* 28 | !userdata/keepthisfile 29 | 30 | !userdata/tasklogs 31 | userdata/tasklogs/* 32 | !userdata/tasklogs/keepthisfile 33 | !userdata/sample_target* 34 | *.jks 35 | *.pem 36 | 37 | #mkdown 38 | .*.md.html 39 | 40 | /.settings/ 41 | .classpath 42 | .project 43 | /bin/ 44 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contributing to Eagle 2 | 3 | Contributions via GitHub pull requests are gladly accepted from their original 4 | author. Along with any pull requests, please state that the contribution is 5 | your original work and that you license the work to the project under the 6 | project's open source license. Whether or not you state this explicitly, by 7 | submitting any copyrighted material via pull request, email, or other means 8 | you agree to license the material under the project's open source license and 9 | warrant that you have the legal authority to do so. 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Parallec-logo 2 | 3 | - [Sample Applications](#sample-apps) 4 | - [Sample Spark Server](#sample-spark-server) 5 | 6 | ##Parallec Sample Applications 7 | ------ 8 | Sample Applications demonstrate how to use [parallec.io](http://www.parallec.io) library, such as aggregate APIs and publish to Elastic Search and Kafka. 9 | 10 | Each file is independent with a main function and can be run directly. (TCP/HTTP Async API requires the sample HTTP/TCP servers to start in advance. Sample servers included here are independent executable files too). 11 | 12 | **More comprehensive examples** are available in the [test cases](https://github.com/eBay/parallec/tree/master/src/test/java/io/parallec/core). Such as cancel tasks. Capacity aware scheduler and etc. 13 | 14 | | Sample App Location | Overview | 15 | |:-------------------:|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 16 | | [HTTP](https://github.com/eBay/parallec-samples/tree/master/sample-apps/src/main/java/io/parallec/sample/app/http) | Basic Http. Handle Async APIs with auto progress polling. Asyn run Parallel Task with progress polling. Result aggregation. Provided a sample HttpServer will async job submission/polling API to test with. Send to elastic search. Request template with variable replacements. | 17 | | [SSH](https://github.com/eBay/parallec-samples/tree/master/sample-apps/src/main/java/io/parallec/sample/app/ssh) | Sample Parallel SSH. Need to input the userName, ip, then [password / keyfile path]. Tested with EC2 instance in AWS. | 18 | | [PING](https://github.com/eBay/parallec-samples/tree/master/sample-apps/src/main/java/io/parallec/sample/app/ping) | Sample Parallel Ping App. | 19 | | [TCP](https://github.com/eBay/parallec-samples/tree/master/sample-apps/src/main/java/io/parallec/sample/app/tcp) | Sample Parallel TCP app. Includes a sample [TCP Echo Server](https://github.com/eBay/parallec-samples/blob/master/sample-apps/src/main/java/io/parallec/sample/app/tcp/sampleserver/TcpEchoServer.java) to test with. | 20 | 21 | ####HTTP 22 | - Basic [HttpBasicMinimumApp.java](https://github.com/eBay/parallec-samples/blob/master/sample-apps/src/main/java/io/parallec/sample/app/http/HttpBasicMinimumApp.java): 10 lines minimum example of hitting 3 websites. 23 | 24 | - Async [HttpBasicAsyncRunProgressPollingApp.java](https://github.com/eBay/parallec-samples/blob/master/sample-apps/src/main/java/io/parallec/sample/app/http/HttpBasicAsyncRunProgressPollingApp.java): Use **async mode** to run a parallel task, and then **poll the progress** and show an aggregation on status code. 25 | 26 | - Aggregate to **Elastic Search** [Http100WebAggregateToElasticSearchApp.java](https://github.com/eBay/parallec-samples/blob/master/sample-apps/src/main/java/io/parallec/sample/app/http/Http100WebAggregateToElasticSearchApp.java): Hitting 100 common websites to get these status code to elastic search, and visualized in Kibana in 20 lines. Usage of response context to pass elastic search client [demo video](https://www.youtube.com/watch?v=QcavegPMDms) 27 | 28 | - Aggregate to **Kafka** [Http100WebAggregateToKafkaApp.java](https://github.com/eBay/parallec-samples/blob/master/sample-apps/src/main/java/io/parallec/sample/app/http/Http100WebAggregateToKafkaApp.java): Hitting 100 common websites to get these status code to kafka. Usage of response context to pass kafka client. You may use the included Kafka Receiver to validated. Check pom.xml to see which version of kafka we use. Simple fork this and change HOSTNAME to point to your kafka server to work. Have tested with our kafka server and receiver. 29 | 30 | - Filter Response with Regular Expression [Http3WebAgrregateToElasticSearchMinApp.java](https://github.com/eBay/parallec-samples/blob/master/sample-apps/src/main/java/io/parallec/sample/app/http/Http3WebAgrregateToElasticSearchMinApp.java): Usage of FilterRegex. 31 | 32 | - **Request Template** [HttpDiffRequestsDiffServersApp.java](https://github.com/eBay/parallec-samples/blob/master/sample-apps/src/main/java/io/parallec/sample/app/http/HttpDiffRequestsDiffServersApp.java): Different requests to different target URLs. Request template. 33 | - Request Template [HttpDiffRequestsSameServerApp.java](https://github.com/eBay/parallec-samples/blob/master/sample-apps/src/main/java/io/parallec/sample/app/http/HttpDiffRequestsSameServerApp.java): Different requests to same target server. Request template. setReplaceVarMapToSingleTargetSingleVar(). 34 | 35 | - **Auto Progress Polling and Async APIs** [HttpAsyncApiPollableJob.java](https://github.com/eBay/parallec-samples/blob/master/sample-apps/src/main/java/io/parallec/sample/app/http/HttpAsyncApiPollableJob.java): demos to handle async APIs with auto progress polling. Task level concurrency control. (require starts the [Sample Web Server with Async API](https://github.com/eBay/parallec-samples/blob/master/sample-apps/src/main/java/io/parallec/sample/app/http/sampleserver/HttpServerSampleAsyncApiWithPollableJob.java) first) 36 | 37 | ####Set Target Hosts 38 | Please refer to the documentation to set target hosts differently. 39 | 40 | ###Usage 41 | 42 | You may simple fork the project, or copy and paste indivisual files after getting the correct dependencies 43 | 44 | Maven 45 | 46 | ```xml 47 | 48 | io.parallec 49 | parallec-core 50 | 0.9.3 51 | 52 | ``` 53 | 54 | Gradle 55 | 56 | ```xml 57 | compile 'io.parallec:parallec-core:0.9.3' 58 | ``` 59 | 60 | 61 | #####Screenshots 62 | 63 | Executing [Http3WebAgrregateToElasticSearchMinApp.java](https://github.com/eBay/parallec-samples/blob/master/sample-apps/src/main/java/io/parallec/sample/app/http/Http3WebAgrregateToElasticSearchMinApp.java), visualized in Kibana. 64 | 65 | With elasticsearch-1.3.4 and kibana-3.1.2 66 | 67 | ![Screenshot](http://www.parallec.io/images/screenshots/elastic-aggre-web3.png) 68 | 69 | 70 | ##[Sample Spark Server](https://github.com/eBay/parallec-samples/blob/master/sample-spark-server/src/main/java/io/parallec/ebay/server/ParallecSparkServer.java) 71 | 72 | ------ 73 | Sample [Single File](https://github.com/eBay/parallec-samples/blob/master/sample-spark-server/src/main/java/io/parallec/ebay/server/ParallecSparkServer.java) Web Server in Spark with Parallec . Require JDK 1.8+ due to Spark server. 74 | 75 | - SparkServer: http://sparkjava.com 76 | 77 | ####Build & Run 78 | ######Build: 79 | 80 | Fork the project and run: 81 | 82 | mvn clean compile assembly:single 83 | 84 | ######Run: 85 | In folder: parallec-samples/sample-spark-server/target: (if not conduct ping, no need of sudo) 86 | 87 | sudo java -jar parallec-sample-spark-server-0.9.0-jar-with-dependencies.jar 88 | 89 | 90 | #### Server APIs 91 | 92 | The APIs tries to get target hosts from a local file in the same path. 93 | 94 | ``` 95 | get("/http/:filename" 96 | get("/ssh/:filename/:concurrency/:showDetail" 97 | ``` 98 | 99 | targetHostFile location: 100 | 101 | - If in IDE, put into the same folder as the pom.xml. 102 | - If run as jar. just same folder as the executable jar file. 103 | 104 | APIs: 105 | 106 | - localhost:4567/ssh/targetHostFile/200/true (require update login user/password) 107 | - localhost:4567/ping/targetHostFile ; need root 108 | - localhost:4567/http/targetHostFile : use elastic search 109 | 110 | ######Sample Output 111 | 112 | http://localhost:4567/http/targetHostFile 113 | 114 | 115 | 116 | ``` 117 | Parallec: completed HTTP and sent to elastic search 118 | :3 Servers in 0.575 seconds. Results: Results: [200 OK COUNT: 3 ]: 119 | www.parallec.io 120 | www.jeffpei.com 121 | www.ebay.com 122 | ################################### 123 | 124 | At 2015.11.01.10.15.47.398-0800 125 | ``` 126 | 127 | Thanks for trying Parallec.io. Please submit a git issue for any questions you have. 128 | 129 | ## Author and Contributors 130 | #### Original Author 131 | Yuanteng (Jeff) Pei 132 | 133 | #### Contributors 134 | 135 | Your name here 136 | 137 | ## Licenses 138 | 139 | Code licensed under Apache License v2.0 140 | 141 | © 2015 eBay Software Foundation 142 | 143 | 144 | 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /sample-apps/.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | 3 | # Mobile Tools for Java (J2ME) 4 | .mtj.tmp/ 5 | 6 | # Package Files # 7 | *.jar 8 | *.war 9 | *.ear 10 | 11 | application.log* 12 | 13 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 14 | hs_err_pid* 15 | /target/ 16 | 17 | .DS_Store 18 | 19 | #elastic data 20 | data/ 21 | 22 | #parallec log 23 | parallec_logs/* 24 | !parallec_logs/keepthisfile 25 | 26 | #user data 27 | userdata/* 28 | !userdata/keepthisfile 29 | 30 | !userdata/tasklogs 31 | userdata/tasklogs/* 32 | !userdata/tasklogs/keepthisfile 33 | !userdata/sample_target* 34 | *.jks 35 | *.pem 36 | 37 | #mkdown 38 | .*.md.html 39 | 40 | /.settings/ 41 | .classpath 42 | .project 43 | /bin/ 44 | -------------------------------------------------------------------------------- /sample-apps/pom.xml: -------------------------------------------------------------------------------- 1 | 3 | 4.0.0 4 | io.parallec 5 | io.parallec.sample-applications 6 | 0.9.0 7 | 8 | 9 | 1.7.12 10 | 1.1.3 11 | 12 | 13 | 14 | io.parallec 15 | parallec-core 16 | 0.9.2 17 | 18 | 19 | 20 | org.apache.kafka 21 | kafka_2.10 22 | 0.8.2.1 23 | 24 | 25 | 26 | org.elasticsearch 27 | elasticsearch 28 | 1.3.4 29 | 30 | 31 | 32 | org.codehaus.groovy 33 | groovy-all 34 | 2.3.2 35 | test 36 | 37 | 38 | org.apache.lucene 39 | lucene-expressions 40 | 4.10.2 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | org.apache.maven.plugins 52 | maven-compiler-plugin 53 | 54 | 1.7 55 | 1.7 56 | 57 | 58 | 59 | 60 | 61 | 62 | eBay 63 | www.ebay.com 64 | 65 | 66 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/http/Http100WebAggregateToElasticSearchApp.java: -------------------------------------------------------------------------------- 1 | package io.parallec.sample.app.http; 2 | 3 | import static org.elasticsearch.node.NodeBuilder.nodeBuilder; 4 | import io.parallec.core.HostsSourceType; 5 | import io.parallec.core.ParallecResponseHandler; 6 | import io.parallec.core.ParallelClient; 7 | import io.parallec.core.ResponseOnSingleTask; 8 | import io.parallec.core.util.PcDateUtils; 9 | 10 | import java.util.HashMap; 11 | import java.util.Map; 12 | 13 | import org.elasticsearch.client.Client; 14 | 15 | /** 16 | * Sample results visualized in Kibana as in: 17 | * 18 | * http://www.parallec.io/images/screenshots/elastic-aggre-web100.png 19 | * 20 | * Assuming local elasticsearch-1.3.4 + kibana-3.1.2 running with default basic setup. 21 | * 22 | * Hitting 100 common websites to get these status code and visualized in Kibana 23 | * 24 | * if need to load target hosts from local 25 | * .setTargetHostsFromLineByLineText("userdata/sample_target_hosts_top100_old.txt", 26 | * HostsSourceType.LOCAL_FILE) 27 | * 28 | * @author Yuanteng (Jeff) Pei 29 | */ 30 | public class Http100WebAggregateToElasticSearchApp { 31 | 32 | public static void main(String[] args) { 33 | ParallelClient pc = new ParallelClient(); 34 | org.elasticsearch.node.Node node = nodeBuilder().node(); //elastic client initialize 35 | HashMap responseContext = new HashMap(); 36 | responseContext.put("Client", node.client()); 37 | pc.prepareHttpGet("") 38 | .setConcurrency(1000) 39 | .setTargetHostsFromLineByLineText("http://www.parallec.io/userdata/sample_target_hosts_top100_old.txt", 40 | HostsSourceType.URL) 41 | .setResponseContext(responseContext) 42 | .execute( new ParallecResponseHandler() { 43 | public void onCompleted(ResponseOnSingleTask res, 44 | Map responseContext) { 45 | Map metricMap = new HashMap(); 46 | metricMap.put("StatusCode", res.getStatusCode().replaceAll(" ", "_")); 47 | metricMap.put("LastUpdated",PcDateUtils.getNowDateTimeStrStandard()); 48 | metricMap.put("NodeGroupType", "Web100"); 49 | Client client = (Client) responseContext.get("Client"); 50 | client.prepareIndex("local", "parallec", res.getHost()).setSource(metricMap).execute(); 51 | } 52 | }); 53 | node.close(); pc.releaseExternalResources(); 54 | } 55 | 56 | 57 | } 58 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/http/Http100WebAggregateToKafkaApp.java: -------------------------------------------------------------------------------- 1 | package io.parallec.sample.app.http; 2 | 3 | import io.parallec.core.HostsSourceType; 4 | import io.parallec.core.ParallecResponseHandler; 5 | import io.parallec.core.ParallelClient; 6 | import io.parallec.core.ResponseOnSingleTask; 7 | import io.parallec.core.util.PcDateUtils; 8 | import io.parallec.core.util.PcStringUtils; 9 | 10 | import java.util.HashMap; 11 | import java.util.Map; 12 | import java.util.Properties; 13 | 14 | import org.apache.kafka.clients.producer.KafkaProducer; 15 | import org.apache.kafka.clients.producer.ProducerConfig; 16 | import org.apache.kafka.clients.producer.ProducerRecord; 17 | import org.apache.kafka.common.serialization.StringSerializer; 18 | 19 | /** 20 | * check POM to see which kafka version we use. 21 | * 22 | * Tested with the sample kafka receiver 23 | * 24 | * replace HOSTNAME before usage 25 | * 26 | * Hitting 100 common websites to get these status code and send to Kafka. 27 | * 28 | * Start the io.parallec.sample.app.http.samplekafkareceiver: KafkaReceiver to validate if this works. 29 | * 30 | * if need to load target hosts from local .setTargetHostsFromLineByLineText( 31 | * "userdata/sample_target_hosts_top100_old.txt", HostsSourceType.LOCAL_FILE) 32 | * 33 | * @author Yuanteng (Jeff) Pei 34 | */ 35 | public class Http100WebAggregateToKafkaApp { 36 | 37 | public static String serverUrl = "HOSTNAME:9092"; 38 | 39 | public static KafkaProducer generateProducer(String serverUrl) { 40 | KafkaProducer producerKafka = null; 41 | Properties props = new Properties(); 42 | props.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, serverUrl); 43 | props.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, 44 | StringSerializer.class.getName()); 45 | props.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, 46 | StringSerializer.class.getName()); 47 | producerKafka = new KafkaProducer(props); 48 | return producerKafka; 49 | } 50 | 51 | public static void main(String[] args) { 52 | ParallelClient pc = new ParallelClient(); 53 | 54 | KafkaProducer producerKafka = generateProducer(serverUrl);// kafka 55 | // client 56 | // initialize 57 | HashMap responseContext = new HashMap(); 58 | responseContext.put("producerKafka", producerKafka); 59 | pc.prepareHttpGet("") 60 | .setConcurrency(1000) 61 | .setTargetHostsFromLineByLineText( 62 | "http://www.parallec.io/userdata/sample_target_hosts_top100_old.txt", 63 | HostsSourceType.URL) 64 | .setResponseContext(responseContext) 65 | .execute(new ParallecResponseHandler() { 66 | public void onCompleted(ResponseOnSingleTask res, 67 | Map responseContext) { 68 | Map metricMap = new HashMap(); 69 | metricMap.put("StatusCode", res.getStatusCode() 70 | .replaceAll(" ", "_")); 71 | metricMap.put("LastUpdated", 72 | PcDateUtils.getNowDateTimeStrStandard()); 73 | metricMap.put("HostName", res.getHost()); 74 | metricMap.put("NodeGroupType", "Web100"); 75 | String topic = "parallec-topic"; 76 | @SuppressWarnings("unchecked") 77 | KafkaProducer producerKafka = (KafkaProducer) responseContext.get("producerKafka"); 78 | ProducerRecord producerRecord = new ProducerRecord( 79 | topic, res.getHost(), PcStringUtils.renderJson(metricMap)); 80 | producerKafka.send(producerRecord); 81 | } 82 | }); 83 | producerKafka.close(); 84 | pc.releaseExternalResources(); 85 | } 86 | 87 | } 88 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/http/Http3WebAgrregateToElasticSearchMinApp.java: -------------------------------------------------------------------------------- 1 | package io.parallec.sample.app.http; 2 | 3 | import static org.elasticsearch.node.NodeBuilder.nodeBuilder; 4 | import io.parallec.core.FilterRegex; 5 | import io.parallec.core.ParallecResponseHandler; 6 | import io.parallec.core.ParallelClient; 7 | import io.parallec.core.ResponseOnSingleTask; 8 | import io.parallec.core.util.PcDateUtils; 9 | 10 | import java.util.HashMap; 11 | import java.util.Map; 12 | 13 | import org.elasticsearch.client.Client; 14 | 15 | /** 16 | * Sample results visualized in Kibana as in: 17 | * http://www.parallec.io/images/screenshots/elastic-aggre-web3.png 18 | * 19 | * Assuming local elasticsearch-1.3.4 + kibana-3.1.2 running with default basic setup. 20 | * 21 | * hitting 22 | * http://www.parallec.io/validateInternals.html 23 | * http://www.jeffpei.com/validateInternals.html 24 | * http://www.restcommander.com/validateInternals.html 25 | * 26 | * @author Yuanteng (Jeff) Pei 27 | */ 28 | public class Http3WebAgrregateToElasticSearchMinApp { 29 | 30 | 31 | public static void main(String[] args) { 32 | 33 | ParallelClient pc = new ParallelClient(); 34 | org.elasticsearch.node.Node node = nodeBuilder().node(); //elastic client initialize 35 | HashMap responseContext = new HashMap(); 36 | responseContext.put("Client", node.client()); 37 | 38 | pc.prepareHttpGet("/validateInternals.html") 39 | .setTargetHostsFromString("www.parallec.io www.jeffpei.com www.restcommander.com") 40 | .setResponseContext(responseContext) 41 | .execute( new ParallecResponseHandler() { 42 | public void onCompleted(ResponseOnSingleTask res, 43 | Map responseContext) { 44 | String cpu = new FilterRegex(".*CPU-Usage-Percent\\s*(.*?)[\\s\\S]*") 45 | .filter(res.getResponseContent()); 46 | String memory = new FilterRegex(".*Memory-Used-KB\\s*(.*?)[\\s\\S]*") 47 | .filter(res.getResponseContent()); 48 | Map metricMap = new HashMap(); 49 | metricMap.put("CpuUsage", cpu); metricMap.put("MemoryUsage", memory); 50 | metricMap.put("LastUpdated",PcDateUtils.getNowDateTimeStrStandard()); 51 | metricMap.put("NodeGroupType", "Web3"); 52 | System.out.println("cpu:" + cpu + " host: " + res.getHost() ); 53 | Client client = (Client) responseContext.get("Client"); 54 | client.prepareIndex("local", "parallec", res.getHost()).setSource(metricMap).execute(); 55 | } 56 | }); 57 | node.close(); pc.releaseExternalResources(); 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/http/HttpAsyncApiPollableJob.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright [2013-2015] eBay Software Foundation 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | Unless required by applicable law or agreed to in writing, software 8 | distributed under the License is distributed on an "AS IS" BASIS, 9 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | See the License for the specific language governing permissions and 11 | limitations under the License. 12 | */ 13 | package io.parallec.sample.app.http; 14 | 15 | import io.parallec.core.ParallecHeader; 16 | import io.parallec.core.ParallecResponseHandler; 17 | import io.parallec.core.ParallelClient; 18 | import io.parallec.core.ParallelTask; 19 | import io.parallec.core.ResponseOnSingleTask; 20 | import io.parallec.core.actor.poll.HttpPollerProcessor; 21 | 22 | import java.util.Map; 23 | 24 | /** 25 | * The Class HttpAsyncApiPoll. 26 | * To demonstrate the Async HTTP Server 27 | * Procedure: 28 | * 29 | * 1. Start Sample HTTP server: in HttpServerSampleAsyncApiWithPollableJob first (just java run application) 30 | * 2. Run this as a java application. 31 | * 32 | * You will need to define a 33 | * 34 | */ 35 | public class HttpAsyncApiPollableJob { 36 | 37 | /** 38 | * Generate sample http poller. 39 | * 40 | * @return the http poller processor 41 | */ 42 | public static HttpPollerProcessor generateSampleHttpPoller() { 43 | 44 | // Init the poller 45 | String pollerType = "CronusAgentPoller"; 46 | String successRegex = ".*\"progress\"\\s*:\\s*(100).*}"; 47 | String failureRegex = ".*\"error\"\\s*:\\s*(.*).*}"; 48 | String jobIdRegex = ".*\"/status/(.*?)\".*"; 49 | String progressRegex = ".*\"progress\"\\s*:\\s*([0-9]*).*}"; 50 | int progressStuckTimeoutSeconds = 600; 51 | int maxPollError = 5; 52 | long pollIntervalMillis = 2000L; 53 | String jobIdPlaceHolder = "$JOB_ID"; 54 | String pollerRequestTemplate = "/status/" + jobIdPlaceHolder; 55 | 56 | HttpPollerProcessor httpPollerProcessor = new HttpPollerProcessor( 57 | pollerType, successRegex, failureRegex, jobIdRegex, 58 | progressRegex, progressStuckTimeoutSeconds, pollIntervalMillis, 59 | pollerRequestTemplate, jobIdPlaceHolder, maxPollError); 60 | 61 | return httpPollerProcessor; 62 | } 63 | 64 | /** 65 | * The main method. 66 | * 67 | * @param args the arguments 68 | */ 69 | public static void main(String [] args) { 70 | 71 | HttpPollerProcessor httpPollerProcessor = generateSampleHttpPoller(); 72 | 73 | ParallelClient pc = new ParallelClient(); 74 | 75 | ParallelTask task = pc 76 | .prepareHttpPost("/submitJob") 77 | .setHttpHeaders( 78 | new ParallecHeader().addPair("authorization", 79 | "SAMPLE_AUTH_KEY")) 80 | .setHttpPort(10080).setConcurrency(1500) 81 | .setTargetHostsFromString("localhost").setHttpPollable(true) 82 | .setHttpPollerProcessor(httpPollerProcessor) 83 | .execute(new ParallecResponseHandler() { 84 | @Override 85 | public void onCompleted(ResponseOnSingleTask res, 86 | Map responseContext) { 87 | System.out.println("getPollingHistory:" 88 | + res.getPollingHistory() + " host: " 89 | + res.getHost()); 90 | System.out.println(res.toString()); 91 | } 92 | }); 93 | System.out.println("Task Pretty Print: \n " + task.prettyPrintInfo()); 94 | pc.releaseExternalResources(); 95 | } 96 | 97 | } 98 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/http/HttpBasicAsyncRunProgressPollingApp.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright [2013-2015] eBay Software Foundation 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | Unless required by applicable law or agreed to in writing, software 8 | distributed under the License is distributed on an "AS IS" BASIS, 9 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | See the License for the specific language governing permissions and 11 | limitations under the License. 12 | */ 13 | package io.parallec.sample.app.http; 14 | 15 | import io.parallec.core.HostsSourceType; 16 | import io.parallec.core.ParallecResponseHandler; 17 | import io.parallec.core.ParallelClient; 18 | import io.parallec.core.ParallelTask; 19 | import io.parallec.core.ResponseOnSingleTask; 20 | import io.parallec.core.util.PcStringUtils; 21 | 22 | import java.util.Map; 23 | 24 | /** 25 | * The app that use async mode to run a parallel task, and then poll the progress 26 | * and show an aggregation 27 | */ 28 | public class HttpBasicAsyncRunProgressPollingApp { 29 | 30 | /** 31 | * The main method. 32 | * 33 | * @param args the arguments 34 | */ 35 | public static void main(String[] args) { 36 | 37 | ParallelClient pc = new ParallelClient(); 38 | 39 | ParallelTask task = pc.prepareHttpGet("").async() 40 | .setConcurrency(500) 41 | .setTargetHostsFromLineByLineText("http://www.parallec.io/userdata/sample_target_hosts_top100_old.txt", 42 | HostsSourceType.URL) 43 | .execute(new ParallecResponseHandler() { 44 | public void onCompleted(ResponseOnSingleTask res, 45 | Map responseContext) { 46 | System.out.println("Responose Code:" 47 | + res.getStatusCode() + " host: " 48 | + res.getHost()); 49 | } 50 | }); 51 | 52 | while (!task.isCompleted()) { 53 | try { 54 | Thread.sleep(100L); 55 | System.err.println(String.format( 56 | "POLL_JOB_PROGRESS (%.5g%%) PT jobid: %s", 57 | task.getProgress(), task.getTaskId())); 58 | pc.logHealth(); 59 | } catch (InterruptedException e) { 60 | e.printStackTrace(); 61 | } 62 | } 63 | 64 | System.out 65 | .println("Result Summary\n " 66 | + PcStringUtils.renderJson(task 67 | .getAggregateResultFullSummary())); 68 | 69 | System.out 70 | .println("Result Brief Summary\n " 71 | + PcStringUtils.renderJson(task 72 | .getAggregateResultCountSummary())); 73 | pc.releaseExternalResources(); 74 | } 75 | } 76 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/http/HttpBasicMinimumApp.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright [2013-2015] eBay Software Foundation 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | Unless required by applicable law or agreed to in writing, software 8 | distributed under the License is distributed on an "AS IS" BASIS, 9 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | See the License for the specific language governing permissions and 11 | limitations under the License. 12 | */ 13 | package io.parallec.sample.app.http; 14 | 15 | import io.parallec.core.ParallecResponseHandler; 16 | import io.parallec.core.ParallelClient; 17 | import io.parallec.core.ResponseOnSingleTask; 18 | 19 | import java.util.Map; 20 | 21 | /** 22 | * The Class HttpBasicMinimumApp. 23 | * With basic response handling. 24 | * Does not use response context 25 | */ 26 | public class HttpBasicMinimumApp { 27 | 28 | /** 29 | * The main method. 30 | * 31 | * @param args the arguments 32 | */ 33 | public static void main(String[] args) { 34 | 35 | ParallelClient pc = new ParallelClient(); 36 | pc.prepareHttpGet("") 37 | .setConcurrency(1000) 38 | .setTargetHostsFromString( 39 | "www.parallec.io www.jeffpei.com www.restcommander.com") 40 | .execute(new ParallecResponseHandler() { 41 | public void onCompleted(ResponseOnSingleTask res, 42 | Map responseContext) { 43 | System.out.println(res.getResponseContent()); 44 | } 45 | }); 46 | pc.releaseExternalResources(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/http/HttpDiffRequestsDiffServersApp.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright [2013-2015] eBay Software Foundation 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | Unless required by applicable law or agreed to in writing, software 8 | distributed under the License is distributed on an "AS IS" BASIS, 9 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | See the License for the specific language governing permissions and 11 | limitations under the License. 12 | */ 13 | package io.parallec.sample.app.http; 14 | 15 | import io.parallec.core.FilterRegex; 16 | import io.parallec.core.ParallecResponseHandler; 17 | import io.parallec.core.ParallelClient; 18 | import io.parallec.core.ResponseOnSingleTask; 19 | import io.parallec.core.bean.StrStrMap; 20 | 21 | import java.util.HashMap; 22 | import java.util.Map; 23 | 24 | 25 | /** 26 | * Different requests to different target URLs. 27 | * Extract out the progress with 3 different APIs 28 | * http://www.parallec.io/job_a.html 29 | * http://www.jeffpei.com/job_b.html 30 | * http://www.restsuperman.com/job_c.html 31 | * 32 | */ 33 | public class HttpDiffRequestsDiffServersApp { 34 | 35 | /** 36 | * @param args 37 | * the arguments 38 | */ 39 | public static void main(String[] args) { 40 | 41 | ParallelClient pc = new ParallelClient(); 42 | Map replacementVarMapNodeSpecific = new HashMap(); 43 | replacementVarMapNodeSpecific.put("www.parallec.io", 44 | new StrStrMap().addPair("JOB_ID", "job_a")); 45 | replacementVarMapNodeSpecific.put("www.jeffpei.com", 46 | new StrStrMap().addPair("JOB_ID", "job_b")); 47 | replacementVarMapNodeSpecific.put("www.restcommander.com", 48 | new StrStrMap().addPair("JOB_ID", "job_c")); 49 | 50 | pc.prepareHttpGet("/$JOB_ID.html") 51 | .setTargetHostsFromString( 52 | "www.parallec.io www.jeffpei.com www.restcommander.com") 53 | .setReplacementVarMapNodeSpecific(replacementVarMapNodeSpecific) 54 | .execute(new ParallecResponseHandler() { 55 | public void onCompleted(ResponseOnSingleTask res, 56 | Map responseContext) { 57 | String extractedString = new FilterRegex( 58 | ".*JobProgress\\s*(.*?).*") 59 | .filter(res.getResponseContent()); 60 | System.out.println("[Extracted String]: progress:" 61 | + extractedString + " host: " + res.getHost()); 62 | //System.out.println(res.toString()); 63 | } 64 | }); 65 | 66 | pc.releaseExternalResources(); 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/http/HttpDiffRequestsSameServerApp.java: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright [2013-2015] eBay Software Foundation 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | http://www.apache.org/licenses/LICENSE-2.0 7 | Unless required by applicable law or agreed to in writing, software 8 | distributed under the License is distributed on an "AS IS" BASIS, 9 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 10 | See the License for the specific language governing permissions and 11 | limitations under the License. 12 | */ 13 | package io.parallec.sample.app.http; 14 | 15 | import io.parallec.core.FilterRegex; 16 | import io.parallec.core.ParallecResponseHandler; 17 | import io.parallec.core.ParallelClient; 18 | import io.parallec.core.ResponseOnSingleTask; 19 | 20 | import java.util.Arrays; 21 | import java.util.HashMap; 22 | import java.util.Map; 23 | 24 | import org.apache.http.util.Asserts; 25 | 26 | /** 27 | * 28 | * Example of sending Different requests to same target server. note that the target host must 29 | * match the key: e.g. hitting 30 | * http://www.parallec.io/userdata/sample_weather_48824.txt 31 | * http://www.parallec.io/userdata/sample_weather_95037.txt 32 | * 33 | * You may fire thousands of APIs to the same server in this way. 34 | * 35 | * This is the easiest way to conduct variable replacement (only 1 variable) 36 | * more complex examples are in the test cases: 37 | * https://github.com/eBay/parallec/blob/master/src/test/java/io/parallec/core/ 38 | * main/http/request/template/ParallelClientVarReplacementHostSpecificTest.java 39 | * 40 | */ 41 | public class HttpDiffRequestsSameServerApp { 42 | 43 | public static void main(String[] args) { 44 | 45 | ParallelClient pc = new ParallelClient(); 46 | 47 | Map responseContext = new HashMap(); 48 | responseContext.put("temp", null); 49 | 50 | pc.prepareHttpGet("/userdata/sample_weather_$ZIP.txt") 51 | .setReplaceVarMapToSingleTargetSingleVar("ZIP", 52 | Arrays.asList("95037","48824"), "www.parallec.io") 53 | .setResponseContext(responseContext) 54 | .execute(new ParallecResponseHandler() { 55 | public void onCompleted(ResponseOnSingleTask res, 56 | Map responseContext) { 57 | String temp = new FilterRegex("(.*)").filter(res 58 | .getResponseContent()); 59 | System.out.println("\n!!Temperature: " + temp 60 | + " TargetHost: " + res.getHost()); 61 | responseContext.put("temp", temp); 62 | } 63 | }); 64 | 65 | int tempGlobal = Integer.parseInt((String) responseContext.get("temp")); 66 | Asserts.check( 67 | tempGlobal <= 100 && tempGlobal >= 0, 68 | " Fail to extract output from sample weather API. Fail different request to same server test"); 69 | 70 | pc.releaseExternalResources(); 71 | 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/http/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | /** 5 | * @author Yuanteng (Jeff) Pei 6 | * 7 | */ 8 | package io.parallec.sample.app.http; -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/http/samplekafkareceiver/KafkaReceiver.java: -------------------------------------------------------------------------------- 1 | package io.parallec.sample.app.http.samplekafkareceiver; 2 | 3 | 4 | import java.util.HashMap; 5 | import java.util.List; 6 | import java.util.Map; 7 | import java.util.Properties; 8 | 9 | import kafka.consumer.Consumer; 10 | import kafka.consumer.ConsumerIterator; 11 | import kafka.consumer.KafkaStream; 12 | import kafka.javaapi.consumer.ConsumerConnector; 13 | 14 | /** 15 | * 16 | * Simple Kafka receiver to validate Parallec kafka producer logic. 17 | * tested. replace HOSTNAME before use. 18 | * 19 | * Check pom for the kafka version. 20 | * 21 | * http://kafka.apache.org/documentation.html 22 | * @author Yuanteng (Jeff) Pei 23 | * 24 | */ 25 | public class KafkaReceiver { 26 | 27 | public static void main(String args[]) { 28 | 29 | Properties props = new Properties(); 30 | props.put("zookeeper.connect", "HOSTNAME:2181"); 31 | props.put("bootstrap.servers", "HOSTNAME:9092"); 32 | props.put("group.id", "test"); 33 | props.put("partition.assignment.strategy", "roundrobin"); 34 | props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); 35 | props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer"); 36 | 37 | String topicId="parallec-topic"; 38 | 39 | kafka.consumer.ConsumerConfig consumerConfig = new kafka.consumer.ConsumerConfig(props); 40 | 41 | ConsumerConnector consumerConnector = Consumer.createJavaConsumerConnector(consumerConfig); 42 | Map topicCountMap = new HashMap(); 43 | topicCountMap.put(topicId, 1); 44 | Map>> consumerMap = consumerConnector.createMessageStreams(topicCountMap); 45 | 46 | List> streamList = consumerMap.get(topicId); 47 | 48 | KafkaStream stream = streamList.get(0); 49 | 50 | ConsumerIterator iterator = stream.iterator(); 51 | while(iterator.hasNext()) { 52 | System.err.println("\nKafka Subscriber received event: "); 53 | System.out.println(new String(iterator.next().message())); 54 | } 55 | 56 | } 57 | 58 | 59 | 60 | } 61 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/http/samplekafkareceiver/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | /** 5 | * @author ypei 6 | * 7 | */ 8 | package io.parallec.sample.app.http.samplekafkareceiver; -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/http/sampleserver/HttpServerSampleAsyncApiWithPollableJob.java: -------------------------------------------------------------------------------- 1 | package io.parallec.sample.app.http.sampleserver; 2 | 3 | import java.io.IOException; 4 | import java.util.Date; 5 | import java.util.Map; 6 | import java.util.UUID; 7 | import java.util.concurrent.ConcurrentHashMap; 8 | import java.util.logging.Logger; 9 | 10 | import fi.iki.elonen.NanoHTTPD; 11 | import fi.iki.elonen.NanoHTTPD.Response.Status; 12 | 13 | /** 14 | * Sample HTTP Server (like a mini tomcat, runs at port 10080 will run forever until being killed) 15 | * 16 | * Accept APIs 1. POST: /submitJob; 2. GET: /status/$JOB_ID ; 3. GET /testHeaders to 17 | * log "sample" keyvalue in header 18 | * 19 | * note that the job map will never be clean up until it reaches 8192 20 | * 21 | * if request is submit a job: 1. submit job POST: /submitJob return: {"status": 22 | * "/status/01218499-a5fe-47cf-a0a8-8e9b106c5219", "progress": 0} 23 | * 24 | * 2. poll progress GET: /status/{JobID} 25 | * 26 | * @author Yuanteng (Jeff) Pei 27 | * 28 | */ 29 | public class HttpServerSampleAsyncApiWithPollableJob extends NanoHTTPD { 30 | 31 | public static String AUTH_KEY = "SAMPLE_AUTH_KEY"; 32 | private static Logger logger = Logger 33 | .getLogger(HttpServerSampleAsyncApiWithPollableJob.class.getName()); 34 | public static final int PORT = 10080; 35 | 36 | public HttpServerSampleAsyncApiWithPollableJob() throws IOException { 37 | super(PORT); 38 | logger.info("Try to start nano server. make sure port " + PORT 39 | + " is not used!"); 40 | start(); 41 | 42 | logger.info("\nWeb Server with Pollable Jobs Running! \n" 43 | + "Accept 1. POST: /submitJob; 2. GET: /status/$JOB_ID s\n" 44 | + "Point your browers to http://localhost:10080/ \n"); 45 | } 46 | 47 | public static void main(String[] args) { 48 | try { 49 | new HttpServerSampleAsyncApiWithPollableJob(); 50 | while (true) { 51 | ; 52 | } 53 | } catch (IOException ioe) { 54 | System.err.println("Couldn't start server:\n" + ioe); 55 | } 56 | } 57 | 58 | public static Map jobMap = new ConcurrentHashMap(); 59 | 60 | public final int MAX_JOB_SIZE = 8192; 61 | 62 | public synchronized NanoJob addJob() { 63 | 64 | if (jobMap.size() >= MAX_JOB_SIZE) { 65 | logger.info("jobMap too large. clean up"); 66 | jobMap.clear(); 67 | } 68 | 69 | NanoJob job = new NanoJob(); 70 | jobMap.put(job.getJobId(), job); 71 | 72 | return job; 73 | } 74 | 75 | @Override 76 | public Response serve(IHTTPSession session) { 77 | String msg = "

Hello server

\n"; 78 | String msgUnauthorized = "

Unauthorized

\n"; 79 | Method method = session.getMethod(); 80 | String uri = session.getUri(); 81 | 82 | logger.info("GET REQ: Method " + method + " URL: " + uri); 83 | 84 | if (method == Method.POST && uri.contains("submitJob")) { 85 | 86 | // careful authorization may change to lower case 87 | if ((session.getHeaders().containsKey("authorization") && session 88 | .getHeaders().get("authorization") 89 | .equalsIgnoreCase(AUTH_KEY))) { 90 | 91 | NanoJob job = addJob(); 92 | 93 | msg = "{\"status\": \"/status/" + job.getJobId() 94 | + "\", \"progress\": 0}"; 95 | logger.info("SERVER_RESPONSE_200: " + msg); 96 | return new fi.iki.elonen.NanoHTTPD.Response(Status.OK, 97 | "application/json", msg); 98 | } else { 99 | logger.info("SERVER_RESPONSE_401: " + msg); 100 | return new fi.iki.elonen.NanoHTTPD.Response( 101 | Status.UNAUTHORIZED, "application/json", 102 | msgUnauthorized); 103 | } 104 | 105 | } else if (method == Method.GET && uri.contains("/status/")) { 106 | 107 | // poll progress 108 | String jobId = uri.replace("/status/", ""); 109 | NanoJob pollJob = jobMap.get(jobId); 110 | if (pollJob == null) { 111 | msg = "{\"status\": \"/status/" + jobId 112 | + "\", \"errorMsg\": \"job not found\"}"; 113 | logger.info("SERVER_RESPONSE_404: " + msg); 114 | return new fi.iki.elonen.NanoHTTPD.Response(Status.NOT_FOUND, 115 | "application/json", msg); 116 | } else { 117 | pollJob.makeProgress(); 118 | msg = "{\"status\": \"/status/" + jobId + "\", \"progress\": " 119 | + pollJob.getProgress() + "}"; 120 | logger.info("SERVER_RESPONSE_200: " + msg); 121 | return new fi.iki.elonen.NanoHTTPD.Response(Status.OK, 122 | "application/json", msg); 123 | } 124 | 125 | } else if (method == Method.GET && uri.contains("/testHeaders")) { 126 | 127 | if (session.getHeaders().containsKey("sample")) { 128 | logger.info("Sample Header value {}: " 129 | + session.getHeaders().get("sample")); 130 | 131 | msg = session.getHeaders().get("sample"); 132 | logger.info("SERVER_RESPONSE_200: " + msg); 133 | return new fi.iki.elonen.NanoHTTPD.Response(Status.OK, 134 | "application/json", msg); 135 | 136 | } 137 | 138 | }// end else 139 | msg = "{ \"errorMsg\": \"bad request. Accept 1. POST: /submitJob; 2. GET: /status/$JOB_ID \"}"; 140 | return new fi.iki.elonen.NanoHTTPD.Response(Status.BAD_REQUEST, 141 | "application/json", msg); 142 | 143 | } 144 | 145 | public static class NanoJob { 146 | 147 | private String jobId; 148 | private int progress; 149 | 150 | private Date startTime; 151 | 152 | public void makeProgress() { 153 | 154 | Date currentTime = new Date(); 155 | int seconds = (int) ((currentTime.getTime() - startTime.getTime()) / 1000L); 156 | 157 | if (seconds >= 10) 158 | progress = 100; 159 | else 160 | progress = (int) seconds * 10; 161 | 162 | } 163 | 164 | public String getJobId() { 165 | return jobId; 166 | } 167 | 168 | public void setJobId(String jobId) { 169 | this.jobId = jobId; 170 | } 171 | 172 | public int getProgress() { 173 | return progress; 174 | } 175 | 176 | public void setProgress(int progress) { 177 | this.progress = progress; 178 | } 179 | 180 | public NanoJob(String jobId, int progress) { 181 | super(); 182 | this.jobId = jobId; 183 | this.progress = progress; 184 | this.startTime = new Date(); 185 | } 186 | 187 | public NanoJob() { 188 | super(); 189 | this.jobId = UUID.randomUUID().toString(); 190 | this.progress = 0; 191 | this.startTime = new Date(); 192 | } 193 | } 194 | 195 | } 196 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/http/sampleserver/package-info.java: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @author Yuanteng (Jeff) Pei 4 | * 5 | */ 6 | package io.parallec.sample.app.http.sampleserver; -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | /** 5 | * @author Yuanteng (Jeff) Pei 6 | * 7 | */ 8 | package io.parallec.sample.app; -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/ping/Ping100WebApp.java: -------------------------------------------------------------------------------- 1 | package io.parallec.sample.app.ping; 2 | 3 | import io.parallec.core.HostsSourceType; 4 | import io.parallec.core.ParallecResponseHandler; 5 | import io.parallec.core.ParallelClient; 6 | import io.parallec.core.ParallelTask; 7 | import io.parallec.core.ResponseOnSingleTask; 8 | import io.parallec.core.bean.ping.PingMode; 9 | import io.parallec.core.util.PcStringUtils; 10 | 11 | import java.util.Map; 12 | 13 | /** 14 | * Notice default ping mode is INET_ADDRESS_REACHABLE_NEED_ROOT 15 | * which requires **ROOT permission** for accurate results in ICMP. 16 | * 17 | * @author Yuanteng (Jeff) Pei 18 | * 19 | */ 20 | public class Ping100WebApp { 21 | 22 | public static void main(String[] args) { 23 | ParallelClient pc = new ParallelClient(); 24 | ParallelTask task = pc.preparePing().setConcurrency(1500) 25 | .setTargetHostsFromLineByLineText("http://www.parallec.io/userdata/sample_target_hosts_top100_old.txt", 26 | HostsSourceType.URL) 27 | .setPingMode(PingMode.INET_ADDRESS_REACHABLE_NEED_ROOT) 28 | .setPingNumRetries(1) 29 | .setPingTimeoutMillis(500) 30 | .execute(new ParallecResponseHandler() { 31 | public void onCompleted(ResponseOnSingleTask res, 32 | Map responseContext) { 33 | System.out.println(res.toString()); 34 | } 35 | }); 36 | 37 | System.out.println("Task Pretty Print: \n" + 38 | PcStringUtils.renderJson(task.getAggregateResultCountSummary())); 39 | System.out.println("Total Duration: " + task.getDurationSec()); 40 | pc.releaseExternalResources(); 41 | }// end func 42 | } 43 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/ping/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | /** 5 | * @author Yuanteng (Jeff) Pei 6 | * 7 | */ 8 | package io.parallec.sample.app.ping; -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/ssh/SshApp.java: -------------------------------------------------------------------------------- 1 | package io.parallec.sample.app.ssh; 2 | 3 | import io.parallec.core.ParallecResponseHandler; 4 | import io.parallec.core.ParallelClient; 5 | import io.parallec.core.ResponseOnSingleTask; 6 | import io.parallec.core.bean.ssh.SshLoginType; 7 | 8 | import java.util.Map; 9 | 10 | /** 11 | * Instruction: 12 | * put the correct ip address, username, [key/password] 13 | * then try it 14 | * 15 | * tested with AWS Ec2 instance key/passwd 16 | * @author Yuanteng (Jeff) Pei 17 | * 18 | */ 19 | public class SshApp { 20 | 21 | public static String vmIp = "1.2.3.4"; 22 | public static String userName = "yourusername"; 23 | public static String password = "yourpassword"; 24 | public static String privKeyRelativePath = "userdata/your-vm-keys.pem"; 25 | public static void main(String[] args) { 26 | sshVmWithPassword(); 27 | //sshVmWithKey(); 28 | }// end func 29 | public static void sshVmWithKey() { 30 | 31 | ParallelClient pc = new ParallelClient(); 32 | pc.prepareSsh().setConcurrency(150) 33 | .setTargetHostsFromString(vmIp) 34 | .setSshLoginType(SshLoginType.KEY) 35 | .setSshUserName(userName) 36 | .setSshPrivKeyRelativePath(privKeyRelativePath) 37 | .setSshCommandLine("df -h; hostname -f; date; ") 38 | .execute(new ParallecResponseHandler() { 39 | public void onCompleted(ResponseOnSingleTask res, 40 | Map responseContext) { 41 | System.out.println("Responose:" + res.toString() + " host: " 42 | + res.getHost() + " errmsg: " 43 | + res.getErrorMessage()); 44 | } 45 | }); 46 | pc.releaseExternalResources(); 47 | } 48 | 49 | public static void sshVmWithPassword() { 50 | 51 | ParallelClient pc = new ParallelClient(); 52 | pc.prepareSsh().setConcurrency(150) 53 | .setTargetHostsFromString(vmIp) 54 | .setSshCommandLine("df -h; hostname -f; date; ") 55 | .setSshUserName(userName) 56 | .setSshPassword(password) 57 | 58 | .execute(new ParallecResponseHandler() { 59 | 60 | @Override 61 | public void onCompleted(ResponseOnSingleTask res, 62 | Map responseContext) { 63 | System.out.println("Responose:" + res.toString() + " host: " 64 | + res.getHost() + " errmsg: " 65 | + res.getErrorMessage()); 66 | } 67 | }); 68 | pc.releaseExternalResources(); 69 | } 70 | 71 | 72 | } 73 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/ssh/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | /** 5 | * @author Yuanteng (Jeff) Pei 6 | * 7 | */ 8 | package io.parallec.sample.app.ssh; -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/tcp/TcpApp.java: -------------------------------------------------------------------------------- 1 | package io.parallec.sample.app.tcp; 2 | 3 | import io.parallec.core.ParallecResponseHandler; 4 | import io.parallec.core.ParallelClient; 5 | import io.parallec.core.ResponseOnSingleTask; 6 | 7 | import java.util.Map; 8 | 9 | /** 10 | * requirement: first run Sample TCP Echo Server on port 10081 11 | * in package io.parallec.sample.app.tcp.sampleserver. 12 | * 13 | * Then run this app 14 | * @author Yuanteng (Jeff) Pei 15 | * 16 | */ 17 | public class TcpApp { 18 | 19 | public static void main(String[] args) { 20 | ParallelClient pc = new ParallelClient(); 21 | pc.prepareTcp("requestMonitor") 22 | .setTargetHostsFromString("localhost") 23 | .setTcpPort(10081) 24 | .execute(new ParallecResponseHandler() { 25 | public void onCompleted(ResponseOnSingleTask res, 26 | Map responseContext) { 27 | System.out.println("Responose:" + res.getResponseContent() + " host: " 28 | + res.getHost() + " errmsg: " 29 | + res.getErrorMessage()); 30 | } 31 | }); 32 | pc.releaseExternalResources(); 33 | }// end func 34 | } 35 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/tcp/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | /** 5 | * @author Yuanteng (Jeff) Pei 6 | * 7 | */ 8 | package io.parallec.sample.app.tcp; -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/tcp/sampleserver/TcpEchoServer.java: -------------------------------------------------------------------------------- 1 | package io.parallec.sample.app.tcp.sampleserver; 2 | 3 | /** 4 | * Sample TCP Echo Server on port 10081. 5 | * will echo back 3 lines of response that include the request string, 6 | * then auto close the connection 7 | */ 8 | 9 | import java.io.BufferedReader; 10 | import java.io.IOException; 11 | import java.io.InputStreamReader; 12 | import java.io.PrintWriter; 13 | import java.net.ServerSocket; 14 | import java.net.Socket; 15 | 16 | import org.slf4j.Logger; 17 | import org.slf4j.LoggerFactory; 18 | 19 | public class TcpEchoServer { 20 | 21 | protected static final Logger logger = LoggerFactory 22 | .getLogger(TcpEchoServer.class); 23 | 24 | private ServerSocket serverSocket; 25 | private int port = 10081; 26 | 27 | private boolean idle; 28 | 29 | public TcpEchoServer(boolean idle) { 30 | try { 31 | 32 | this.idle = idle; 33 | 34 | setServer(new ServerSocket(port)); 35 | } catch (Exception ex) { 36 | System.err.println("Could not listen on port: " + port); 37 | } 38 | } 39 | 40 | 41 | public static void main(String[] args) { 42 | try { 43 | TcpEchoServer server = new TcpEchoServer(false); 44 | server.serve(); 45 | 46 | 47 | } catch (Exception e) { 48 | System.err.println("Couldn't start server:\n" + e); 49 | } 50 | } 51 | 52 | public void stop() { 53 | try{ 54 | 55 | serverSocket.close(); 56 | }catch(Exception e){ 57 | logger.error("error in stop server socket ", e); 58 | } 59 | } 60 | 61 | public void serve() throws IOException { 62 | 63 | Socket clientSocket = null; 64 | try { 65 | while (true) { 66 | 67 | System.out.println("TCP Echo Server Started on port " 68 | +port 69 | + " . \nWaiting for connection....."); 70 | clientSocket = serverSocket.accept(); 71 | logger.info("Client Connection successful"); 72 | logger.info("Waiting for input....."); 73 | 74 | PrintWriter out = new PrintWriter( 75 | clientSocket.getOutputStream(), true); 76 | BufferedReader in = new BufferedReader(new InputStreamReader( 77 | clientSocket.getInputStream())); 78 | 79 | String inputLine; 80 | //just read 1 single line then auto close 81 | if ((inputLine = in.readLine()) != null) { 82 | logger.info("Server: " + inputLine); 83 | 84 | for(int i=1; i<=3; i++){ 85 | String msg ="L: "+i+ " " +inputLine +" AT_TCP_SERVER "; 86 | out.println(msg); 87 | logger.info(msg); 88 | } 89 | 90 | } 91 | //whether to close after a single request. 92 | // the interrupt is critical otherwise cannot easily shutdown 93 | if(!this.idle) { 94 | out.close(); 95 | clientSocket.close(); 96 | in.close(); 97 | }else{ 98 | Thread.sleep(1000L); 99 | } 100 | 101 | } 102 | 103 | } catch (IOException | InterruptedException e) { 104 | logger.error("Exception in echo server. " 105 | + "\nExpected when shutdown. {}", e.getLocalizedMessage()); 106 | } finally{ 107 | if(serverSocket!=null && !serverSocket.isClosed()) 108 | serverSocket.close(); 109 | 110 | } 111 | 112 | } 113 | 114 | public ServerSocket getServer() { 115 | return serverSocket; 116 | } 117 | 118 | public void setServer(ServerSocket server) { 119 | this.serverSocket = server; 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /sample-apps/src/main/java/io/parallec/sample/app/tcp/sampleserver/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | /** 5 | * @author Yuanteng (Jeff) Pei 6 | * 7 | */ 8 | package io.parallec.sample.app.tcp.sampleserver; -------------------------------------------------------------------------------- /sample-apps/src/main/resources/logback.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 11 | 12 | %d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n 13 | 14 | 15 | 16 | 17 | 18 | parallec_logs/parallec.log 19 | 20 | 21 | parallec_logs/parallec.%i.log 22 | 1 23 | 5 24 | 25 | 26 | 27 | 50MB 28 | 29 | 30 | UTF-8 31 | %d %-4relative [%thread] %-5level %logger{35} - %msg%n 32 | 33 | 34 | 35 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /sample-apps/userdata/keepthisfile: -------------------------------------------------------------------------------- 1 | do not remove this for git 2 | -------------------------------------------------------------------------------- /sample-apps/userdata/sample_target_hosts_json_path.json: -------------------------------------------------------------------------------- 1 | { 2 | "sample": { 3 | "small-target-hosts": [ 4 | { 5 | "hostName": "parallec.github.io", 6 | "description": "parallec website" 7 | }, 8 | { 9 | "hostName": "www.jeffpei.com", 10 | "description": "my personal website" 11 | }, 12 | { 13 | "hostName": "www.restcommander.com", 14 | "description": "restcommander website" 15 | } 16 | ], 17 | "others": { 18 | "hostName": "www.google.com", 19 | "description": "google website" 20 | } 21 | }, 22 | "totalCount": 3 23 | } -------------------------------------------------------------------------------- /sample-apps/userdata/sample_target_hosts_top100.txt: -------------------------------------------------------------------------------- 1 | google.com 2 | youtube.com 3 | facebook.com 4 | msn.com 5 | twitter.com 6 | bing.com 7 | yelp.com 8 | amazon.com 9 | microsoft.com 10 | answers.com 11 | buzzfeed.com 12 | pinterest.com 13 | live.com 14 | yahoo.com 15 | ebay.com 16 | wikipedia.org 17 | aol.com 18 | wikia.com 19 | paypal.com 20 | ask.com 21 | linkedin.com 22 | about.com 23 | wordpress.com 24 | blogger.com 25 | diply.com 26 | craigslist.org 27 | bustle.com 28 | blogspot.com 29 | urbandictionary.com 30 | whitepages.com 31 | weather.com 32 | walmart.com 33 | mozilla.org 34 | stackexchange.com 35 | adobe.com 36 | wayfair.com 37 | vimeo.com 38 | quizlet.com 39 | sbnation.com 40 | nydailynews.com 41 | nytimes.com 42 | healthline.com 43 | imgur.com 44 | legacy.com 45 | wellsfargo.com 46 | usmagazine.com 47 | dose.com 48 | comcast.net 49 | topix.com 50 | ijreview.com 51 | mapquest.com 52 | godaddy.com 53 | uproxx.com 54 | go.com 55 | babycenter.com 56 | goodreads.com 57 | bizrate.com 58 | southwest.com 59 | refinery29.com 60 | glassdoor.com 61 | 247sports.com 62 | fandango.com 63 | nbcsports.com 64 | imdb.com 65 | instructables.com 66 | theverge.com 67 | thechive.com 68 | chase.com 69 | ibtimes.com 70 | people.com 71 | distractify.com 72 | rare.us 73 | yourdailydish.com 74 | deviantart.com 75 | apple.com 76 | city-data.com 77 | mic.com 78 | vox.com 79 | photobucket.com 80 | att.com 81 | ups.com 82 | hubpages.com 83 | usps.com 84 | al.com 85 | tmz.com 86 | theblaze.com 87 | moviepilot.com 88 | qpolitical.com 89 | rollingstone.com 90 | webmd.com 91 | instagram.com 92 | lifehacker.com 93 | rawstory.com 94 | booking.com 95 | guff.com 96 | ranker.com 97 | zillow.com 98 | yellowpages.com 99 | upworthy.com 100 | americanoverlook.com -------------------------------------------------------------------------------- /sample-apps/userdata/sample_target_hosts_top1000.txt: -------------------------------------------------------------------------------- 1 | google.com 2 | youtube.com 3 | facebook.com 4 | msn.com 5 | twitter.com 6 | bing.com 7 | yelp.com 8 | amazon.com 9 | microsoft.com 10 | answers.com 11 | buzzfeed.com 12 | pinterest.com 13 | live.com 14 | yahoo.com 15 | ebay.com 16 | wikipedia.org 17 | aol.com 18 | wikia.com 19 | paypal.com 20 | ask.com 21 | linkedin.com 22 | about.com 23 | wordpress.com 24 | blogger.com 25 | diply.com 26 | craigslist.org 27 | bustle.com 28 | blogspot.com 29 | urbandictionary.com 30 | whitepages.com 31 | weather.com 32 | walmart.com 33 | mozilla.org 34 | stackexchange.com 35 | adobe.com 36 | wayfair.com 37 | vimeo.com 38 | quizlet.com 39 | sbnation.com 40 | nydailynews.com 41 | nytimes.com 42 | healthline.com 43 | imgur.com 44 | legacy.com 45 | wellsfargo.com 46 | usmagazine.com 47 | dose.com 48 | comcast.net 49 | topix.com 50 | ijreview.com 51 | mapquest.com 52 | godaddy.com 53 | uproxx.com 54 | go.com 55 | babycenter.com 56 | goodreads.com 57 | bizrate.com 58 | southwest.com 59 | refinery29.com 60 | glassdoor.com 61 | 247sports.com 62 | fandango.com 63 | nbcsports.com 64 | imdb.com 65 | instructables.com 66 | theverge.com 67 | thechive.com 68 | chase.com 69 | ibtimes.com 70 | people.com 71 | distractify.com 72 | rare.us 73 | yourdailydish.com 74 | deviantart.com 75 | apple.com 76 | city-data.com 77 | mic.com 78 | vox.com 79 | photobucket.com 80 | att.com 81 | ups.com 82 | hubpages.com 83 | usps.com 84 | al.com 85 | tmz.com 86 | theblaze.com 87 | moviepilot.com 88 | qpolitical.com 89 | rollingstone.com 90 | webmd.com 91 | instagram.com 92 | lifehacker.com 93 | rawstory.com 94 | booking.com 95 | guff.com 96 | ranker.com 97 | zillow.com 98 | yellowpages.com 99 | upworthy.com 100 | americanoverlook.com 101 | gizmodo.com 102 | tripadvisor.com 103 | hp.com 104 | theonion.com 105 | nbcnews.com 106 | thoughtcatalog.com 107 | gfycat.com 108 | nj.com 109 | westernjournalism.com 110 | opposingviews.com 111 | faithtap.com 112 | youngcons.com 113 | thekitchn.com 114 | target.com 115 | dailydot.com 116 | bankofamerica.com 117 | inquisitr.com 118 | bestbuy.com 119 | gawker.com 120 | rottentomatoes.com 121 | myspace.com 122 | homedepot.com 123 | fedex.com 124 | staples.com 125 | eonline.com 126 | dmv.org 127 | etsy.com 128 | salon.com 129 | examiner.com 130 | sears.com 131 | buzzlie.com 132 | reddit.com 133 | cheatsheet.com 134 | deadspin.com 135 | mlb.com 136 | radaronline.com 137 | androidcentral.com 138 | drudgereport.com 139 | merriam-webster.com 140 | mentalfloss.com 141 | windows.com 142 | cnet.com 143 | skype.com 144 | nbc.com 145 | mlive.com 146 | hellogiggles.com 147 | stackoverflow.com 148 | bbb.org 149 | brainjet.com 150 | myrecipes.com 151 | emgn.com 152 | allenbwest.com 153 | brommando.com 154 | cbssports.com 155 | expedia.com 156 | cinemablend.com 157 | cnbc.com 158 | msnbc.com 159 | dailykos.com 160 | liftbump.com 161 | cvs.com 162 | ozy.com 163 | omgfacts.com 164 | cnn.com 165 | fidelity-media.com 166 | newsmax.com 167 | patheos.com 168 | jezebel.com 169 | americanexpress.com 170 | lifescript.com 171 | today.com 172 | powerinbox.com 173 | someecards.com 174 | thehill.com 175 | twitch.tv 176 | howtogeek.com 177 | potterybarn.com 178 | netflix.com 179 | eater.com 180 | internetautoguide.com 181 | macrumors.com 182 | io9.com 183 | evite.com 184 | stripe.com 185 | okmagazine.com 186 | disney.com 187 | costco.com 188 | kohls.com 189 | independent.co.uk 190 | shopping.com 191 | pixable.com 192 | thepoliticalinsider.com 193 | jcpenney.com 194 | overstock.com 195 | lpsnmedia.net 196 | smarter.com 197 | capitalone.com 198 | crowdsocial.com 199 | imore.com 200 | zimbio.com 201 | suggest.com 202 | alibaba.com 203 | timeanddate.com 204 | lowes.com 205 | twentytwowords.com 206 | nih.gov 207 | enotes.com 208 | abcmenorca.net 209 | flickr.com 210 | boxingmoney.com 211 | nesn.com 212 | starpulse.com 213 | sfgate.com 214 | toptenvideos.com 215 | walgreens.com 216 | liveleak.com 217 | cc.com 218 | beenverified.com 219 | turner.com 220 | trulia.com 221 | fidelity.com 222 | oregonlive.com 223 | discover.com 224 | mosthappy.com 225 | travelzoo.com 226 | shmoop.com 227 | americannews.com 228 | dailymail.co.uk 229 | kotaku.com 230 | ulta.com 231 | macys.com 232 | driversupport.com 233 | lifebuzz.com 234 | usaa.com 235 | dailycaller.com 236 | cleveland.com 237 | stylebistro.com 238 | connect5364.com 239 | stuccu.com 240 | office.com 241 | apartmenttherapy.com 242 | ask.fm 243 | ticketmaster.com 244 | verizon.com 245 | break.com 246 | onestore.ms 247 | seriouseats.com 248 | brobible.com 249 | fuel451.com 250 | playboy.com 251 | googletagmanager.com 252 | tiqcdn.com 253 | dummies.com 254 | techradar.com 255 | atemda.com 256 | getitfree.us 257 | creditkarma.com 258 | thinkprogress.org 259 | weather.gov 260 | prisacom.com 261 | odometer.com 262 | theguardian.com 263 | politico.com 264 | softonic.com 265 | southernliving.com 266 | superuser.com 267 | thefederalistpapers.org 268 | ybx.io 269 | n192adserv.com 270 | cabelas.com 271 | minq.com 272 | movable-ink-2183.com 273 | britannica.com 274 | clipd.com 275 | collegehumor.com 276 | deliverimp.com 277 | jalopnik.com 278 | dallasblack.com 279 | getdrivingdirections.co 280 | pbs.org 281 | zoomads.net 282 | cookinglight.com 283 | giphy.com 284 | ironbeast.io 285 | ca.gov 286 | edmunds.com 287 | mobilelikez.com 288 | worldlifestyle.com 289 | coupons.net 290 | drugs.com 291 | pch.com 292 | fixya.com 293 | unsubscribe-4-63.com 294 | adsupply.com 295 | csmonitor.com 296 | gravatar.com 297 | chacha.com 298 | nfl.com 299 | choicehotels.com 300 | washingtontimes.com 301 | thirdpresence.com 302 | indiegogo.com 303 | mbiscotti.com 304 | aarp.org 305 | srvv.co 306 | healthgrades.com 307 | cbsnews.com 308 | synoloads.com 309 | mensfitness.com 310 | foodnetwork.com 311 | ultimate-guitar.com 312 | saturdaydownsouth.com 313 | cloudsponge.com 314 | avclub.com 315 | adserve.io 316 | eleadcrm.com 317 | webroot.com 318 | ajc.com 319 | wsbtv.com 320 | npr.org 321 | medicinenet.com 322 | visualstudio.com 323 | basestyle.org 324 | nola.com 325 | businessinsider.com 326 | newser.com 327 | theatlantic.com 328 | lg.com 329 | wimp.com 330 | vitals.com 331 | bedbathandbeyond.com 332 | startribune.com 333 | yourtango.com 334 | aolsearch.com 335 | idigitaltimes.com 336 | allstateagencies.com 337 | thangasoline.com 338 | citibank.com 339 | jambia.com 340 | telemundo.com 341 | vine.co 342 | swifty.com 343 | carhartt.com 344 | consumerreports.org 345 | mysynchrony.com 346 | nmcdn.us 347 | trustpilot.com 348 | food.com 349 | aliexpress.com 350 | popsugar.com 351 | bandcamp.com 352 | wow.com 353 | iasds01.com 354 | medicalnewstoday.com 355 | envywomen.com 356 | agorafinancial.com 357 | carters.com 358 | rotoworld.com 359 | barnesandnoble.com 360 | newsweek.com 361 | hilton.com 362 | greatschools.org 363 | billoreilly.com 364 | puckermob.com 365 | easybib.com 366 | petfinder.com 367 | livingly.com 368 | analytics-egain.com 369 | unilad.co.uk 370 | usa.gov 371 | grindtv.com 372 | totalrewards.com 373 | wix.com 374 | looper.com 375 | wunderground.com 376 | scout.com 377 | noaa.gov 378 | michaels.com 379 | hotnewhiphop.com 380 | dropbox.com 381 | greatist.com 382 | ebaumsworld.com 383 | americanews.com 384 | jumblejoy.com 385 | united.com 386 | shopify.com 387 | infowars.com 388 | newegg.com 389 | videostat.com 390 | oola.com 391 | tributes.com 392 | googlevideo.com 393 | angieslist.com 394 | fitbit.com 395 | comicbook.com 396 | qvc.com 397 | boomtrain.com 398 | boostable.com 399 | btttag.com 400 | hotjar.com 401 | tvaccessnow.com 402 | videoactivenetwork.tv 403 | interactivebrokers.com 404 | economist.com 405 | indeed.com 406 | citi.com 407 | pagesix.com 408 | archive.org 409 | vennq.com 410 | atomica.com 411 | wnd.com 412 | sharecare.com 413 | viralands.com 414 | shape.com 415 | latimes.com 416 | wikimedia.org 417 | dish.com 418 | infoplease.com 419 | allrecipes.com 420 | mediaite.com 421 | ink361.com 422 | befrugal.com 423 | viewwonder.com 424 | justanswer.com 425 | azurewebsites.net 426 | ksl.com 427 | 247-inc.net 428 | cdnpps.us 429 | 9to5mac.com 430 | kinja-static.com 431 | good.is 432 | xfinity.com 433 | dailysanctuary.com 434 | local.com 435 | smosh.com 436 | tstags.com 437 | gunbroker.com 438 | fishwrapper.com 439 | nationalgeographic.com 440 | siriusxm.com 441 | bravotv.com 442 | officedepot.com 443 | simplyhired.com 444 | wittyfeed.com 445 | sovereignsociety.com 446 | rollbar.com 447 | hsionlineorders.net 448 | bradsdeals.com 449 | malwarebytes.org 450 | womanfreebies.com 451 | force.com 452 | blessings.com 453 | techtimes.com 454 | presscdn.com 455 | reuters.com 456 | usbank.com 457 | patient.info 458 | fanplayr.com 459 | king.com 460 | hulu.com 461 | kabbage.com 462 | thepennyhoarder.com 463 | mrc-isaca.org 464 | howstuffworks.com 465 | phluidmediacrv.net 466 | snapwidget.com 467 | zadsy.com 468 | aabkc.com 469 | clickcertain.com 470 | potterybarnkids.com 471 | microsoftstore.com 472 | peoplefinders.com 473 | biglots.com 474 | inspiremore.com 475 | sumome.com 476 | samsclub.com 477 | roku.com 478 | brainfall.com 479 | polygon.com 480 | usnews.com 481 | scribd.com 482 | nile.works 483 | kbb.com 484 | experienceproject.com 485 | cbs.com 486 | unsubjn67.com 487 | discovercard.com 488 | ssa.gov 489 | epsilon.com 490 | kompasads.net 491 | nhl.com 492 | charter.net 493 | freeskreen.com 494 | groceryserver.com 495 | hitfix.com 496 | wgntv.com 497 | shareably.net 498 | education.com 499 | allmenus.com 500 | kaiserpermanente.org 501 | vantagemedia.com 502 | tribuneinteractive.com 503 | syracuse.com 504 | safeunsubscribing.com 505 | rantsports.com 506 | knowyourmeme.com 507 | safeway.com 508 | pressganey.com 509 | purplemath.com 510 | kmart.com 511 | townhall.com 512 | straightdope.com 513 | democrats.org 514 | lifedaily.com 515 | miamiherald.com 516 | nationalreview.com 517 | isidewith.com 518 | slideshare.net 519 | timeout.com 520 | lonny.com 521 | toofab.com 522 | elephantjournal.com 523 | gettyimages.com 524 | gofundme.com 525 | snopes.com 526 | styleads.de 527 | palmbeachletter.com 528 | collegespun.com 529 | chicagotribune.com 530 | actblue.com 531 | teracreative.com 532 | matadornetwork.com 533 | llbean.com 534 | irs.gov 535 | whatculture.com 536 | protected-payment-solutions.com 537 | wn.com 538 | mytheresa.com 539 | retailmenot.com 540 | tracfone.com 541 | pitchfork.com 542 | vanguard.com 543 | studyblue.com 544 | list-manage2.com 545 | dorkly.com 546 | liftable.com 547 | soma.com 548 | spokeo.com 549 | niche.com 550 | randpaul.com 551 | seventhavenue.com 552 | pressroomvip.com 553 | palmbeachgroup.com 554 | caringbridge.org 555 | blogher.org 556 | xwebseo.com 557 | whatbrowser.org 558 | flightaware.com 559 | uberhavoc.com 560 | priceline.com 561 | marriott.com 562 | grainger.com 563 | helzberg.com 564 | dunzo.net 565 | chwplan.com 566 | ato.mx 567 | alternet.org 568 | afftrackr.com 569 | thegrio.com 570 | myheritage.com 571 | wikihow.com 572 | theclickcheck.com 573 | listverse.com 574 | food4patriots.com 575 | jotform.com 576 | directv.com 577 | seattletimes.com 578 | eclinicalweb.com 579 | ancestry.com 580 | tvguide.com 581 | salsalabs.com 582 | homeadvisor.com 583 | videoswag.tv 584 | predicta.net 585 | sportingnews.com 586 | hollywoodreporter.com 587 | smithsonianmag.com 588 | socialchique.com 589 | thenextweb.com 590 | talkingpointsmemo.com 591 | mcafee.com 592 | therightways.com 593 | nextdoor.com 594 | manta.com 595 | sciencealert.com 596 | findagrave.com 597 | wral.com 598 | muscleandfitness.com 599 | delta.com 600 | blair.com 601 | pennlive.com 602 | carambo.la 603 | autotrader.com 604 | medicaldaily.com 605 | algebra.com 606 | hgtv.com 607 | astrology.com 608 | menards.com 609 | intuit.com 610 | eelaerankbuilder.com 611 | medallia.com 612 | egokick.com 613 | encyclopedia.com 614 | admtpmp123.com 615 | therecipespage.com 616 | rewardzoneusa.com 617 | mercurynews.com 618 | fiftyone.com 619 | holidayinn.com 620 | patch.com 621 | pastemagazine.com 622 | autoblog.com 623 | hiexpress.com 624 | h-cdn.co 625 | hotels.com 626 | eastbay.com 627 | kinja.com 628 | visa.com 629 | likesgag.com 630 | myway.com 631 | pubmine.com 632 | buzzlamp.com 633 | nationalmssociety.org 634 | wildtangent.com 635 | faithit.com 636 | travelsmith.com 637 | thepostgame.com 638 | kiplinger.com 639 | campaign-archive1.com 640 | costco-static.com 641 | groupon.com 642 | sciencedaily.com 643 | nasa.gov 644 | femmezine.com 645 | hercampus.com 646 | mashable.com 647 | gothamist.com 648 | warbirdinformationexchange.org 649 | bing-int.com 650 | beauty.com 651 | gurl.com 652 | bp.blogspot.com 653 | 411.com 654 | tunein.com 655 | iemooentypo.com 656 | ordergroove.com 657 | denverpost.com 658 | rev2pub.com 659 | aaa.com 660 | deseretnews.com 661 | outlook.com 662 | 123greetings.com 663 | cheezburger.com 664 | aa.com 665 | ppjol.com 666 | crocs.com 667 | comcast.com 668 | lakeside.com 669 | heritage.org 670 | fold3.com 671 | lyricsmode.com 672 | fansided.com 673 | cars.com 674 | experian.com 675 | cbc.ca 676 | metafilter.com 677 | attn.com 678 | kaspersky.com 679 | news-selfreliancecentral.com 680 | va.gov 681 | google.ca 682 | edigitalsurvey.com 683 | curbed.com 684 | po.st 685 | oprah.com 686 | ft.com 687 | washingtonexaminer.com 688 | modemediacorp.com 689 | gradesaver.com 690 | mommypage.com 691 | bleacherreport.com 692 | newyorker.com 693 | kfor.com 694 | instantcheckmate.com 695 | exclusivesandmore.com 696 | tickld.com 697 | optout-mzkl.net 698 | gemius.pl 699 | mnn.com 700 | bhphotovideo.com 701 | gannett-cdn.com 702 | foxbusiness.com 703 | ford.com 704 | librato.com 705 | vrbo.com 706 | collegeconfidential.com 707 | curiyo.com 708 | joann.com 709 | mommybase.com 710 | autozone.com 711 | lfb.org 712 | flipp.com 713 | queerty.com 714 | bloxcms.com 715 | christianbook.com 716 | trivago.com 717 | clicksvenue.com 718 | thinkgeek.com 719 | amarktflow.com 720 | backpage.com 721 | spnccrzone.com 722 | rantlifestyle.com 723 | securepaymentsnetwork.com 724 | beliefnet.com 725 | alot.com 726 | tigerdirect.com 727 | socialsecurity.gov 728 | cvent.com 729 | mercola.com 730 | funnyordie.com 731 | hiddenplaybook.com 732 | pgatour.com 733 | pof.com 734 | webbyads.net 735 | eventbrite.com 736 | leadpages.net 737 | globalgrind.com 738 | rantchic.com 739 | c-span.org 740 | masslive.com 741 | redbox.com 742 | mrctv.org 743 | fodors.com 744 | wehavetheperfectlawn.com 745 | azlyrics.com 746 | espn.com 747 | awesomeom.com 748 | motortrend.com 749 | kansascity.com 750 | fareportal.com 751 | morningstar.com 752 | travelocity.com 753 | toysrus.com 754 | speedfixtool.com 755 | traffichunt.com 756 | forsalebyowner.com 757 | ihg.com 758 | williams-sonoma.com 759 | idistracted.net 760 | bencarson.com 761 | thefreedictionary.com 762 | tasteofhome.com 763 | redfin.com 764 | senate.gov 765 | nmhfiles.com 766 | everydayhealth.com 767 | zdnet.com 768 | kroger.com 769 | tomshardware.com 770 | thepetitionsite.com 771 | logentries.com 772 | retailpromotionsonline.com 773 | thewebtrovert.com 774 | affiliatetechnology.com 775 | kirotv.com 776 | nflxext.com 777 | avast.com 778 | firefox.com 779 | survivetheenddays.com 780 | microsofttranslator.com 781 | nameberry.com 782 | ukiewzhangzhny1.net 783 | wired.com 784 | careerbuilder.com 785 | getit-free.us 786 | artofmanliness.com 787 | nps.gov 788 | horoscope.com 789 | ty7news.com 790 | alicdn.com 791 | indiatimes.com 792 | peisedata.net 793 | ohciybharatinfoservice.net 794 | evbuc.com 795 | amazon.ca 796 | sfglobe.com 797 | ebay.ca 798 | businessdictionary.com 799 | netapplications.com 800 | loccitane.com 801 | observer.com 802 | thegatewaypundit.com 803 | moveon.org 804 | mailmunch.co 805 | racked.com 806 | dealer.com 807 | swoop.com 808 | t-mobile.com 809 | connatix.com 810 | newsmemory.com 811 | holaefsdata.com 812 | potterybarn.com.au 813 | mydas.mobi 814 | zappos.com 815 | adamoads.com 816 | cargurus.com 817 | shopyourway.com 818 | house.gov 819 | cdn77.org 820 | babble.com 821 | sacbee.com 822 | fixthisnation.com 823 | meetup.com 824 | panerabread.com 825 | bookingbuddy.com 826 | cdc.gov 827 | koeghmixi-birthday.net 828 | pga.com 829 | cybersource.com 830 | libsyn.com 831 | nordstrom.com 832 | outdoorchannel.com 833 | doodle.com 834 | biblegateway.com 835 | dailysignal.com 836 | orbitz.com 837 | weekendcollective.com 838 | optout-fchd.net 839 | mmamania.com 840 | politifact.com 841 | at2solution.com 842 | cnsnews.com 843 | hsselite.com 844 | firsttoknow.com 845 | epicurious.com 846 | wa.gov 847 | ticketmaster.ca 848 | ookla.com 849 | sprint.com 850 | followmyhealth.com 851 | filehippo.com 852 | transsender.net 853 | clickhole.com 854 | optout-zqff.net 855 | caesars.com 856 | ibm.com 857 | fortune.com 858 | revolvermaps.com 859 | laweekly.com 860 | 120sports.com 861 | dineouttonight.net 862 | ooquaapbin.net 863 | latinpost.com 864 | itsup.com 865 | charlotteobserver.com 866 | hefty.co 867 | ongeedodirnime.net 868 | ox-dyp.com 869 | workingmother.com 870 | research.net 871 | wetransfer.com 872 | express-scripts.com 873 | fame10.com 874 | mydisneyresorts.com 875 | onegoodthingbyjillee.com 876 | macmillandictionary.com 877 | informationvine.com 878 | canon.com 879 | box.com 880 | honda.com 881 | parade.com 882 | bloglovin.com 883 | wxyz.com 884 | hearinglossreversed.net 885 | gomerblog.com 886 | travelnevada.com 887 | twitchy.com 888 | 4shared.com 889 | zazzle.com 890 | pcgamer.com 891 | mysimon.com 892 | thegrommet.com 893 | troweprice.com 894 | anv.bz 895 | vistaprint.com 896 | ancestrydata.com 897 | lanebryant.com 898 | ashleyrnadison.com 899 | candlewoodsuites.com 900 | fieldandstream.com 901 | rr.com 902 | hiegowebcode.net 903 | resourcedepot.info 904 | wftv.com 905 | erroranswers.com 906 | browsehappy.com 907 | hsn.com 908 | softcoin.com 909 | si.com 910 | toprightnews.com 911 | lightboxcdn.com 912 | olivegarden.com 913 | voxmedia.com 914 | wpxi.com 915 | demandforce.com 916 | familyhandyman.com 917 | ikea.com 918 | intellicast.com 919 | theberry.com 920 | movoto.com 921 | emedicinehealth.com 922 | usrfiles.com 923 | trustglobelife.com 924 | taeghyankeedownload.net 925 | timeinc.com 926 | popsci.com 927 | boingboing.net 928 | spotify.com 929 | rxlist.com 930 | secure-paymentscenter.com 931 | joeforamerica.com 932 | femdaily.com 933 | smartstream.tv 934 | aeceiamericanapparel.com 935 | thedenverchannel.com 936 | widgetmakr.com 937 | admtpmp124.com 938 | triviahive.com 939 | universalfreepress.com 940 | servebom.com 941 | ad.net 942 | homeaway.com 943 | adobelogin.com 944 | cox.net 945 | rejuvenation.com 946 | pubgears.com 947 | gop.com 948 | bizpacreview.com 949 | cmoglobal.org 950 | mapsofworld.com 951 | thehollywoodgossip.com 952 | newsok.com 953 | drugstore.com 954 | hobbylobby.com 955 | starwars.com 956 | inbox.com 957 | softwareupdateproduct.com 958 | abc15.com 959 | daechterra.com 960 | mynewsletterbuilder.com 961 | beautynewsnow.com 962 | news-medical.net 963 | homes.com 964 | caring.com 965 | timewarnercable.com 966 | palmbeachpost.com 967 | toptenreviews.com 968 | progressive.com 969 | biotrust.com 970 | eatingwell.com 971 | ballarddesigns.com 972 | mirror.co.uk 973 | statefarm.com 974 | flavorwire.com 975 | princess.com 976 | usccb.org 977 | iecohahasess.com 978 | picreel.com 979 | redflagnews.com 980 | familyshare.com 981 | yardbarker.com 982 | flx10.com 983 | change.org 984 | computerworld.com 985 | ahgieerincondren.com 986 | confirmit.com 987 | footlocker.com 988 | therighttobear.com 989 | potterybarnkids.com.au 990 | mmafighting.com 991 | mode-media.com 992 | vs3.com 993 | prageruniversity.com 994 | wsoctv.com 995 | microcenter.com 996 | songlyrics.com 997 | roowethe-open-mic.com 998 | tellmenow.com 999 | weeklystandard.com 1000 | wal.co -------------------------------------------------------------------------------- /sample-apps/userdata/sample_target_hosts_top100_old.txt: -------------------------------------------------------------------------------- 1 | www.facebook.com 2 | www.google.com 3 | www.youtube.com 4 | www.yahoo.com 5 | www.baidu.com 6 | www.wikipedia.org 7 | www.live.com 8 | www.amazon.com 9 | www.twitter.com 10 | www.taobao.com 11 | www.google.co.in 12 | www.linkedin.com 13 | www.yahoo.co.jp 14 | www.msn.com 15 | www.yandex.ru 16 | www.ebay.com 17 | www.google.co.jp 18 | www.google.de 19 | www.wordpress.com 20 | www.bing.com 21 | www.google.com.hk 22 | www.vk.com 23 | www.google.co.uk 24 | www.google.fr 25 | www.babylon.com 26 | www.weibo.com 27 | www.microsoft.com 28 | www.tumblr.com 29 | www.googleusercontent.com 30 | www.mail.ru 31 | www.pinterest.com 32 | www.apple.com 33 | www.google.com.br 34 | www.loc.gov 35 | www.PayPal.com 36 | www.google.ru 37 | www.google.es 38 | www.google.it 39 | www.fc2.com 40 | www.blogger.com 41 | www.imdb.com 42 | www.craigslist.org 43 | www.ask.com 44 | www.conduit.com 45 | www.bbc.co.uk 46 | www.go.com 47 | www.amazon.co.jp 48 | www.google.com.mx 49 | www.google.ca 50 | www.amazon.de 51 | www.adobe.com 52 | www.flickr.com 53 | www.avg.com 54 | www.aol.com 55 | www.rakuten.co.jp 56 | www.cnn.com 57 | www.mywebsearch.com 58 | www.ebay.de 59 | www.amazon.co.uk 60 | www.alibaba.com 61 | www.espn.go.com 62 | www.blogspot.in 63 | www.google.com.tr 64 | www.google.co.id 65 | www.instagram.com 66 | www.huffingtonpost.com 67 | www.about.com 68 | www.stackoverflow.com 69 | www.google.com.au 70 | www.livedoor.com 71 | www.ebay.co.uk 72 | www.netflix.com 73 | www.dailymotion.com 74 | www.imgur.com 75 | www.zedo.com 76 | www.google.pl 77 | www.deviantart.com 78 | www.google.nl 79 | www.dropbox.com 80 | www.ameblo.jp 81 | www.themeforest.net 82 | www.weather.com 83 | www.dailymail.co.uk 84 | www.slideshare.net 85 | www.booking.com 86 | www.yelp.com 87 | www.livejournal.com 88 | www.skype.com 89 | www.wikihow.com 90 | www.walmart.com 91 | www.forbes.com 92 | www.starpulse.com 93 | www.sfgate.com 94 | www.toptenvideos.com 95 | www.walgreens.com 96 | www.liveleak.com 97 | www.discover.com 98 | www.mosthappy.com 99 | www.reverbnation.com 100 | www.irs.gov -------------------------------------------------------------------------------- /sample-apps/userdata/sample_target_hosts_top2000.txt: -------------------------------------------------------------------------------- 1 | google.com 2 | youtube.com 3 | facebook.com 4 | msn.com 5 | twitter.com 6 | bing.com 7 | yelp.com 8 | amazon.com 9 | microsoft.com 10 | answers.com 11 | buzzfeed.com 12 | pinterest.com 13 | live.com 14 | yahoo.com 15 | ebay.com 16 | wikipedia.org 17 | aol.com 18 | wikia.com 19 | paypal.com 20 | ask.com 21 | linkedin.com 22 | about.com 23 | wordpress.com 24 | blogger.com 25 | diply.com 26 | craigslist.org 27 | bustle.com 28 | blogspot.com 29 | urbandictionary.com 30 | whitepages.com 31 | weather.com 32 | walmart.com 33 | mozilla.org 34 | stackexchange.com 35 | adobe.com 36 | wayfair.com 37 | vimeo.com 38 | quizlet.com 39 | sbnation.com 40 | nydailynews.com 41 | nytimes.com 42 | healthline.com 43 | imgur.com 44 | legacy.com 45 | wellsfargo.com 46 | usmagazine.com 47 | dose.com 48 | comcast.net 49 | topix.com 50 | ijreview.com 51 | mapquest.com 52 | godaddy.com 53 | uproxx.com 54 | go.com 55 | babycenter.com 56 | goodreads.com 57 | bizrate.com 58 | southwest.com 59 | refinery29.com 60 | glassdoor.com 61 | 247sports.com 62 | fandango.com 63 | nbcsports.com 64 | imdb.com 65 | instructables.com 66 | theverge.com 67 | thechive.com 68 | chase.com 69 | ibtimes.com 70 | people.com 71 | distractify.com 72 | rare.us 73 | yourdailydish.com 74 | deviantart.com 75 | apple.com 76 | city-data.com 77 | mic.com 78 | vox.com 79 | photobucket.com 80 | att.com 81 | ups.com 82 | hubpages.com 83 | usps.com 84 | al.com 85 | tmz.com 86 | theblaze.com 87 | moviepilot.com 88 | qpolitical.com 89 | rollingstone.com 90 | webmd.com 91 | instagram.com 92 | lifehacker.com 93 | rawstory.com 94 | booking.com 95 | guff.com 96 | ranker.com 97 | zillow.com 98 | yellowpages.com 99 | upworthy.com 100 | americanoverlook.com 101 | gizmodo.com 102 | tripadvisor.com 103 | hp.com 104 | theonion.com 105 | nbcnews.com 106 | thoughtcatalog.com 107 | gfycat.com 108 | nj.com 109 | westernjournalism.com 110 | opposingviews.com 111 | faithtap.com 112 | youngcons.com 113 | thekitchn.com 114 | target.com 115 | dailydot.com 116 | bankofamerica.com 117 | inquisitr.com 118 | bestbuy.com 119 | gawker.com 120 | rottentomatoes.com 121 | myspace.com 122 | homedepot.com 123 | fedex.com 124 | staples.com 125 | eonline.com 126 | dmv.org 127 | etsy.com 128 | salon.com 129 | examiner.com 130 | sears.com 131 | buzzlie.com 132 | reddit.com 133 | cheatsheet.com 134 | deadspin.com 135 | mlb.com 136 | radaronline.com 137 | androidcentral.com 138 | drudgereport.com 139 | merriam-webster.com 140 | mentalfloss.com 141 | windows.com 142 | cnet.com 143 | skype.com 144 | nbc.com 145 | mlive.com 146 | hellogiggles.com 147 | stackoverflow.com 148 | bbb.org 149 | brainjet.com 150 | myrecipes.com 151 | emgn.com 152 | allenbwest.com 153 | brommando.com 154 | cbssports.com 155 | expedia.com 156 | cinemablend.com 157 | cnbc.com 158 | msnbc.com 159 | dailykos.com 160 | liftbump.com 161 | cvs.com 162 | ozy.com 163 | omgfacts.com 164 | cnn.com 165 | fidelity-media.com 166 | newsmax.com 167 | patheos.com 168 | jezebel.com 169 | americanexpress.com 170 | lifescript.com 171 | today.com 172 | powerinbox.com 173 | someecards.com 174 | thehill.com 175 | twitch.tv 176 | howtogeek.com 177 | potterybarn.com 178 | netflix.com 179 | eater.com 180 | internetautoguide.com 181 | macrumors.com 182 | io9.com 183 | evite.com 184 | stripe.com 185 | okmagazine.com 186 | disney.com 187 | costco.com 188 | kohls.com 189 | independent.co.uk 190 | shopping.com 191 | pixable.com 192 | thepoliticalinsider.com 193 | jcpenney.com 194 | overstock.com 195 | lpsnmedia.net 196 | smarter.com 197 | capitalone.com 198 | crowdsocial.com 199 | imore.com 200 | zimbio.com 201 | suggest.com 202 | alibaba.com 203 | timeanddate.com 204 | lowes.com 205 | twentytwowords.com 206 | nih.gov 207 | enotes.com 208 | abcmenorca.net 209 | flickr.com 210 | boxingmoney.com 211 | nesn.com 212 | starpulse.com 213 | sfgate.com 214 | toptenvideos.com 215 | walgreens.com 216 | liveleak.com 217 | cc.com 218 | beenverified.com 219 | turner.com 220 | trulia.com 221 | fidelity.com 222 | oregonlive.com 223 | discover.com 224 | mosthappy.com 225 | travelzoo.com 226 | shmoop.com 227 | americannews.com 228 | dailymail.co.uk 229 | kotaku.com 230 | ulta.com 231 | macys.com 232 | driversupport.com 233 | lifebuzz.com 234 | usaa.com 235 | dailycaller.com 236 | cleveland.com 237 | stylebistro.com 238 | connect5364.com 239 | stuccu.com 240 | office.com 241 | apartmenttherapy.com 242 | ask.fm 243 | ticketmaster.com 244 | verizon.com 245 | break.com 246 | onestore.ms 247 | seriouseats.com 248 | brobible.com 249 | fuel451.com 250 | playboy.com 251 | googletagmanager.com 252 | tiqcdn.com 253 | dummies.com 254 | techradar.com 255 | atemda.com 256 | getitfree.us 257 | creditkarma.com 258 | thinkprogress.org 259 | weather.gov 260 | prisacom.com 261 | odometer.com 262 | theguardian.com 263 | politico.com 264 | softonic.com 265 | southernliving.com 266 | superuser.com 267 | thefederalistpapers.org 268 | ybx.io 269 | n192adserv.com 270 | cabelas.com 271 | minq.com 272 | movable-ink-2183.com 273 | britannica.com 274 | clipd.com 275 | collegehumor.com 276 | deliverimp.com 277 | jalopnik.com 278 | dallasblack.com 279 | getdrivingdirections.co 280 | pbs.org 281 | zoomads.net 282 | cookinglight.com 283 | giphy.com 284 | ironbeast.io 285 | ca.gov 286 | edmunds.com 287 | mobilelikez.com 288 | worldlifestyle.com 289 | coupons.net 290 | drugs.com 291 | pch.com 292 | fixya.com 293 | unsubscribe-4-63.com 294 | adsupply.com 295 | csmonitor.com 296 | gravatar.com 297 | chacha.com 298 | nfl.com 299 | choicehotels.com 300 | washingtontimes.com 301 | thirdpresence.com 302 | indiegogo.com 303 | mbiscotti.com 304 | aarp.org 305 | srvv.co 306 | healthgrades.com 307 | cbsnews.com 308 | synoloads.com 309 | mensfitness.com 310 | foodnetwork.com 311 | ultimate-guitar.com 312 | saturdaydownsouth.com 313 | cloudsponge.com 314 | avclub.com 315 | adserve.io 316 | eleadcrm.com 317 | webroot.com 318 | ajc.com 319 | wsbtv.com 320 | npr.org 321 | medicinenet.com 322 | visualstudio.com 323 | basestyle.org 324 | nola.com 325 | businessinsider.com 326 | newser.com 327 | theatlantic.com 328 | lg.com 329 | wimp.com 330 | vitals.com 331 | bedbathandbeyond.com 332 | startribune.com 333 | yourtango.com 334 | aolsearch.com 335 | idigitaltimes.com 336 | allstateagencies.com 337 | thangasoline.com 338 | citibank.com 339 | jambia.com 340 | telemundo.com 341 | vine.co 342 | swifty.com 343 | carhartt.com 344 | consumerreports.org 345 | mysynchrony.com 346 | nmcdn.us 347 | trustpilot.com 348 | food.com 349 | aliexpress.com 350 | popsugar.com 351 | bandcamp.com 352 | wow.com 353 | iasds01.com 354 | medicalnewstoday.com 355 | envywomen.com 356 | agorafinancial.com 357 | carters.com 358 | rotoworld.com 359 | barnesandnoble.com 360 | newsweek.com 361 | hilton.com 362 | greatschools.org 363 | billoreilly.com 364 | puckermob.com 365 | easybib.com 366 | petfinder.com 367 | livingly.com 368 | analytics-egain.com 369 | unilad.co.uk 370 | usa.gov 371 | grindtv.com 372 | totalrewards.com 373 | wix.com 374 | looper.com 375 | wunderground.com 376 | scout.com 377 | noaa.gov 378 | michaels.com 379 | hotnewhiphop.com 380 | dropbox.com 381 | greatist.com 382 | ebaumsworld.com 383 | americanews.com 384 | jumblejoy.com 385 | united.com 386 | shopify.com 387 | infowars.com 388 | newegg.com 389 | videostat.com 390 | oola.com 391 | tributes.com 392 | googlevideo.com 393 | angieslist.com 394 | fitbit.com 395 | comicbook.com 396 | qvc.com 397 | boomtrain.com 398 | boostable.com 399 | btttag.com 400 | hotjar.com 401 | tvaccessnow.com 402 | videoactivenetwork.tv 403 | interactivebrokers.com 404 | economist.com 405 | indeed.com 406 | citi.com 407 | pagesix.com 408 | archive.org 409 | vennq.com 410 | atomica.com 411 | wnd.com 412 | sharecare.com 413 | viralands.com 414 | shape.com 415 | latimes.com 416 | wikimedia.org 417 | dish.com 418 | infoplease.com 419 | allrecipes.com 420 | mediaite.com 421 | ink361.com 422 | befrugal.com 423 | viewwonder.com 424 | justanswer.com 425 | azurewebsites.net 426 | ksl.com 427 | 247-inc.net 428 | cdnpps.us 429 | 9to5mac.com 430 | kinja-static.com 431 | good.is 432 | xfinity.com 433 | dailysanctuary.com 434 | local.com 435 | smosh.com 436 | tstags.com 437 | gunbroker.com 438 | fishwrapper.com 439 | nationalgeographic.com 440 | siriusxm.com 441 | bravotv.com 442 | officedepot.com 443 | simplyhired.com 444 | wittyfeed.com 445 | sovereignsociety.com 446 | rollbar.com 447 | hsionlineorders.net 448 | bradsdeals.com 449 | malwarebytes.org 450 | womanfreebies.com 451 | force.com 452 | blessings.com 453 | techtimes.com 454 | presscdn.com 455 | reuters.com 456 | usbank.com 457 | patient.info 458 | fanplayr.com 459 | king.com 460 | hulu.com 461 | kabbage.com 462 | thepennyhoarder.com 463 | mrc-isaca.org 464 | howstuffworks.com 465 | phluidmediacrv.net 466 | snapwidget.com 467 | zadsy.com 468 | aabkc.com 469 | clickcertain.com 470 | potterybarnkids.com 471 | microsoftstore.com 472 | peoplefinders.com 473 | biglots.com 474 | inspiremore.com 475 | sumome.com 476 | samsclub.com 477 | roku.com 478 | brainfall.com 479 | polygon.com 480 | usnews.com 481 | scribd.com 482 | nile.works 483 | kbb.com 484 | experienceproject.com 485 | cbs.com 486 | unsubjn67.com 487 | discovercard.com 488 | ssa.gov 489 | epsilon.com 490 | kompasads.net 491 | nhl.com 492 | charter.net 493 | freeskreen.com 494 | groceryserver.com 495 | hitfix.com 496 | wgntv.com 497 | shareably.net 498 | education.com 499 | allmenus.com 500 | kaiserpermanente.org 501 | vantagemedia.com 502 | tribuneinteractive.com 503 | syracuse.com 504 | safeunsubscribing.com 505 | rantsports.com 506 | knowyourmeme.com 507 | safeway.com 508 | pressganey.com 509 | purplemath.com 510 | kmart.com 511 | townhall.com 512 | straightdope.com 513 | democrats.org 514 | lifedaily.com 515 | miamiherald.com 516 | nationalreview.com 517 | isidewith.com 518 | slideshare.net 519 | timeout.com 520 | lonny.com 521 | toofab.com 522 | elephantjournal.com 523 | gettyimages.com 524 | gofundme.com 525 | snopes.com 526 | styleads.de 527 | palmbeachletter.com 528 | collegespun.com 529 | chicagotribune.com 530 | actblue.com 531 | teracreative.com 532 | matadornetwork.com 533 | llbean.com 534 | irs.gov 535 | whatculture.com 536 | protected-payment-solutions.com 537 | wn.com 538 | mytheresa.com 539 | retailmenot.com 540 | tracfone.com 541 | pitchfork.com 542 | vanguard.com 543 | studyblue.com 544 | list-manage2.com 545 | dorkly.com 546 | liftable.com 547 | soma.com 548 | spokeo.com 549 | niche.com 550 | randpaul.com 551 | seventhavenue.com 552 | pressroomvip.com 553 | palmbeachgroup.com 554 | caringbridge.org 555 | blogher.org 556 | xwebseo.com 557 | whatbrowser.org 558 | flightaware.com 559 | uberhavoc.com 560 | priceline.com 561 | marriott.com 562 | grainger.com 563 | helzberg.com 564 | dunzo.net 565 | chwplan.com 566 | ato.mx 567 | alternet.org 568 | afftrackr.com 569 | thegrio.com 570 | myheritage.com 571 | wikihow.com 572 | theclickcheck.com 573 | listverse.com 574 | food4patriots.com 575 | jotform.com 576 | directv.com 577 | seattletimes.com 578 | eclinicalweb.com 579 | ancestry.com 580 | tvguide.com 581 | salsalabs.com 582 | homeadvisor.com 583 | videoswag.tv 584 | predicta.net 585 | sportingnews.com 586 | hollywoodreporter.com 587 | smithsonianmag.com 588 | socialchique.com 589 | thenextweb.com 590 | talkingpointsmemo.com 591 | mcafee.com 592 | therightways.com 593 | nextdoor.com 594 | manta.com 595 | sciencealert.com 596 | findagrave.com 597 | wral.com 598 | muscleandfitness.com 599 | delta.com 600 | blair.com 601 | pennlive.com 602 | carambo.la 603 | autotrader.com 604 | medicaldaily.com 605 | algebra.com 606 | hgtv.com 607 | astrology.com 608 | menards.com 609 | intuit.com 610 | eelaerankbuilder.com 611 | medallia.com 612 | egokick.com 613 | encyclopedia.com 614 | admtpmp123.com 615 | therecipespage.com 616 | rewardzoneusa.com 617 | mercurynews.com 618 | fiftyone.com 619 | holidayinn.com 620 | patch.com 621 | pastemagazine.com 622 | autoblog.com 623 | hiexpress.com 624 | h-cdn.co 625 | hotels.com 626 | eastbay.com 627 | kinja.com 628 | visa.com 629 | likesgag.com 630 | myway.com 631 | pubmine.com 632 | buzzlamp.com 633 | nationalmssociety.org 634 | wildtangent.com 635 | faithit.com 636 | travelsmith.com 637 | thepostgame.com 638 | kiplinger.com 639 | campaign-archive1.com 640 | costco-static.com 641 | groupon.com 642 | sciencedaily.com 643 | nasa.gov 644 | femmezine.com 645 | hercampus.com 646 | mashable.com 647 | gothamist.com 648 | warbirdinformationexchange.org 649 | bing-int.com 650 | beauty.com 651 | gurl.com 652 | bp.blogspot.com 653 | 411.com 654 | tunein.com 655 | iemooentypo.com 656 | ordergroove.com 657 | denverpost.com 658 | rev2pub.com 659 | aaa.com 660 | deseretnews.com 661 | outlook.com 662 | 123greetings.com 663 | cheezburger.com 664 | aa.com 665 | ppjol.com 666 | crocs.com 667 | comcast.com 668 | lakeside.com 669 | heritage.org 670 | fold3.com 671 | lyricsmode.com 672 | fansided.com 673 | cars.com 674 | experian.com 675 | cbc.ca 676 | metafilter.com 677 | attn.com 678 | kaspersky.com 679 | news-selfreliancecentral.com 680 | va.gov 681 | google.ca 682 | edigitalsurvey.com 683 | curbed.com 684 | po.st 685 | oprah.com 686 | ft.com 687 | washingtonexaminer.com 688 | modemediacorp.com 689 | gradesaver.com 690 | mommypage.com 691 | bleacherreport.com 692 | newyorker.com 693 | kfor.com 694 | instantcheckmate.com 695 | exclusivesandmore.com 696 | tickld.com 697 | optout-mzkl.net 698 | gemius.pl 699 | mnn.com 700 | bhphotovideo.com 701 | gannett-cdn.com 702 | foxbusiness.com 703 | ford.com 704 | librato.com 705 | vrbo.com 706 | collegeconfidential.com 707 | curiyo.com 708 | joann.com 709 | mommybase.com 710 | autozone.com 711 | lfb.org 712 | flipp.com 713 | queerty.com 714 | bloxcms.com 715 | christianbook.com 716 | trivago.com 717 | clicksvenue.com 718 | thinkgeek.com 719 | amarktflow.com 720 | backpage.com 721 | spnccrzone.com 722 | rantlifestyle.com 723 | securepaymentsnetwork.com 724 | beliefnet.com 725 | alot.com 726 | tigerdirect.com 727 | socialsecurity.gov 728 | cvent.com 729 | mercola.com 730 | funnyordie.com 731 | hiddenplaybook.com 732 | pgatour.com 733 | pof.com 734 | webbyads.net 735 | eventbrite.com 736 | leadpages.net 737 | globalgrind.com 738 | rantchic.com 739 | c-span.org 740 | masslive.com 741 | redbox.com 742 | mrctv.org 743 | fodors.com 744 | wehavetheperfectlawn.com 745 | azlyrics.com 746 | espn.com 747 | awesomeom.com 748 | motortrend.com 749 | kansascity.com 750 | fareportal.com 751 | morningstar.com 752 | travelocity.com 753 | toysrus.com 754 | speedfixtool.com 755 | traffichunt.com 756 | forsalebyowner.com 757 | ihg.com 758 | williams-sonoma.com 759 | idistracted.net 760 | bencarson.com 761 | thefreedictionary.com 762 | tasteofhome.com 763 | redfin.com 764 | senate.gov 765 | nmhfiles.com 766 | everydayhealth.com 767 | zdnet.com 768 | kroger.com 769 | tomshardware.com 770 | thepetitionsite.com 771 | logentries.com 772 | retailpromotionsonline.com 773 | thewebtrovert.com 774 | affiliatetechnology.com 775 | kirotv.com 776 | nflxext.com 777 | avast.com 778 | firefox.com 779 | survivetheenddays.com 780 | microsofttranslator.com 781 | nameberry.com 782 | ukiewzhangzhny1.net 783 | wired.com 784 | careerbuilder.com 785 | getit-free.us 786 | artofmanliness.com 787 | nps.gov 788 | horoscope.com 789 | ty7news.com 790 | alicdn.com 791 | indiatimes.com 792 | peisedata.net 793 | ohciybharatinfoservice.net 794 | evbuc.com 795 | amazon.ca 796 | sfglobe.com 797 | ebay.ca 798 | businessdictionary.com 799 | netapplications.com 800 | loccitane.com 801 | observer.com 802 | thegatewaypundit.com 803 | moveon.org 804 | mailmunch.co 805 | racked.com 806 | dealer.com 807 | swoop.com 808 | t-mobile.com 809 | connatix.com 810 | newsmemory.com 811 | holaefsdata.com 812 | potterybarn.com.au 813 | mydas.mobi 814 | zappos.com 815 | adamoads.com 816 | cargurus.com 817 | shopyourway.com 818 | house.gov 819 | cdn77.org 820 | babble.com 821 | sacbee.com 822 | fixthisnation.com 823 | meetup.com 824 | panerabread.com 825 | bookingbuddy.com 826 | cdc.gov 827 | koeghmixi-birthday.net 828 | pga.com 829 | cybersource.com 830 | libsyn.com 831 | nordstrom.com 832 | outdoorchannel.com 833 | doodle.com 834 | biblegateway.com 835 | dailysignal.com 836 | orbitz.com 837 | weekendcollective.com 838 | optout-fchd.net 839 | mmamania.com 840 | politifact.com 841 | at2solution.com 842 | cnsnews.com 843 | hsselite.com 844 | firsttoknow.com 845 | epicurious.com 846 | wa.gov 847 | ticketmaster.ca 848 | ookla.com 849 | sprint.com 850 | followmyhealth.com 851 | filehippo.com 852 | transsender.net 853 | clickhole.com 854 | optout-zqff.net 855 | caesars.com 856 | ibm.com 857 | fortune.com 858 | revolvermaps.com 859 | laweekly.com 860 | 120sports.com 861 | dineouttonight.net 862 | ooquaapbin.net 863 | latinpost.com 864 | itsup.com 865 | charlotteobserver.com 866 | hefty.co 867 | ongeedodirnime.net 868 | ox-dyp.com 869 | workingmother.com 870 | research.net 871 | wetransfer.com 872 | express-scripts.com 873 | fame10.com 874 | mydisneyresorts.com 875 | onegoodthingbyjillee.com 876 | macmillandictionary.com 877 | informationvine.com 878 | canon.com 879 | box.com 880 | honda.com 881 | parade.com 882 | bloglovin.com 883 | wxyz.com 884 | hearinglossreversed.net 885 | gomerblog.com 886 | travelnevada.com 887 | twitchy.com 888 | 4shared.com 889 | zazzle.com 890 | pcgamer.com 891 | mysimon.com 892 | thegrommet.com 893 | troweprice.com 894 | anv.bz 895 | vistaprint.com 896 | ancestrydata.com 897 | lanebryant.com 898 | ashleyrnadison.com 899 | candlewoodsuites.com 900 | fieldandstream.com 901 | rr.com 902 | hiegowebcode.net 903 | resourcedepot.info 904 | wftv.com 905 | erroranswers.com 906 | browsehappy.com 907 | hsn.com 908 | softcoin.com 909 | si.com 910 | toprightnews.com 911 | lightboxcdn.com 912 | olivegarden.com 913 | voxmedia.com 914 | wpxi.com 915 | demandforce.com 916 | familyhandyman.com 917 | ikea.com 918 | intellicast.com 919 | theberry.com 920 | movoto.com 921 | emedicinehealth.com 922 | usrfiles.com 923 | trustglobelife.com 924 | taeghyankeedownload.net 925 | timeinc.com 926 | popsci.com 927 | boingboing.net 928 | spotify.com 929 | rxlist.com 930 | secure-paymentscenter.com 931 | joeforamerica.com 932 | femdaily.com 933 | smartstream.tv 934 | aeceiamericanapparel.com 935 | thedenverchannel.com 936 | widgetmakr.com 937 | admtpmp124.com 938 | triviahive.com 939 | universalfreepress.com 940 | servebom.com 941 | ad.net 942 | homeaway.com 943 | adobelogin.com 944 | cox.net 945 | rejuvenation.com 946 | pubgears.com 947 | gop.com 948 | bizpacreview.com 949 | cmoglobal.org 950 | mapsofworld.com 951 | thehollywoodgossip.com 952 | newsok.com 953 | drugstore.com 954 | hobbylobby.com 955 | starwars.com 956 | inbox.com 957 | softwareupdateproduct.com 958 | abc15.com 959 | daechterra.com 960 | mynewsletterbuilder.com 961 | beautynewsnow.com 962 | news-medical.net 963 | homes.com 964 | caring.com 965 | timewarnercable.com 966 | palmbeachpost.com 967 | toptenreviews.com 968 | progressive.com 969 | biotrust.com 970 | eatingwell.com 971 | ballarddesigns.com 972 | mirror.co.uk 973 | statefarm.com 974 | flavorwire.com 975 | princess.com 976 | usccb.org 977 | iecohahasess.com 978 | picreel.com 979 | redflagnews.com 980 | familyshare.com 981 | yardbarker.com 982 | flx10.com 983 | change.org 984 | computerworld.com 985 | ahgieerincondren.com 986 | confirmit.com 987 | footlocker.com 988 | therighttobear.com 989 | potterybarnkids.com.au 990 | mmafighting.com 991 | mode-media.com 992 | vs3.com 993 | prageruniversity.com 994 | wsoctv.com 995 | microcenter.com 996 | songlyrics.com 997 | roowethe-open-mic.com 998 | tellmenow.com 999 | weeklystandard.com 1000 | wal.co 1001 | rightwingnews.com 1002 | wtop.com 1003 | westelm.com.au 1004 | chevrolet.com 1005 | jewsnews.co.il 1006 | arcgis.com 1007 | inkedmag.com 1008 | peoplestylewatch.com 1009 | superfatburningfats.com 1010 | afasv.net 1011 | rometime.net 1012 | wsdinsider.com 1013 | epson.com 1014 | myfitnesspal.com 1015 | dickssportinggoods.com 1016 | cbn.com 1017 | todaysinfo.net 1018 | zerohedge.com 1019 | compuwareapmaas.com 1020 | superpages.com 1021 | zenfolio.com 1022 | todayslifestyle.com 1023 | lightboxnodejs.azurewebsites.net 1024 | aurorasuite.com 1025 | massrel.io 1026 | easton.com 1027 | enstarz.com 1028 | comicbookresources.com 1029 | mbww.com 1030 | petco.com 1031 | getpocket.com 1032 | adseekmedia.com 1033 | craftsy.com 1034 | alaskaair.com 1035 | caranddriver.com 1036 | safedownloadsrus142.com 1037 | cxpublic.com 1038 | boreburn.com 1039 | jellyshare.com 1040 | tinarichardsrealtor.com 1041 | moneywise411.com 1042 | petapixel.com 1043 | tagged.com 1044 | globaltechadvice.com 1045 | unsubbr.com 1046 | vizury.com 1047 | com-systm.info 1048 | nametests.com 1049 | adp.com 1050 | phys.org 1051 | convergetrack.com 1052 | familysearch.org 1053 | windowscentral.com 1054 | queryly.com 1055 | ninewest.com 1056 | cheapoair.com 1057 | womanista.com 1058 | cruisecritic.com 1059 | gw-3d.com 1060 | talbots.com 1061 | yummly.com 1062 | tampabay.com 1063 | exchangesolutions.com 1064 | starcasm.net 1065 | leadid.com 1066 | yougov.com 1067 | ovh.net 1068 | cafemomstatic.com 1069 | drweil.com 1070 | kennethcole.com 1071 | zap2it.com 1072 | augur.io 1073 | teboodcincome.com 1074 | discoverexotic.com 1075 | telldc.com 1076 | elle.com 1077 | nextadvisor.com 1078 | thecustomredirect.net 1079 | searchall.com 1080 | frcaction.org 1081 | dsw.com 1082 | frys.com 1083 | designntrend.com 1084 | usatoday.com 1085 | eehuuchohanz.net 1086 | tinypic.com 1087 | securejump.net 1088 | hookeaffiliatebible.net 1089 | greatergood.com 1090 | healthcentral.com 1091 | chow.com 1092 | atlasobscura.com 1093 | tiphero.com 1094 | carid.com 1095 | bilinmedia.net 1096 | wiredforchange.com 1097 | credomobile.com 1098 | supertechconsult.com 1099 | yuku.com 1100 | spoonuniversity.com 1101 | mademan.com 1102 | newsbusters.org 1103 | qq.com 1104 | toshiba.com 1105 | alwaysbestresults.com 1106 | liquidustv.com 1107 | theadvocate.com 1108 | nba.com 1109 | fuse.tv 1110 | gamefaqs.com 1111 | moviefone.com 1112 | marketo.com 1113 | lendingtree.com 1114 | gossipbrunch.com 1115 | familychristianmail.com 1116 | bzgint.com 1117 | studentdoctor.net 1118 | history.com 1119 | wellness.com 1120 | liereylighting.net 1121 | hayneedle.com 1122 | mode.com 1123 | surveysamplesavings.com 1124 | aoroovmex.com 1125 | libertymutual.com 1126 | survivallife.com 1127 | newsobserver.com 1128 | rtm.com 1129 | webyclip.com 1130 | wingeflycell.net 1131 | thenation.com 1132 | onenewsnow.com 1133 | girlstalkinsmack.com 1134 | symantec.com 1135 | nrcc.org 1136 | gawker-labs.com 1137 | lenovo.com 1138 | meetme.com 1139 | hotwire.com 1140 | sportsmansguide.com 1141 | thestate.com 1142 | hillaryclinton.com 1143 | royalcaribbean.com 1144 | blackdoctor.org 1145 | opaengetpaidsurveys.com 1146 | phluidmedia.net 1147 | geico.com 1148 | jet.com 1149 | newspapers.com 1150 | mindplotter.com 1151 | outsideonline.com 1152 | ruinglampitrotan.com 1153 | silive.com 1154 | yourbiggestagetell.com 1155 | oracle.com 1156 | industrybrains.com 1157 | bookrags.com 1158 | imagebam.com 1159 | ohteisefasirmen.net 1160 | euquuherbal-nutrition.net 1161 | milb.com 1162 | virginia.gov 1163 | tomsguide.com 1164 | whosay.com 1165 | dailysnark.com 1166 | cbslocal.com 1167 | ads-front.com 1168 | optout-wcjl.net 1169 | jwplatform.com 1170 | tout.com 1171 | luckyorange.com 1172 | ncl.com 1173 | medscape.com 1174 | rickeysmileymorningshow.com 1175 | bostonglobe.com 1176 | askubuntu.com 1177 | hide-my-wallet-now.com 1178 | reason.com 1179 | onlinechic.com 1180 | boots.com 1181 | civicplus.com 1182 | pizzahut.com 1183 | blackoutusa.org 1184 | optout-sclp.net 1185 | formstack.com 1186 | compare99.com 1187 | homerunmonkey.com 1188 | naturalnews.com 1189 | sneakernews.com 1190 | nandomedia.com 1191 | usda.gov 1192 | easy-autoquotes.com 1193 | 247wallst.com 1194 | penfed.org 1195 | timetobreak.com 1196 | whitehouse.gov 1197 | dfas.mil 1198 | eviesays.com 1199 | baidu.com 1200 | 23andme.com 1201 | lovebscott.com 1202 | siecacutmirchi.net 1203 | thaidbooster-tv.com 1204 | extras-americanlibertypac.com 1205 | thetruthaboutguns.com 1206 | serverfault.com 1207 | cafepress.com 1208 | smilereminder.com 1209 | therightscoop.com 1210 | rubytuesdayrestaurants.com 1211 | consumerinput.com 1212 | clickadu.com 1213 | desk.com 1214 | filmon.com 1215 | xaghophpsupport.net 1216 | mgmresorts.com 1217 | rantpets.com 1218 | bloodyelbow.com 1219 | 7dayfitness.com 1220 | philly.com 1221 | hiphopdx.com 1222 | versahq.com 1223 | rocketway.net 1224 | treato.com 1225 | ibtracking.com 1226 | pillsbury.com 1227 | ausom.com 1228 | abebooks.com 1229 | weddingwire.com 1230 | squareup.com 1231 | afh1.net 1232 | adbrn.com 1233 | kqed.org 1234 | bonnerandpartners.com 1235 | wicaebestfedbooks.net 1236 | apxtarget.com 1237 | recruitics.com 1238 | hrblock.com 1239 | usoovautocatch.net 1240 | oxygen.com 1241 | midasplayer.com 1242 | reegiprepperwebsite.net 1243 | hngn.com 1244 | saveur.com 1245 | medixselect.com 1246 | sfbfat.com 1247 | consciouslyenlightened.com 1248 | bhg.com 1249 | fly.com 1250 | fool.com 1251 | icontact.com 1252 | 6abc.com 1253 | geekwire.com 1254 | mpeasylink.com 1255 | thingsremembered.com 1256 | carcarekiosk.com 1257 | treehugger.com 1258 | subway.com 1259 | wellnessjunky.com 1260 | truthfinder.com 1261 | ayaeteblastengine.net 1262 | targetedvictory.com 1263 | bizjournals.com 1264 | zndsk.com 1265 | aemaicompletelycoupons.net 1266 | oolavmatthewsvolvosite.com 1267 | krogerfeedback.com 1268 | ml.com 1269 | chicksontheright.com 1270 | localweatherforecast.co 1271 | vitacost.com 1272 | landwatch.com 1273 | si.edu 1274 | pages03.net 1275 | active.com 1276 | slader.com 1277 | prepped.com 1278 | adgearmedia.com 1279 | ftop.ru 1280 | petsmart.com 1281 | laist.com 1282 | navbug.com 1283 | gallup.com 1284 | coupons.com 1285 | babiesrus.com 1286 | memes.com 1287 | rockauto.com 1288 | iconosquare.com 1289 | thebrofessional.net 1290 | eengicutedirectory.net 1291 | pjmedia.com 1292 | redirectyourcarbs.com 1293 | popularmechanics.com 1294 | costcotravel.com 1295 | sammydress.com 1296 | discovery.com 1297 | tusualagranepoca.net 1298 | thewirecutter.com 1299 | charismanews.com 1300 | fatdiminisher.com 1301 | toyota.com 1302 | barnebys.com 1303 | wearethemighty.com 1304 | hotwirestatic.com 1305 | bleedinggreennation.com 1306 | medixselect.tv 1307 | thecleverowl.com 1308 | livescience.com 1309 | puritan.com 1310 | advocate.com 1311 | mediadirects.com 1312 | ohdeidefencetalk.com 1313 | justuno.com 1314 | viator.com 1315 | sciencebuddies.org 1316 | sony.com 1317 | lowermybills.com 1318 | earthlink.net 1319 | anm.co.uk 1320 | woobox.com 1321 | milkandcookies.com 1322 | star-telegram.com 1323 | gethardagain.com 1324 | webcrawler.com 1325 | songmeanings.com 1326 | genealogy.com 1327 | newrepublic.com 1328 | broadwayworld.com 1329 | factmonster.com 1330 | todayifoundout.com 1331 | midwayusa.com 1332 | leadpages.co 1333 | signforgood.com 1334 | thefiscaltimes.com 1335 | rightnowtech.com 1336 | engageya.com 1337 | windowstechies.com 1338 | ellentv.com 1339 | eechatapeciarnia.net 1340 | animalplanet.com 1341 | loc.gov 1342 | schwab.com 1343 | lds.org 1344 | lahchbutyk.com 1345 | storify.com 1346 | youmail.com 1347 | metropcs.com 1348 | policeone.com 1349 | moneymappress.com 1350 | unfriendtracker.com 1351 | fourleggedguru.com 1352 | terraclicks.com 1353 | tmosocial.com 1354 | cancer.org 1355 | bodybuilding.com 1356 | ziplist.com 1357 | reverbnation.com 1358 | standunited.org 1359 | popcash.net 1360 | softwareprojects.com 1361 | westword.com 1362 | insidegov.com 1363 | bestdeals.today 1364 | bahshmastiandhra.com 1365 | optout-wghd.net 1366 | aftomedia.com 1367 | foosifilmycz.com 1368 | headlinepolitics.com 1369 | blog.com 1370 | adfront.org 1371 | decider.com 1372 | videoamp.com 1373 | mail-unsub.net 1374 | humanapharmacy.com 1375 | quoohtheory11.com 1376 | gap.com 1377 | twcc.com 1378 | steamcommunity.com 1379 | richmond.com 1380 | brightcove.net 1381 | gocomics.com 1382 | komando.com 1383 | blacksportsonline.com 1384 | cdnplanet.com 1385 | rankingsandreviews.com 1386 | omaha.com 1387 | clickfuse.com 1388 | dntrax.com 1389 | tracfonewireless.com 1390 | theoatmeal.com 1391 | iqueekpt-news.com 1392 | softonicads.com 1393 | signupgenius.com 1394 | cornell.edu 1395 | bluemountain.com 1396 | houstonpress.com 1397 | cox.com 1398 | fixnow24.com 1399 | dashofwellness.com 1400 | pmclicks.com 1401 | nanorep.com 1402 | outback.com 1403 | mdmexclusives.com 1404 | abcactionnews.com 1405 | steampowered.com 1406 | actionnetwork.org 1407 | manta-r3.com 1408 | bargainlifestyle.com 1409 | qvcchat.com 1410 | votevets.org 1411 | curejoy.com 1412 | eivahdirectoryfree.com 1413 | tulsaworld.com 1414 | tag4arm.com 1415 | wwwnj.com 1416 | healthrevelations.net 1417 | ovguide.com 1418 | godiva.com 1419 | jetsetter.com 1420 | shopsocially.com 1421 | vid2play.com 1422 | fitpregnancy.com 1423 | metmuseum.org 1424 | shebudgets.com 1425 | bettycrocker.com 1426 | ltdcommodities.com 1427 | 24-finances-news.com 1428 | ladyfootlocker.com 1429 | diabetes.org 1430 | radio.com 1431 | jewishjournal.com 1432 | humana.com 1433 | clevelandclinic.org 1434 | rei.com 1435 | mycokerewards.com 1436 | suntrust.com 1437 | 6pm.com 1438 | ghmediatrending.com 1439 | sessionm.com 1440 | aedeekooldesignmaker.com 1441 | sellitpage.com 1442 | hemmings.com 1443 | goodrx.com 1444 | 800notes.com 1445 | picmonkey.com 1446 | dunhilltraveldeals.com 1447 | pogo.com 1448 | hotrod.com 1449 | meijer.com 1450 | hihizrmctalk.com 1451 | upsocl.com 1452 | inflexwetrust.com 1453 | ronpaulupdate.com 1454 | asus.com 1455 | iathuyoutube.net 1456 | calottery.com 1457 | chatid.com 1458 | hotties-finder.com 1459 | ecn5.com 1460 | ticketm.net 1461 | brothersoft.com 1462 | zdbb.net 1463 | goodmenproject.com 1464 | classiccars.com 1465 | snapfish.com 1466 | ny.gov 1467 | pulptastic.com 1468 | clashdaily.com 1469 | engagesciences.com 1470 | hanes.com 1471 | iahohlibrarycatalog.com 1472 | izito.com 1473 | accesshollywood.com 1474 | latintimes.com 1475 | landofnod.com 1476 | printfriendly.com 1477 | ad-back.net 1478 | rqqpd.com 1479 | gm.com 1480 | wonderhowto.com 1481 | barclaycardus.com 1482 | acehardware.com 1483 | starbucks.com 1484 | optimum.net 1485 | tcm.com 1486 | hautespotter.com 1487 | crosswordtracker.com 1488 | thefader.com 1489 | sun-sentinel.com 1490 | definefood.com 1491 | rogerebert.com 1492 | subhq.net 1493 | kicksonfire.com 1494 | nexage.com 1495 | birchgold.com 1496 | bronto.com 1497 | wiktionary.org 1498 | auto-price-finder.com 1499 | mailicm.com 1500 | freeembroiderystuff.com 1501 | zapmeta.com 1502 | abctrcker.com 1503 | loading-delivery1.com 1504 | ning.com 1505 | pbworks.com 1506 | dillards.com 1507 | wine-searcher.com 1508 | eishechick.net 1509 | greenvillegazette.com 1510 | lkqd.net 1511 | 100percentfedup.com 1512 | mileskimball.com 1513 | wcpo.com 1514 | lininteractive.com 1515 | glennbeck.com 1516 | outdoorlife.com 1517 | myshopify.com 1518 | admatic.com.tr 1519 | crateandbarrel.com 1520 | shopstyle.com 1521 | businessdailygroup.com 1522 | mayoclinic.org 1523 | goodgamestudios.com 1524 | newsnet5.com 1525 | realsimple.com 1526 | clktraker.com 1527 | panasonic.com 1528 | draxe.com 1529 | jsonline.com 1530 | geeksquad.com 1531 | iejaharreyadi.net 1532 | keigotmtforum.com 1533 | kelloggsfamilyrewards.com 1534 | entrepreneur.com 1535 | jumptime.com 1536 | frtya.com 1537 | sparkpeople.com 1538 | zoominfo.com 1539 | shpg.org 1540 | wfla.com 1541 | in.gov 1542 | instaflex.com 1543 | campusriot.com 1544 | mydentalvisit.com 1545 | nputgaming.com 1546 | estately.com 1547 | paltalk.com 1548 | dccc.org 1549 | regions.com 1550 | planetminecraft.com 1551 | viralworld.net 1552 | jetblue.com 1553 | t-analytics.com 1554 | mshare.net 1555 | garmin.com 1556 | northerntool.com 1557 | sumologic.com 1558 | peekyou.com 1559 | email-cooking.com 1560 | psu.edu 1561 | starwoodhotels.com 1562 | franklinprosperityreport.com 1563 | theedmiracle.org 1564 | pinimg.com 1565 | onlyinyourstate.com 1566 | moneysavingmom.com 1567 | rtbsrv.com 1568 | ultracart.com 1569 | guim.co.uk 1570 | tlscdn.com 1571 | e-rewards.com 1572 | readysettrek.com 1573 | everquote.com 1574 | office365.com 1575 | paekogameqq.net 1576 | fda.gov 1577 | musictimes.com 1578 | listmanager.co 1579 | flightstats.com 1580 | miaminewtimes.com 1581 | researchnow.com 1582 | finecooking.com 1583 | kayak.com 1584 | out.com 1585 | imagevenue.com 1586 | mrconservative.com 1587 | sunset.com 1588 | janraincapture.com 1589 | focusonthefamily.com 1590 | ed.gov 1591 | bigfishgames.com 1592 | 53.com 1593 | adinfinity.com.au 1594 | pier1.com 1595 | unsub-getitfree.com 1596 | movies.com 1597 | spectrum.com 1598 | qmerce.com 1599 | vanityfair.com 1600 | jungleheart.com 1601 | carthrottle.com 1602 | ziffdavis.com 1603 | bttmec.com 1604 | thescene.com 1605 | teach12.net 1606 | frc.org 1607 | ip-pool.com 1608 | cityspark.com 1609 | anvato.com 1610 | mailchimp.com 1611 | slimail.com 1612 | hotair.com 1613 | wustl.edu 1614 | nascar.com 1615 | solarsteampower.com 1616 | whio.com 1617 | applebees.com 1618 | lotterypost.com 1619 | awesomepethealth.com 1620 | symptomfind.com 1621 | theglobeandmail.com 1622 | everythingfinanceblog.com 1623 | paulaschoice.com 1624 | intelius.com 1625 | embedly.com 1626 | care2.com 1627 | thepioneerwoman.com 1628 | tbo.com 1629 | schoolwires.com 1630 | rsys2.net 1631 | overdrive.com 1632 | kickstarter.com 1633 | thohfhotels.com 1634 | puzzlejet.com 1635 | zacks.com 1636 | 1stdibs.com 1637 | recode.net 1638 | optumrx.com 1639 | mcclatchydc.com 1640 | ucomparehealthcare.com 1641 | mikle.com 1642 | carmax.com 1643 | diynetwork.com 1644 | mail.ru 1645 | nextmd.com 1646 | lehighvalleylive.com 1647 | playster.com 1648 | ienguthevictoriaadvocate.net 1649 | wkyt.com 1650 | medicare.gov 1651 | thelightvegas.com 1652 | boostbrief.net 1653 | satmetrix.com 1654 | cooks.com 1655 | backyardchickens.com 1656 | apartmentguide.com 1657 | undergradsuccess.com 1658 | pinchofyum.com 1659 | salememail.net 1660 | quora.com 1661 | msn.net 1662 | dominos.com 1663 | manualslib.com 1664 | forwardprogressives.com 1665 | eenebpersonalizaroblogger.net 1666 | primalhealthcrm.com 1667 | donotcall.gov 1668 | hoptopboy.com 1669 | ovaivtravelscout24.com 1670 | tomtom.com 1671 | asdfzxcv1312.com 1672 | kentucky.com 1673 | healthnewsadvice.com 1674 | tarot.com 1675 | familyeducation.com 1676 | wsj.net 1677 | clickpapa.com 1678 | oonoyvestidadenoiva.com 1679 | aokeeauxiliar-de-enfermeria.com 1680 | thegameraccess.com 1681 | etahub.com 1682 | americanpatriotdaily.com 1683 | ballotpedia.org 1684 | silkroad.com 1685 | yandex.ru 1686 | vacationstogo.com 1687 | wikidot.com 1688 | revee.com 1689 | wizzed.com 1690 | dealzingo.com 1691 | jobdiagnosis.com 1692 | crunchbase.com 1693 | car-research.com 1694 | provide-savings-unsubs.com 1695 | nhs.uk 1696 | altpress.com 1697 | diedieverydayonsales.net 1698 | hipmunk.com 1699 | celebritycruises.com 1700 | fi.com 1701 | ranthollywood.com 1702 | campaignsolutions.com 1703 | army.mil 1704 | adweek.com 1705 | bridaltune.com 1706 | sportsauthority.com 1707 | stophillarypac.org 1708 | stringsgenerator.com 1709 | pressdemocrat.com 1710 | localglamour.com 1711 | wannasmile.com 1712 | bjs.com 1713 | amazon.co.uk 1714 | what-character-are-you.com 1715 | doctoroz.com 1716 | iobit.com 1717 | addapinch.com 1718 | cqrcengage.com 1719 | tv.com 1720 | craigslist.ca 1721 | aiquicitycell.net 1722 | daedafreeride.net 1723 | iethociadosdescontos.com 1724 | moviecli.ps 1725 | usgs.gov 1726 | ameritrade.com 1727 | ctpost.com 1728 | theunknownsmovie.com 1729 | stubhub.com 1730 | state.gov 1731 | payless.com 1732 | 123rf.com 1733 | adorama.com 1734 | harrys.com 1735 | mountainhardwear.com 1736 | gamerang.net 1737 | rhl.org 1738 | roeghnbs-system.com 1739 | liquor.com 1740 | marijuana.com 1741 | webshots.com 1742 | fundsxpress.com 1743 | relish.com 1744 | nasdaq.com 1745 | proflowers.com 1746 | gomumsy.com 1747 | static-homes.com 1748 | arcgisonline.com 1749 | doityourself.com 1750 | verticalresponse.com 1751 | smartbrief.com 1752 | billskhakis.com 1753 | norton.com 1754 | surveymyopinion.com 1755 | searchresultsemporium.com 1756 | ebay.co.uk 1757 | redlobster.com 1758 | hongkiat.com 1759 | newsday.com 1760 | sharefile.com 1761 | cruisecontroldiet.com 1762 | ioffer.com 1763 | speedway.com 1764 | 8tracks.com 1765 | parentsociety.com 1766 | trk4.com 1767 | disneyjunior.com 1768 | sorel.com 1769 | bestplaces.net 1770 | dreamstime.com 1771 | advconversion.com 1772 | harp-approvals.org 1773 | newson6.com 1774 | lookmagazine.us 1775 | zonealarm.com 1776 | creativebloq.com 1777 | icloud.com 1778 | thestranger.com 1779 | reshareworthy.com 1780 | apollocdn.com 1781 | evitecdn.com 1782 | grocerycouponnetwork.com 1783 | anguoanti-malware.net 1784 | sympoz.com 1785 | aspca.org 1786 | disneybaby.com 1787 | shutterstock.com 1788 | ziprecruiter.com 1789 | worldwiderecipe.com 1790 | 1funny.com 1791 | goldstar.com 1792 | blabbermouth.net 1793 | chost2.com 1794 | topfashionwear.com 1795 | discountdrivers.com 1796 | rushlimbaugh.com 1797 | flexitive.com 1798 | peaklife.com 1799 | appleinsider.com 1800 | advancedpccare.com 1801 | maxpreps.com 1802 | themarysue.com 1803 | invoca.net 1804 | latambrokers.com 1805 | tvfanatic.com 1806 | 10news.com 1807 | womansday.com 1808 | askthis.org 1809 | maxworkouts.com 1810 | truthorfiction.com 1811 | simpleoffgridsystem.com 1812 | drawastickman.com 1813 | bufferapp.com 1814 | backgroundalert.com 1815 | mobiondeal.com 1816 | aimediagroup.com 1817 | 90min.com 1818 | dunelondon.com 1819 | appsverse.com 1820 | worldmarket.com 1821 | offerpop.com 1822 | basspro.com 1823 | proxyvote.com 1824 | nethugs.com 1825 | softpedia.com 1826 | trimdownclub.com 1827 | eixaegoogle.net 1828 | audioeye.com 1829 | androidpolice.com 1830 | biblehub.com 1831 | pardot.com 1832 | nero.com 1833 | news9.com 1834 | brickworkplanning.net 1835 | cimcontent.net 1836 | maillist-manage.com 1837 | knoxnews.com 1838 | consumers-reviews.info 1839 | latest-hairstyles.com 1840 | caremark.com 1841 | rickey.org 1842 | reynoldskitchens.com 1843 | amtrak.com 1844 | quibblo.com 1845 | contourgroup.com 1846 | bloodpressuresolution.com 1847 | carnival.com 1848 | musiciansfriend.com 1849 | vividseats.com 1850 | vetstreet.com 1851 | consumers-survey.org 1852 | alltrails.com 1853 | autismspeaks.org 1854 | ieroobetacash.com 1855 | buzzcontrol.com 1856 | giveworks.net 1857 | drsfostersmith.com 1858 | riteaid.com 1859 | topspeed.com 1860 | tinyurl.com 1861 | phoenixnewtimes.com 1862 | flyfrontier.com 1863 | markebase.net 1864 | americaloveshorsepower.com 1865 | objectpatterns.com 1866 | allmusic.com 1867 | hclips.com 1868 | eddiebauer.com 1869 | barackobama.com 1870 | ohpomsoloadsagency.net 1871 | naeghencuentraprecios.net 1872 | niwiebelajaringgris.com 1873 | blackgirllonghair.com 1874 | cardinalcommerce.com 1875 | bigcommerce.com 1876 | ewikin.com 1877 | choxi.com 1878 | houselogic.com 1879 | lifelock.com 1880 | epochtimes.com 1881 | sweepsfulfill.com 1882 | iloveoldschoolmusic.com 1883 | oorohneedhot.net 1884 | tune.pk 1885 | vauyimaslak1453.com 1886 | boredlion.com 1887 | turbobytes.com 1888 | eefahtorrentleech.net 1889 | myajc.com 1890 | lin-digital.com 1891 | academia.edu 1892 | capitalone360.com 1893 | freeshipping.com 1894 | eiraealturahb.net 1895 | villagevoice.com 1896 | thenewcivilrightsmovement.com 1897 | turbobytes.net 1898 | michigan.gov 1899 | tedcruz.org 1900 | bloomingdales.com 1901 | citrixonline.com 1902 | rm0007.net 1903 | citicards.com 1904 | receleb.com 1905 | celebuzz.com 1906 | optum.com 1907 | dcgazette.com 1908 | 12tomatoes.com 1909 | beverlyhills-md.com 1910 | universityofguns.com 1911 | jtv.com 1912 | securedpayments-network.com 1913 | ahriishenjiang120.net 1914 | tawk.to 1915 | edwardjones.com 1916 | markandgraham.com 1917 | billmelater.com 1918 | bbt.com 1919 | planningcenteronline.com 1920 | duckduckgo.com 1921 | look.com 1922 | metacafe.com 1923 | thepointsguy.com 1924 | searchscroll.com 1925 | psychologytoday.com 1926 | dallasnews.com 1927 | strategicinvestment.com 1928 | pbteen.com 1929 | watchmygf.to 1930 | engadget.com 1931 | bible.com 1932 | prevention.com 1933 | piano-media.com 1934 | thelovelyplanet.net 1935 | tdameritrade.com 1936 | acexedge.com 1937 | glamourpage.com 1938 | berniesanders.com 1939 | naturallycurly.com 1940 | openstreetmap.org 1941 | godatafeed.com 1942 | homedit.com 1943 | onetravel.com 1944 | dental-implant-options.com 1945 | wellsfargoadvisors.com 1946 | snapengage.com 1947 | dvidshub.net 1948 | shoppersvoice.com 1949 | foodbeast.com 1950 | maisreceitas.com 1951 | mstarz.com 1952 | insuranceslip.com 1953 | magiquiz.com 1954 | hot97.com 1955 | thealternativedaily.com 1956 | fashionista.com 1957 | gotquestions.org 1958 | buzzya.com 1959 | aiziewallpaperstate.com 1960 | ixeifgadget.com 1961 | vast.com 1962 | politicususa.com 1963 | azbackpackers.com 1964 | escalate.com 1965 | wptv.com 1966 | wyndhamrewards.com 1967 | lenscrafters.com 1968 | lifefactopia.com 1969 | zorpia.com 1970 | deem.com 1971 | roomkey.com 1972 | informars.com 1973 | contextly.com 1974 | mybigcommerce.com 1975 | searchquirk.com 1976 | rtdock.com 1977 | corestandards.org 1978 | voluumtrk.com 1979 | pushauction.com 1980 | scribblelive.com 1981 | threepercenternation.com 1982 | orientaltrading.com 1983 | movieinsider.com 1984 | wallstreetdaily.com 1985 | ailohdoor2windows.net 1986 | ielohicsc.com 1987 | planet49.com 1988 | caseyresearch.com 1989 | airbnb.com 1990 | 9news.com 1991 | earthsky.org 1992 | statesman.com 1993 | inthecompanyofdogs.com 1994 | aetndigital.com 1995 | imperialsearch.com 1996 | awstls.com 1997 | pace.com 1998 | jungroup.com 1999 | techspot.com 2000 | familytreenow.com -------------------------------------------------------------------------------- /sample-apps/userdata/sample_target_hosts_top500.txt: -------------------------------------------------------------------------------- 1 | google.com 2 | youtube.com 3 | facebook.com 4 | msn.com 5 | twitter.com 6 | bing.com 7 | yelp.com 8 | amazon.com 9 | microsoft.com 10 | answers.com 11 | buzzfeed.com 12 | pinterest.com 13 | live.com 14 | yahoo.com 15 | ebay.com 16 | wikipedia.org 17 | aol.com 18 | wikia.com 19 | paypal.com 20 | ask.com 21 | linkedin.com 22 | about.com 23 | wordpress.com 24 | blogger.com 25 | diply.com 26 | craigslist.org 27 | bustle.com 28 | blogspot.com 29 | urbandictionary.com 30 | whitepages.com 31 | weather.com 32 | walmart.com 33 | mozilla.org 34 | stackexchange.com 35 | adobe.com 36 | wayfair.com 37 | vimeo.com 38 | quizlet.com 39 | sbnation.com 40 | nydailynews.com 41 | nytimes.com 42 | healthline.com 43 | imgur.com 44 | legacy.com 45 | wellsfargo.com 46 | usmagazine.com 47 | dose.com 48 | comcast.net 49 | topix.com 50 | ijreview.com 51 | mapquest.com 52 | godaddy.com 53 | uproxx.com 54 | go.com 55 | babycenter.com 56 | goodreads.com 57 | bizrate.com 58 | southwest.com 59 | refinery29.com 60 | glassdoor.com 61 | 247sports.com 62 | fandango.com 63 | nbcsports.com 64 | imdb.com 65 | instructables.com 66 | theverge.com 67 | thechive.com 68 | chase.com 69 | ibtimes.com 70 | people.com 71 | distractify.com 72 | rare.us 73 | yourdailydish.com 74 | deviantart.com 75 | apple.com 76 | city-data.com 77 | mic.com 78 | vox.com 79 | photobucket.com 80 | att.com 81 | ups.com 82 | hubpages.com 83 | usps.com 84 | al.com 85 | tmz.com 86 | theblaze.com 87 | moviepilot.com 88 | qpolitical.com 89 | rollingstone.com 90 | webmd.com 91 | instagram.com 92 | lifehacker.com 93 | rawstory.com 94 | booking.com 95 | guff.com 96 | ranker.com 97 | zillow.com 98 | yellowpages.com 99 | upworthy.com 100 | americanoverlook.com 101 | gizmodo.com 102 | tripadvisor.com 103 | hp.com 104 | theonion.com 105 | nbcnews.com 106 | thoughtcatalog.com 107 | gfycat.com 108 | nj.com 109 | westernjournalism.com 110 | opposingviews.com 111 | faithtap.com 112 | youngcons.com 113 | thekitchn.com 114 | target.com 115 | dailydot.com 116 | bankofamerica.com 117 | inquisitr.com 118 | bestbuy.com 119 | gawker.com 120 | rottentomatoes.com 121 | myspace.com 122 | homedepot.com 123 | fedex.com 124 | staples.com 125 | eonline.com 126 | dmv.org 127 | etsy.com 128 | salon.com 129 | examiner.com 130 | sears.com 131 | buzzlie.com 132 | reddit.com 133 | cheatsheet.com 134 | deadspin.com 135 | mlb.com 136 | radaronline.com 137 | androidcentral.com 138 | drudgereport.com 139 | merriam-webster.com 140 | mentalfloss.com 141 | windows.com 142 | cnet.com 143 | skype.com 144 | nbc.com 145 | mlive.com 146 | hellogiggles.com 147 | stackoverflow.com 148 | bbb.org 149 | brainjet.com 150 | myrecipes.com 151 | emgn.com 152 | allenbwest.com 153 | brommando.com 154 | cbssports.com 155 | expedia.com 156 | cinemablend.com 157 | cnbc.com 158 | msnbc.com 159 | dailykos.com 160 | liftbump.com 161 | cvs.com 162 | ozy.com 163 | omgfacts.com 164 | cnn.com 165 | fidelity-media.com 166 | newsmax.com 167 | patheos.com 168 | jezebel.com 169 | americanexpress.com 170 | lifescript.com 171 | today.com 172 | powerinbox.com 173 | someecards.com 174 | thehill.com 175 | twitch.tv 176 | howtogeek.com 177 | potterybarn.com 178 | netflix.com 179 | eater.com 180 | internetautoguide.com 181 | macrumors.com 182 | io9.com 183 | evite.com 184 | stripe.com 185 | okmagazine.com 186 | disney.com 187 | costco.com 188 | kohls.com 189 | independent.co.uk 190 | shopping.com 191 | pixable.com 192 | thepoliticalinsider.com 193 | jcpenney.com 194 | overstock.com 195 | lpsnmedia.net 196 | smarter.com 197 | capitalone.com 198 | crowdsocial.com 199 | imore.com 200 | zimbio.com 201 | suggest.com 202 | alibaba.com 203 | timeanddate.com 204 | lowes.com 205 | twentytwowords.com 206 | nih.gov 207 | enotes.com 208 | abcmenorca.net 209 | flickr.com 210 | boxingmoney.com 211 | nesn.com 212 | starpulse.com 213 | sfgate.com 214 | toptenvideos.com 215 | walgreens.com 216 | liveleak.com 217 | cc.com 218 | beenverified.com 219 | turner.com 220 | trulia.com 221 | fidelity.com 222 | oregonlive.com 223 | discover.com 224 | mosthappy.com 225 | travelzoo.com 226 | shmoop.com 227 | americannews.com 228 | dailymail.co.uk 229 | kotaku.com 230 | ulta.com 231 | macys.com 232 | driversupport.com 233 | lifebuzz.com 234 | usaa.com 235 | dailycaller.com 236 | cleveland.com 237 | stylebistro.com 238 | connect5364.com 239 | stuccu.com 240 | office.com 241 | apartmenttherapy.com 242 | ask.fm 243 | ticketmaster.com 244 | verizon.com 245 | break.com 246 | onestore.ms 247 | seriouseats.com 248 | brobible.com 249 | fuel451.com 250 | playboy.com 251 | googletagmanager.com 252 | tiqcdn.com 253 | dummies.com 254 | techradar.com 255 | atemda.com 256 | getitfree.us 257 | creditkarma.com 258 | thinkprogress.org 259 | weather.gov 260 | prisacom.com 261 | odometer.com 262 | theguardian.com 263 | politico.com 264 | softonic.com 265 | southernliving.com 266 | superuser.com 267 | thefederalistpapers.org 268 | ybx.io 269 | n192adserv.com 270 | cabelas.com 271 | minq.com 272 | movable-ink-2183.com 273 | britannica.com 274 | clipd.com 275 | collegehumor.com 276 | deliverimp.com 277 | jalopnik.com 278 | dallasblack.com 279 | getdrivingdirections.co 280 | pbs.org 281 | zoomads.net 282 | cookinglight.com 283 | giphy.com 284 | ironbeast.io 285 | ca.gov 286 | edmunds.com 287 | mobilelikez.com 288 | worldlifestyle.com 289 | coupons.net 290 | drugs.com 291 | pch.com 292 | fixya.com 293 | unsubscribe-4-63.com 294 | adsupply.com 295 | csmonitor.com 296 | gravatar.com 297 | chacha.com 298 | nfl.com 299 | choicehotels.com 300 | washingtontimes.com 301 | thirdpresence.com 302 | indiegogo.com 303 | mbiscotti.com 304 | aarp.org 305 | srvv.co 306 | healthgrades.com 307 | cbsnews.com 308 | synoloads.com 309 | mensfitness.com 310 | foodnetwork.com 311 | ultimate-guitar.com 312 | saturdaydownsouth.com 313 | cloudsponge.com 314 | avclub.com 315 | adserve.io 316 | eleadcrm.com 317 | webroot.com 318 | ajc.com 319 | wsbtv.com 320 | npr.org 321 | medicinenet.com 322 | visualstudio.com 323 | basestyle.org 324 | nola.com 325 | businessinsider.com 326 | newser.com 327 | theatlantic.com 328 | lg.com 329 | wimp.com 330 | vitals.com 331 | bedbathandbeyond.com 332 | startribune.com 333 | yourtango.com 334 | aolsearch.com 335 | idigitaltimes.com 336 | allstateagencies.com 337 | thangasoline.com 338 | citibank.com 339 | jambia.com 340 | telemundo.com 341 | vine.co 342 | swifty.com 343 | carhartt.com 344 | consumerreports.org 345 | mysynchrony.com 346 | nmcdn.us 347 | trustpilot.com 348 | food.com 349 | aliexpress.com 350 | popsugar.com 351 | bandcamp.com 352 | wow.com 353 | iasds01.com 354 | medicalnewstoday.com 355 | envywomen.com 356 | agorafinancial.com 357 | carters.com 358 | rotoworld.com 359 | barnesandnoble.com 360 | newsweek.com 361 | hilton.com 362 | greatschools.org 363 | billoreilly.com 364 | puckermob.com 365 | easybib.com 366 | petfinder.com 367 | livingly.com 368 | analytics-egain.com 369 | unilad.co.uk 370 | usa.gov 371 | grindtv.com 372 | totalrewards.com 373 | wix.com 374 | looper.com 375 | wunderground.com 376 | scout.com 377 | noaa.gov 378 | michaels.com 379 | hotnewhiphop.com 380 | dropbox.com 381 | greatist.com 382 | ebaumsworld.com 383 | americanews.com 384 | jumblejoy.com 385 | united.com 386 | shopify.com 387 | infowars.com 388 | newegg.com 389 | videostat.com 390 | oola.com 391 | tributes.com 392 | googlevideo.com 393 | angieslist.com 394 | fitbit.com 395 | comicbook.com 396 | qvc.com 397 | boomtrain.com 398 | boostable.com 399 | btttag.com 400 | hotjar.com 401 | tvaccessnow.com 402 | videoactivenetwork.tv 403 | interactivebrokers.com 404 | economist.com 405 | indeed.com 406 | citi.com 407 | pagesix.com 408 | archive.org 409 | vennq.com 410 | atomica.com 411 | wnd.com 412 | sharecare.com 413 | viralands.com 414 | shape.com 415 | latimes.com 416 | wikimedia.org 417 | dish.com 418 | infoplease.com 419 | allrecipes.com 420 | mediaite.com 421 | ink361.com 422 | befrugal.com 423 | viewwonder.com 424 | justanswer.com 425 | azurewebsites.net 426 | ksl.com 427 | 247-inc.net 428 | cdnpps.us 429 | 9to5mac.com 430 | kinja-static.com 431 | good.is 432 | xfinity.com 433 | dailysanctuary.com 434 | local.com 435 | smosh.com 436 | tstags.com 437 | gunbroker.com 438 | fishwrapper.com 439 | nationalgeographic.com 440 | siriusxm.com 441 | bravotv.com 442 | officedepot.com 443 | simplyhired.com 444 | wittyfeed.com 445 | sovereignsociety.com 446 | rollbar.com 447 | hsionlineorders.net 448 | bradsdeals.com 449 | malwarebytes.org 450 | womanfreebies.com 451 | force.com 452 | blessings.com 453 | techtimes.com 454 | presscdn.com 455 | reuters.com 456 | usbank.com 457 | patient.info 458 | fanplayr.com 459 | king.com 460 | hulu.com 461 | kabbage.com 462 | thepennyhoarder.com 463 | mrc-isaca.org 464 | howstuffworks.com 465 | phluidmediacrv.net 466 | snapwidget.com 467 | zadsy.com 468 | aabkc.com 469 | clickcertain.com 470 | potterybarnkids.com 471 | microsoftstore.com 472 | peoplefinders.com 473 | biglots.com 474 | inspiremore.com 475 | sumome.com 476 | samsclub.com 477 | roku.com 478 | brainfall.com 479 | polygon.com 480 | usnews.com 481 | scribd.com 482 | nile.works 483 | kbb.com 484 | experienceproject.com 485 | cbs.com 486 | unsubjn67.com 487 | discovercard.com 488 | ssa.gov 489 | epsilon.com 490 | kompasads.net 491 | nhl.com 492 | charter.net 493 | freeskreen.com 494 | groceryserver.com 495 | hitfix.com 496 | wgntv.com 497 | shareably.net 498 | education.com 499 | allmenus.com 500 | kaiserpermanente.org -------------------------------------------------------------------------------- /sample-apps/userdata/sample_target_hosts_top500_old.txt: -------------------------------------------------------------------------------- 1 | www.facebook.com 2 | www.twitter.com 3 | www.google.com 4 | www.youtube.com 5 | www.wordpress.org 6 | www.adobe.com 7 | www.blogspot.com 8 | www.wikipedia.org 9 | www.wordpress.com 10 | www.linkedin.com 11 | www.yahoo.com 12 | www.amazon.com 13 | www.flickr.com 14 | www.w3.org 15 | www.pinterest.com 16 | www.apple.com 17 | www.tumblr.com 18 | www.myspace.com 19 | www.microsoft.com 20 | www.vimeo.com 21 | www.digg.com 22 | www.stumbleupon.com 23 | www.baidu.com 24 | www.addthis.com 25 | www.miibeian.gov.cn 26 | www.statcounter.com 27 | www.bit.ly 28 | www.feedburner.com 29 | www.nytimes.com 30 | www.reddit.com 31 | www.delicious.com 32 | www.msn.com 33 | www.macromedia.com 34 | www.bbc.co.uk 35 | www.weebly.com 36 | www.blogger.com 37 | www.icio.us 38 | www.goo.gl 39 | www.gov.uk 40 | www.cnn.com 41 | www.yandex.ru 42 | www.webs.com 43 | www.google.de 44 | www.mail.ru 45 | www.livejournal.com 46 | www.sourceforge.net 47 | www.go.com 48 | www.imdb.com 49 | www.jimdo.com 50 | www.instagram.com 51 | www.free.fr 52 | www.tinyurl.com 53 | www.fc2.com 54 | www.google.co.jp 55 | www.typepad.com 56 | www.joomla.org 57 | www.technorati.com 58 | www.t.co 59 | www.networkadvertising.org 60 | www.sina.com.cn 61 | www.creativecommons.org 62 | www.about.com 63 | www.vk.com 64 | www.yahoo.co.jp 65 | www.guardian.co.uk 66 | www.aol.com 67 | www.google.co.uk 68 | www.nih.gov 69 | www.tripod.com 70 | www.hugedomains.com 71 | www.mozilla.org 72 | www.wsj.com 73 | www.ameblo.jp 74 | www.ebay.com 75 | www.huffingtonpost.com 76 | www.europa.eu 77 | www.rambler.ru 78 | www.51.la 79 | www.gnu.org 80 | www.theguardian.com 81 | www.bing.com 82 | www.geocities.com 83 | www.taobao.com 84 | www.godaddy.com 85 | www.mapquest.com 86 | www.issuu.com 87 | www.washingtonpost.com 88 | www.photobucket.com 89 | www.slideshare.net 90 | www.reuters.com 91 | www.wix.com 92 | www.clickbank.net 93 | www.163.com 94 | www.homestead.com 95 | www.posterous.com 96 | www.forbes.com 97 | www.soundcloud.com 98 | www.cnet.com 99 | www.amazon.co.uk 100 | www.etsy.com 101 | www.usatoday.com 102 | www.intoidc.net 103 | www.dailymotion.com 104 | www.weibo.com 105 | www.archive.org 106 | www.phpbb.com 107 | www.yelp.com 108 | www.telegraph.co.uk 109 | www.constantcontact.com 110 | www.phoca.cz 111 | www.latimes.com 112 | www.php.net 113 | www.rakuten.co.jp 114 | www.amazon.de 115 | www.google.fr 116 | www.ning.com 117 | www.opera.com 118 | www.live.com 119 | www.scribd.com 120 | www.squidoo.com 121 | www.sakura.ne.jp 122 | www.altervista.org 123 | www.sohu.com 124 | www.cdc.gov 125 | www.dailymail.co.uk 126 | www.mit.edu 127 | www.deviantart.com 128 | www.wikimedia.org 129 | www.e-recht24.de 130 | www.google.it 131 | www.parallels.com 132 | www.time.com 133 | www.stanford.edu 134 | www.harvard.edu 135 | www.addtoany.com 136 | www.bbb.org 137 | www.alibaba.com 138 | www.nasa.gov 139 | www.imageshack.us 140 | www.miitbeian.gov.cn 141 | www.npr.org 142 | www.ca.gov 143 | www.gravatar.com 144 | www.wired.com 145 | www.narod.ru 146 | www.blogspot.co.uk 147 | www.hatena.ne.jp 148 | www.histats.com 149 | www.angelfire.com 150 | www.amazon.co.jp 151 | www.nifty.com 152 | www.blog.com 153 | www.over-blog.com 154 | www.bloomberg.com 155 | www.eventbrite.com 156 | www.google.es 157 | www.ocn.ne.jp 158 | www.blinklist.com 159 | www.dedecms.com 160 | www.amazonaws.com 161 | www.google.ca 162 | www.ibm.com 163 | www.pbs.org 164 | www.xrea.com 165 | www.nbcnews.com 166 | www.mozilla.com 167 | www.weather.com 168 | www.a8.net 169 | www.noaa.gov 170 | www.foxnews.com 171 | www.cbsnews.com 172 | www.newsvine.com 173 | www.cpanel.net 174 | www.goo.ne.jp 175 | www.businessweek.com 176 | www.berkeley.edu 177 | www.geocities.jp 178 | www.loc.gov 179 | www.sfgate.com 180 | www.bluehost.com 181 | www.apache.org 182 | www.bandcamp.com 183 | www.whitehouse.gov 184 | www.seesaa.net 185 | www.usda.gov 186 | www.vkontakte.ru 187 | www.biglobe.ne.jp 188 | www.freewebs.com 189 | www.nationalgeographic.com 190 | www.mashable.com 191 | www.epa.gov 192 | www.icq.com 193 | www.oracle.com 194 | www.boston.com 195 | www.mysql.com 196 | www.ted.com 197 | www.eepurl.com 198 | www.ezinearticles.com 199 | www.examiner.com 200 | www.cornell.edu 201 | www.tripadvisor.com 202 | www.hp.com 203 | www.nps.gov 204 | www.kickstarter.com 205 | www.house.gov 206 | www.techcrunch.com 207 | www.alexa.com 208 | www.mediafire.com 209 | www.ucoz.ru 210 | www.sphinn.com 211 | www.google.nl 212 | www.un.org 213 | www.xinhuanet.com 214 | www.people.com.cn 215 | www.independent.co.uk 216 | www.reverbnation.com 217 | www.irs.gov 218 | www.wunderground.com 219 | www.webnode.com 220 | www.ustream.tv 221 | www.who.int 222 | www.squarespace.com 223 | www.opensource.org 224 | www.last.fm 225 | www.senate.gov 226 | www.oaic.gov.au 227 | www.drupal.org 228 | www.bizjournals.com 229 | www.webstarts.com 230 | www.topsy.com 231 | www.privacy.gov.au 232 | www.gmpg.org 233 | www.spiegel.de 234 | www.mac.com 235 | www.disqus.com 236 | www.skype.com 237 | www.redcross.org 238 | www.moonfruit.com 239 | www.cbslocal.com 240 | www.cbc.ca 241 | www.jugem.jp 242 | www.umich.edu 243 | www.1688.com 244 | www.discovery.com 245 | www.nature.com 246 | www.ycombinator.com 247 | www.wikia.com 248 | www.ifeng.com 249 | www.dropbox.com 250 | www.fda.gov 251 | www.google.com.br 252 | www.surveymonkey.com 253 | www.exblog.jp 254 | www.businessinsider.com 255 | www.webmd.com 256 | www.blogspot.com.es 257 | www.shinystat.com 258 | www.auda.org.au 259 | www.xanga.com 260 | www.github.com 261 | www.paypal.com 262 | www.sitemeter.com 263 | www.ft.com 264 | www.state.gov 265 | www.marketwatch.com 266 | www.netvibes.com 267 | www.netscape.com 268 | www.wiley.com 269 | www.prnewswire.com 270 | www.networksolutions.com 271 | www.cloudflare.com 272 | www.liveinternet.ru 273 | www.ed.gov 274 | www.zdnet.com 275 | www.cafepress.com 276 | www.diigo.com 277 | www.about.me 278 | www.goodreads.com 279 | www.chicagotribune.com 280 | www.ftc.gov 281 | www.soup.io 282 | www.quantcast.com 283 | www.google.pl 284 | www.economist.com 285 | www.google.cn 286 | www.census.gov 287 | www.ehow.com 288 | www.com.com 289 | www.blogspot.de 290 | www.intuit.com 291 | www.pagesperso-orange.fr 292 | www.blogspot.fr 293 | www.skyrock.com 294 | www.upenn.edu 295 | www.ow.ly 296 | www.google.com.au 297 | www.desdev.cn 298 | www.meetup.com 299 | www.hubpages.com 300 | www.utexas.edu 301 | www.slashdot.org 302 | www.doubleclick.net 303 | www.washington.edu 304 | www.engadget.com 305 | www.cdbaby.com 306 | www.blinkweb.com 307 | www.jigsy.com 308 | www.patch.com 309 | www.ucla.edu 310 | www.theatlantic.com 311 | www.thetimes.co.uk 312 | www.abc.net.au 313 | www.columbia.edu 314 | www.bloglines.com 315 | www.devhub.com 316 | www.usgs.gov 317 | www.infoseek.co.jp 318 | www.marriott.com 319 | www.behance.net 320 | www.yale.edu 321 | www.hc360.com 322 | www.hilton.com 323 | www.so-net.ne.jp 324 | www.plala.or.jp 325 | www.umn.edu 326 | www.flavors.me 327 | www.list-manage.com 328 | www.jiathis.com 329 | www.dion.ne.jp 330 | www.howstuffworks.com 331 | www.wikispaces.com 332 | www.is.gd 333 | www.slate.com 334 | www.naver.com 335 | www.g.co 336 | www.elegantthemes.com 337 | www.usa.gov 338 | www.edublogs.org 339 | www.bigcartel.com 340 | www.lycos.com 341 | www.usnews.com 342 | www.psu.edu 343 | www.wisc.edu 344 | www.sun.com 345 | www.yellowbook.com 346 | www.ucoz.com 347 | www.webeden.co.uk 348 | www.state.tx.us 349 | www.nhs.uk 350 | www.cargocollective.com 351 | www.timesonline.co.uk 352 | www.unicef.org 353 | www.salon.com 354 | www.shareasale.com 355 | www.samsung.com 356 | www.theglobeandmail.com 357 | www.xing.com 358 | www.smh.com.au 359 | www.gizmodo.com 360 | www.me.com 361 | www.businesswire.com 362 | www.intel.com 363 | www.purevolume.com 364 | www.paginegialle.it 365 | www.cocolog-nifty.com 366 | www.example.com 367 | www.artisteer.com 368 | www.biblegateway.com 369 | www.answers.com 370 | www.cmu.edu 371 | www.ask.com 372 | www.unesco.org 373 | www.blogspot.in 374 | www.reference.com 375 | www.booking.com 376 | www.altavista.com 377 | www.prlog.org 378 | www.sciencedaily.com 379 | www.i2i.jp 380 | www.google.ru 381 | www.multiply.com 382 | www.dmoz.org 383 | www.dagondesign.com 384 | www.blogs.com 385 | www.smugmug.com 386 | www.canalblog.com 387 | www.deliciousdays.com 388 | www.blogspot.com.br 389 | www.craigslist.org 390 | www.istockphoto.com 391 | www.google.com.hk 392 | www.domainmarket.com 393 | www.t-online.de 394 | www.jalbum.net 395 | www.cnbc.com 396 | www.mtv.com 397 | www.si.edu 398 | www.zimbio.com 399 | www.twitpic.com 400 | www.1und1.de 401 | www.wufoo.com 402 | www.ebay.co.uk 403 | www.furl.net 404 | www.netlog.com 405 | www.symantec.com 406 | www.indiatimes.com 407 | www.nypost.com 408 | www.hhs.gov 409 | www.uiuc.edu 410 | www.princeton.edu 411 | www.comcast.net 412 | www.newyorker.com 413 | www.livedoor.com 414 | www.cisco.com 415 | www.nba.com 416 | www.chron.com 417 | www.admin.ch 418 | www.thedailybeast.com 419 | www.java.com 420 | www.springer.com 421 | www.4shared.com 422 | www.vistaprint.com 423 | www.hud.gov 424 | www.storify.com 425 | www.shutterfly.com 426 | www.chronoengine.com 427 | www.mlb.com 428 | www.simplemachines.org 429 | www.dyndns.org 430 | www.sciencedirect.com 431 | www.dell.com 432 | www.wallinside.com 433 | www.virginia.edu 434 | www.bravesites.com 435 | www.tinypic.com 436 | www.csmonitor.com 437 | www.msu.edu 438 | www.dot.gov 439 | www.tuttocitta.it 440 | www.ovh.net 441 | www.fotki.com 442 | www.japanpost.jp 443 | www.tamu.edu 444 | www.aboutads.info 445 | www.accuweather.com 446 | www.earthlink.net 447 | www.printfriendly.com 448 | www.nyu.edu 449 | www.army.mil 450 | www.tripod.co.uk 451 | www.mayoclinic.com 452 | www.omniture.com 453 | www.arizona.edu 454 | www.lulu.com 455 | www.ucsd.edu 456 | www.rediff.com 457 | www.odnoklassniki.ru 458 | www.china.com.cn 459 | www.elpais.com 460 | www.hostmonster.com 461 | www.unblog.fr 462 | www.real.com 463 | www.toplist.cz 464 | www.fastcompany.com 465 | www.studiopress.com 466 | www.ox.ac.uk 467 | www.vinaora.com 468 | www.unc.edu 469 | www.jevents.net 470 | www.cyberchimps.com 471 | www.purdue.edu 472 | www.suntimes.com 473 | www.mapy.cz 474 | www.shop-pro.jp 475 | www.yellowpages.com 476 | www.webnode.fr 477 | www.seattletimes.com 478 | www.blogtalkradio.com 479 | www.cba.pl 480 | www.beep.com 481 | www.nsw.gov.au 482 | www.scientificamerican.com 483 | www.va.gov 484 | www.arstechnica.com 485 | www.mixx.com 486 | www.cam.ac.uk 487 | www.fema.gov 488 | www.oakley.com 489 | www.chinadaily.com.cn 490 | www.uchicago.edu -------------------------------------------------------------------------------- /sample-spark-server/.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | 3 | # Mobile Tools for Java (J2ME) 4 | .mtj.tmp/ 5 | 6 | # Package Files # 7 | *.jar 8 | *.war 9 | *.ear 10 | 11 | application.log* 12 | 13 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 14 | hs_err_pid* 15 | /target/ 16 | 17 | .DS_Store 18 | 19 | #elastic data 20 | data/ 21 | 22 | #parallec log 23 | parallec_logs/* 24 | !parallec_logs/keepthisfile 25 | 26 | #user data 27 | userdata/* 28 | !userdata/keepthisfile 29 | 30 | !userdata/tasklogs 31 | userdata/tasklogs/* 32 | !userdata/tasklogs/keepthisfile 33 | !userdata/sample_target* 34 | *.jks 35 | *.pem 36 | 37 | #mkdown 38 | .*.md.html 39 | 40 | /.settings/ 41 | .classpath 42 | .project 43 | /bin/ 44 | 45 | targetHostFile 46 | -------------------------------------------------------------------------------- /sample-spark-server/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4.0.0 3 | io.parallec 4 | parallec-sample-spark-server 5 | 6 | 0.9.0 7 | parallec-sample-spark-server 8 | https://github.com/ebay/parallec-samples 9 | 10 | 11 | 1.7.12 12 | 1.1.3 13 | 14 | 15 | 16 | 17 | com.sparkjava 18 | spark-core 19 | 2.3 20 | 21 | 22 | 23 | io.parallec 24 | parallec-core 25 | 0.8.12-beta 26 | 27 | 28 | 29 | org.elasticsearch 30 | elasticsearch 31 | 1.3.4 32 | 33 | 34 | 35 | org.codehaus.groovy 36 | groovy-all 37 | 2.3.2 38 | test 39 | 40 | 41 | org.apache.lucene 42 | lucene-expressions 43 | 4.10.2 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | org.apache.maven.plugins 54 | maven-jar-plugin 55 | 2.6 56 | 57 | 58 | 59 | true 60 | lib/ 61 | io.parallec.ebay.server.ParallecSparkServer 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | maven-assembly-plugin 70 | 71 | 72 | 73 | io.parallec.ebay.server.ParallecSparkServer 74 | 75 | 76 | 77 | jar-with-dependencies 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | org.apache.maven.plugins 88 | maven-compiler-plugin 89 | 90 | 1.8 91 | 1.8 92 | 93 | 94 | 95 | 96 | 97 | 98 | eBay 99 | www.ebay.com 100 | 101 | 102 | -------------------------------------------------------------------------------- /sample-spark-server/src/main/java/io/parallec/ebay/server/ParallecSparkServer.java: -------------------------------------------------------------------------------- 1 | package io.parallec.ebay.server; 2 | 3 | import static org.elasticsearch.node.NodeBuilder.nodeBuilder; 4 | import static spark.Spark.before; 5 | import static spark.Spark.get; 6 | import io.parallec.core.HostsSourceType; 7 | import io.parallec.core.ParallecResponseHandler; 8 | import io.parallec.core.ParallelClient; 9 | import io.parallec.core.ParallelTask; 10 | import io.parallec.core.ResponseOnSingleTask; 11 | import io.parallec.core.config.ParallelTaskConfig; 12 | import io.parallec.core.util.PcDateUtils; 13 | import io.parallec.core.util.PcStringUtils; 14 | 15 | import java.util.HashMap; 16 | import java.util.Map; 17 | 18 | import org.elasticsearch.client.Client; 19 | import org.elasticsearch.node.Node; 20 | 21 | /** 22 | * Sample Single File Server in Spark. Require JDK 1.8+ due to Spark server. 23 | * http://sparkjava.com/documentation.html 24 | *

25 | * Build: mvn clean compile assembly:single 26 | *
27 | * Run: in parallec-samples/sample-spark-server/target: sudo java -jar parallec-sample-spark-server-0.9.0-jar-with-dependencies.jar 28 | *

29 | * run API example: 30 | *

31 | * localhost:4567/ssh/targetHostFile/200/true (require update login user/password) 32 | *
33 | * localhost:4567/ping/targetHostFile ; need root 34 | *
35 | * localhost:4567/http/targetHostFile : use elastic search 36 | * 37 | * targetHostFile is relative to this path. If in IDE, put into the same folder as the pom.xml. 38 | * if run as jar. just same folder as the executable jar file. 39 | * 40 | * @author Yuanteng (Jeff) Pei 41 | * 42 | */ 43 | public class ParallecSparkServer { 44 | 45 | 46 | public static String userName = "yourUserNameforSsh"; 47 | public static String password = "yourPasswordforSsh"; 48 | 49 | public static void main(String[] args) { 50 | 51 | before((request, response) -> response.type("text/plain")); 52 | 53 | get("/", 54 | (request, response) -> "Welcome to Parallec Sample Single File Server in Spark. Require JDK 1.8+ due to Spark server. " 55 | + "run API example: \n" 56 | + "localhost:4567/ssh/targetHostFile/200/true\n" 57 | + "localhost:4567/http/targetHostFile\n" 58 | + "localhost:4567/ping/targetHostFile (Must Run as ROOT / sudo)\n" 59 | + "targetHostFile is a local file with host name line by line that in same dir of this executabe jar"); 60 | 61 | get("/http/:filename", (request, response) -> { 62 | String fileName = request.params(":filename"); 63 | String res = checkSiteStatus(fileName); 64 | response.status(200); 65 | return "Parallec: completed HTTP and sent to elastic search \n:" + res + "\nAt " 66 | + PcDateUtils.getNowDateTimeStrStandard(); 67 | }); 68 | 69 | get("/ssh/:filename/:concurrency/:showDetail", 70 | (request, response) -> { 71 | String fileName = request.params(":filename"); 72 | int concurrency = Integer.parseInt(request 73 | .params(":concurrency")); 74 | boolean showDetail = Boolean.parseBoolean(request 75 | .params(":showDetail")); 76 | String res = scalableSsh(fileName, concurrency, showDetail); 77 | response.status(200); 78 | return "Parallec: completed SSH \n" + res + "\nAt " 79 | + PcDateUtils.getNowDateTimeStrStandard(); 80 | }); 81 | 82 | get("/ping/:filename", (request, response) -> { 83 | String fileName = request.params(":filename"); 84 | String res = scalablePing(fileName); 85 | response.status(200); 86 | return "Parallec: completed Ping \n " + res + "\nAt " 87 | + PcDateUtils.getNowDateTimeStrStandard(); 88 | }); 89 | 90 | get("/shutdown", 91 | (request, response) -> { 92 | releaseResources(); 93 | response.status(200); 94 | return "relased all resources at " 95 | + PcDateUtils.getNowDateTimeStrStandard(); 96 | }); 97 | } 98 | 99 | 100 | public static String scalableSsh(String fileName, int concurrency, 101 | boolean showDetail) { 102 | 103 | ParallelClient pc = new ParallelClient(); 104 | 105 | ParallelTask task = pc 106 | .prepareSsh() 107 | .setConcurrency(concurrency) 108 | .setTargetHostsFromLineByLineText(fileName, 109 | HostsSourceType.LOCAL_FILE) 110 | .setSshCommandLine("date; ").setSshUserName(userName) 111 | .setSshPassword(password) 112 | .execute(new ParallecResponseHandler() { 113 | @Override 114 | public void onCompleted(ResponseOnSingleTask res, 115 | Map responseContext) { 116 | System.out.println("Responose:" + res.toString() 117 | + " host: " + res.getHost() + " errmsg: " 118 | + res.getErrorMessage()); 119 | } 120 | }); 121 | 122 | String res = task.getRequestNumActual() 123 | + " Servers in " 124 | + task.getDurationSec() 125 | + " seconds. Results:\n\n" 126 | + (showDetail ? task.getAggregatedResultHumanStr() 127 | : PcStringUtils.renderJson(task 128 | .getAggregateResultCountSummary())); 129 | 130 | System.out.println("Task Pretty Print: \n " + res); 131 | return res; 132 | } 133 | 134 | public static String scalablePing(String fileName) { 135 | ParallelClient pc = new ParallelClient(); 136 | ParallelTask task = pc 137 | .preparePing() 138 | .setConcurrency(1500) 139 | .setTargetHostsFromLineByLineText(fileName, 140 | HostsSourceType.LOCAL_FILE) 141 | .execute(new ParallecResponseHandler() { 142 | @Override 143 | public void onCompleted(ResponseOnSingleTask res, 144 | Map responseContext) { 145 | ;// logger.info(res.toString()); 146 | } 147 | }); 148 | String res = task.getRequestNumActual() 149 | + " Servers in " 150 | + task.getDurationSec() 151 | + " seconds. Results: " 152 | + task.getAggregatedResultHumanStr(); 153 | System.out.println("Task summary: \n " + res); 154 | return res; 155 | }// end func 156 | 157 | public static void releaseResources() { 158 | ParallelClient parallec = new ParallelClient(); 159 | parallec.releaseExternalResources(); 160 | } 161 | 162 | public static String checkSiteStatus(String fileName) { 163 | 164 | ParallelClient pc = new ParallelClient(); 165 | HashMap responseContext = new HashMap(); 166 | Node node = nodeBuilder().node(); 167 | responseContext.put("Client", node.client()); 168 | ParallelTask task = pc 169 | .prepareHttpGet("") 170 | .setTargetHostsFromLineByLineText(fileName, 171 | HostsSourceType.LOCAL_FILE) 172 | .setResponseContext(responseContext).setConfig(genConfig()) 173 | .execute(new ParallecResponseHandler() { 174 | public void onCompleted(ResponseOnSingleTask res, 175 | Map responseContext) { 176 | Map metricMap = new HashMap(); 177 | metricMap.put("StatusCode", res.getStatusCode() 178 | .replaceAll(" ", "_")); 179 | metricMap.put("LastUpdated", 180 | PcDateUtils.getNowDateTimeStrStandard()); 181 | metricMap.put("NodeGroupType", fileName); 182 | Client client = (Client) responseContext.get("Client"); 183 | client.prepareIndex("local", "parallec", res.getHost()) 184 | .setSource(metricMap).execute(); 185 | } 186 | }); 187 | 188 | String res = task.getRequestNumActual() 189 | + " Servers in " 190 | + task.getDurationSec() 191 | + " seconds. Results: " 192 | + " Results: " 193 | + task.getAggregatedResultHumanStr(); 194 | 195 | node.close(); 196 | 197 | System.out.println("Task summary: \n " + res); 198 | return res; 199 | 200 | }// end func 201 | 202 | public static ParallelTaskConfig genConfig() { 203 | ParallelTaskConfig config = new ParallelTaskConfig(); 204 | config.setActorMaxOperationTimeoutSec(20); 205 | config.setAutoSaveLogToLocal(true); 206 | config.setSaveResponseToTask(true); 207 | return config; 208 | } 209 | 210 | } 211 | -------------------------------------------------------------------------------- /sample-spark-server/userdata/keepthisfile: -------------------------------------------------------------------------------- 1 | do not remove this for git 2 | --------------------------------------------------------------------------------