├── .gitignore ├── requirements.txt ├── dbmixin.py ├── README.md ├── config.py ├── utils.py ├── app.py ├── templates └── index.html ├── spider.py └── proxy_list.txt /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | Flask==1.0.2 2 | gevent==1.1.2 3 | lxml==4.6.2 4 | pymongo==2.8 5 | requests==2.22.0 6 | -------------------------------------------------------------------------------- /dbmixin.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | """ 单例mongo客户端 """ 4 | 5 | from pymongo import MongoClient 6 | 7 | from config import DB_URI, DB_NAME 8 | 9 | 10 | class DBMixin(object): 11 | 12 | """ mongodb客户端 """ 13 | 14 | _client = None 15 | 16 | @property 17 | def client(self): 18 | if not self._client: 19 | self._client = MongoClient(DB_URI) 20 | return self._client 21 | 22 | @property 23 | def db(self): 24 | return self.client[DB_NAME] 25 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 说明 2 | 用于爬取`豆瓣小组`的爬虫。
3 | 此爬虫我主要用于了爬取`豆瓣租房小组`的帖子,支持`关键字搜索`以及`发帖`、`更新时间排序`。 4 | 5 | # 依赖 6 | - `gevent` 7 | - `pymongo` 8 | - `requests` 9 | - `lxml` 10 | - `Flask` 11 | - `boostrap` 12 |
13 | 具体版本参见`requirements.txt`
14 | 15 | # 特别说明 16 | - 由于豆瓣有防抓机制,故此爬虫使用了代理爬取,防止被封IP。
17 | - 可从网上收集代理IP,放在项目路径下`proxy_list.txt`。 18 | - 每个一行,程序会自动加载,且可以自动定时加载新代理。
19 | - 或者参考我的[代理采集器](https://github.com/kaito-kidd/proxy-fetcher),自动采集代理。 20 | - 如果程序运行发现总是出现超时或者403,请更换`proxy_list.txt`下的代理。 21 | 22 | # 使用 23 | - 安装`MongoDB`,具体参考安装文档。 24 | - 建议使用`virtualenv`环境
25 | `pip install -r requirements.txt` 26 | - 启动爬虫
27 | `nohup python spider.py >> douban_spider.log &` 28 | - 启动web服务
29 | `nohup python app.py >> app.log &` 30 | - 查看页面
31 | `http://localhost:5000` 32 | 33 | # 配置 34 | 参数配置见`config.py`,例如`MongoDB地址`、`并发数`、`爬取页数`等。 35 | -------------------------------------------------------------------------------- /config.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | """配置 4 | """ 5 | 6 | # User-Agent 7 | USER_AGENT = ( 8 | "Mozilla/5.0 (Windows NT 6.3; WOW64) " 9 | "AppleWebKit/537.36 (KHTML, like Gecko) " 10 | "Chrome/40.0.2214.93 Safari/537.36" 11 | ) 12 | 13 | # mongo config 14 | DB_URI = "mongodb://127.0.0.1:27017" 15 | # DB_URI = "mongodb://192.168.6.7:27017" 16 | DB_NAME = "douban_group" 17 | 18 | # 豆瓣小组URL 19 | GROUP_LIST = [ 20 | # 北京租房豆瓣 21 | "http://www.douban.com/group/26926/", 22 | # 北京租房(非中介) 23 | "http://www.douban.com/group/279962/", 24 | # 北京租房房东联盟(中介勿扰) 25 | "http://www.douban.com/group/257523/", 26 | # 北京租房 27 | "http://www.douban.com/group/beijingzufang/", 28 | # 北京租房小组 29 | "http://www.douban.com/group/xiaotanzi/", 30 | # 北京无中介租房 31 | "http://www.douban.com/group/zhufang/", 32 | # 北漂爱合租 33 | "http://www.douban.com/group/aihezu/", 34 | # 北京同志们来租房 35 | "http://www.douban.com/group/325060/", 36 | # 北京个人租房 37 | "http://www.douban.com/group/opking/", 38 | # 北京租房小组! 39 | "http://www.douban.com/group/374051/", 40 | ] 41 | 42 | # 后缀 43 | GROUP_SUFFIX = "discussion?start=%d" 44 | 45 | # 抓取前多少页 46 | MAX_PAGE = 5 47 | 48 | # 匹配规则 49 | RULES = { 50 | # 每个帖子项 51 | "topic_item": "//table[@class='olt']/tr", 52 | "url_list": "//table[@class='olt']/tr/td[@class='title']/a/@href", 53 | # 列表元素 54 | "title": "td[@class='title']/a/@title", 55 | "author": "td[@nowrap='nowrap'][1]/a/text()", 56 | "reply": "td[@nowrap='nowrap'][2]/text()", 57 | "last_reply_time": "td[@class='time']/text()", 58 | "url": "td[@class='title']/a/@href", 59 | # 帖子详情 60 | "detail_title_sm": "//td[@class='tablecc']/text()", 61 | # 完整标题 62 | "detail_title_lg": "//div[@id='content']/h1/text()", 63 | "create_time": "//span[@class='color-green']/text()", 64 | "detail_author": "//span[@class='from']/a/text()", 65 | "content": "//div[@class='topic-content']/p/text()", 66 | } 67 | 68 | # 并发数 69 | POOL_SIZE = 20 70 | 71 | # 监控周期(秒),默认10分钟 72 | WATCH_INTERVAL = 10 * 60 73 | 74 | # 重载代理周期 75 | PROXY_INTERVAL = 30 * 60 76 | -------------------------------------------------------------------------------- /utils.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import time 5 | import logging 6 | import random 7 | 8 | 9 | class Timer(object): 10 | """定时器,定时执行指定的函数 11 | 12 | """ 13 | 14 | def __init__(self, start, interval): 15 | """ 16 | @start, int, 延迟执行的秒数 17 | @interval, int, 每次执行的间隔秒数 18 | """ 19 | self.start = start 20 | self.interval = interval 21 | 22 | def run(self, func, *args, **kwargs): 23 | """运行定时器 24 | 25 | @func, callable, 要执行的函数 26 | """ 27 | time.sleep(self.start) 28 | while True: 29 | func(*args, **kwargs) 30 | time.sleep(self.interval) 31 | 32 | 33 | class ProxyManager(object): 34 | """代理管理器 35 | """ 36 | 37 | def __init__(self, proxies_or_path, interval_per_ip=0, is_single=False): 38 | ''' 39 | @proxies_or_path, basestring or list, 代理path或列表 40 | @interval_per_ip, int, 每个ip调用最小间隔 41 | @is_single, bool, 是否启用单点代理,例如使用squid 42 | ''' 43 | self.proxies_or_path = proxies_or_path 44 | self.host_time_map = {} 45 | self.interval = interval_per_ip 46 | self.is_single = is_single 47 | self.init_proxies(self.proxies_or_path) 48 | 49 | def init_proxies(self, proxies_or_path): 50 | '''初始化代理列表 51 | 52 | @proxies_or_path, list or basestring 53 | ''' 54 | if isinstance(proxies_or_path, basestring): 55 | if self.is_single: 56 | self.proxies = proxies_or_path 57 | else: 58 | with open(proxies_or_path) as f: 59 | self.proxies = f.readlines() 60 | else: 61 | self.proxies = proxies_or_path 62 | 63 | def reload_proxies(self): 64 | '''重新加载代理,proxies_or_path必须是文件路径 65 | ''' 66 | if not isinstance(self.proxies_or_path, basestring): 67 | raise TypeError("proxies_or_path type is invalid!") 68 | if self.is_single: 69 | raise TypeError("is_single must be False!") 70 | with open(self.proxies_or_path) as f: 71 | self.proxies = f.readlines() 72 | logging.info("reload %s proxies ...", len(self.proxies)) 73 | 74 | def get_proxy(self): 75 | '''获取一个可用代理 76 | 77 | 如果代理使用过于频繁会阻塞,以防止服务器屏蔽 78 | ''' 79 | # 如果使用单点代理,直接返回 80 | if self.is_single: 81 | return self.proxies 82 | proxy = self.proxies[random.randint(0, len(self.proxies) - 1)].strip() 83 | host, _ = proxy.split(':') 84 | latest_time = self.host_time_map.get(host, 0) 85 | interval = time.time() - latest_time 86 | if interval < self.interval: 87 | logging.info("%s waiting", proxy) 88 | time.sleep(self.interval) 89 | self.host_time_map[host] = time.time() 90 | return "http://%s" % proxy.strip() 91 | -------------------------------------------------------------------------------- /app.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | import re 4 | 5 | from flask import Flask, request, render_template 6 | from dbmixin import DBMixin 7 | 8 | app = Flask(__name__) 9 | app.debug = True 10 | 11 | # db & collection 12 | db = DBMixin().db 13 | topic_collection = db.result_topic 14 | page_collection = db.result_page 15 | 16 | 17 | @app.route("/", methods=["GET", "POST"]) 18 | def index(): 19 | """index 20 | """ 21 | cpage = int(request.form.get("cpage", 1)) 22 | psize = int(request.form.get("psize", 100)) 23 | keyword = request.form.get("keyword", "") 24 | is_order_update_time = int(request.form.get( 25 | "is_order_update_time", 0)) 26 | # 按更新时间排序 27 | if is_order_update_time: 28 | orderby = "last_update_time" 29 | collection = page_collection 30 | else: 31 | orderby = "create_time" 32 | collection = topic_collection 33 | where = {} 34 | if keyword: 35 | regx = re.compile(".*%s.*" % keyword, re.IGNORECASE) 36 | where["title"] = {"$regex": regx} 37 | # count 38 | count = collection.find(where).count() 39 | # page 40 | page = Page(cpage, psize, count) 41 | # data 42 | topics = collection.find(where) \ 43 | .sort([(orderby, -1)]).skip(page.start) \ 44 | .limit(page.end) 45 | return render_template( 46 | "index.html", 47 | topics=topics, 48 | is_order_update_time=is_order_update_time, 49 | keyword=keyword, 50 | count=count, 51 | page=page) 52 | 53 | 54 | class Page(object): 55 | 56 | """ page info""" 57 | 58 | def __init__(self, cpage, psize, count): 59 | self.cpage = cpage 60 | self.psize = psize 61 | self.count = count 62 | self.max_page = (count + psize - 1) / psize 63 | self.max_page = max(self.max_page, 1) 64 | self.cpage = min(self.cpage, self.max_page) 65 | 66 | self.start = (self.cpage - 1) * psize 67 | self.start = 0 if self.start < 0 else self.start 68 | self.end = psize 69 | 70 | # 初始化页码 71 | self.init_page_num(self.cpage, self.max_page) 72 | 73 | def init_page_num(self, cpage, max_page): 74 | '''初始化页面页码 75 | 76 | @cpage, int, 当前页码 77 | @max_page, int, 最大页数 78 | ''' 79 | begin_page, end_page = 1, 1 80 | # 总页码小于15 81 | if max_page < 15: 82 | # 开始:1 83 | begin_page = 1 84 | # 结束:总页码 85 | end_page = max_page 86 | else: 87 | # 保证显示15个 88 | begin_page = cpage - 7 89 | end_page = cpage + 7 90 | if begin_page < 1: 91 | begin_page = 1 92 | end_page = 15 93 | elif end_page > max_page: 94 | end_page = max_page 95 | begin_page = max_page - 15 96 | self.begin_page = begin_page 97 | self.end_page = end_page 98 | 99 | 100 | if __name__ == "__main__": 101 | app.run(host="0.0.0.0") 102 | -------------------------------------------------------------------------------- /templates/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 豆瓣租房搜索 8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 |

豆瓣租房搜索

16 |
17 |
18 |
19 |
20 | 21 | 23 |
24 |
25 | 28 | 32 |
33 | 34 |
35 |
36 |
37 |
38 |
39 |
40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | {% for item in topics %} 49 | 50 | 51 | {% if item["create_time"] %} 52 | 53 | {% else %} 54 | 55 | {% endif %} 56 | 57 | {% endfor %} 58 | 59 |
标题发表/更新时间
{{ item["title"] }}{{ item["create_time"] }}{{ item["last_reply_time"] }}
60 |
61 |
62 |
63 |
64 |
65 | 共 {{ count }} 条记录 66 | 共 {{ page.max_page }} 页 67 |
68 |
69 | 120 |
121 |
122 |
123 | 130 | 131 | 132 | -------------------------------------------------------------------------------- /spider.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | """ 4 | 豆瓣小组爬虫 5 | """ 6 | 7 | from gevent import monkey 8 | monkey.patch_all() 9 | 10 | import time 11 | import random 12 | import logging 13 | 14 | import gevent 15 | import requests 16 | from gevent.pool import Pool 17 | from gevent.queue import Queue 18 | from lxml import etree 19 | from dbmixin import DBMixin 20 | 21 | from config import ( 22 | GROUP_LIST, GROUP_SUFFIX, USER_AGENT, 23 | POOL_SIZE, RULES, MAX_PAGE, WATCH_INTERVAL, PROXY_INTERVAL 24 | ) 25 | from utils import Timer, ProxyManager 26 | 27 | 28 | def get_logger(name): 29 | """logger 30 | """ 31 | default_logger = logging.getLogger(name) 32 | default_logger.setLevel(logging.DEBUG) 33 | stream = logging.StreamHandler() 34 | stream.setLevel(logging.DEBUG) 35 | formatter = logging.Formatter("[%(levelname)s] %(asctime)s - %(message)s") 36 | stream.setFormatter(formatter) 37 | default_logger.addHandler(stream) 38 | return default_logger 39 | 40 | 41 | logger = get_logger("douban_spider") 42 | 43 | 44 | class HTTPError(Exception): 45 | 46 | """ HTTP状态码不是200异常 """ 47 | 48 | def __init__(self, status_code, url): 49 | self.status_code = status_code 50 | self.url = url 51 | 52 | def __str__(self): 53 | return "%s HTTP %s" % (self.url, self.status_code) 54 | 55 | 56 | class URLFetchError(Exception): 57 | 58 | """ HTTP请求结果为空异常 """ 59 | 60 | def __init__(self, url): 61 | self.url = url 62 | 63 | def __str__(self): 64 | return "%s fetch failed!" % self.self.url 65 | 66 | 67 | class DoubanSpider(DBMixin): 68 | 69 | """" 豆瓣爬虫 """ 70 | 71 | def __init__(self, proxy_manager=None): 72 | self.result_page = self.db.result_page 73 | self.result_topic = self.db.result_topic 74 | self.cache = self.db.cache_page 75 | 76 | self.group_list = GROUP_LIST 77 | self.rules = RULES 78 | self.interval = WATCH_INTERVAL 79 | 80 | self.pool = Pool(size=POOL_SIZE) 81 | self.page_queue = Queue() 82 | self.topic_queue = Queue() 83 | 84 | self.proxy_manager = proxy_manager 85 | 86 | def fetch(self, url, timeout=10, retury_num=10): 87 | """发起HTTP请求 88 | 89 | @url, str, URL 90 | @timeout, int, 超时时间 91 | @retury_num, int, 重试次数 92 | """ 93 | kwargs = { 94 | "headers": { 95 | "User-Agent": USER_AGENT, 96 | "Referer": "http://www.douban.com/" 97 | }, 98 | } 99 | kwargs["timeout"] = timeout 100 | resp = None 101 | for i in range(retury_num): 102 | try: 103 | # 是否启动代理 104 | if self.proxy_manager is not None: 105 | kwargs["proxies"] = { 106 | "http": self.proxy_manager.get_proxy()} 107 | resp = requests.get(url, **kwargs) 108 | if resp.status_code != 200: 109 | raise HTTPError(resp.status_code, url) 110 | break 111 | except Exception as exc: 112 | logger.warn("%s %d failed!\n%s", url, i, str(exc)) 113 | time.sleep(2) 114 | continue 115 | if resp is None: 116 | raise URLFetchError(url) 117 | return resp.content.decode("utf8") 118 | 119 | def extract(self, regx, body, multi=False): 120 | """解析元素,xpath语法 121 | 122 | @regx, str, 解析表达式 123 | @body, unicode or element, 网页源码或元素 124 | @multi, bool, 是否取多个 125 | """ 126 | if isinstance(body, unicode): 127 | body = etree.HTML(body) 128 | res = body.xpath(regx) 129 | if multi: 130 | return res 131 | return res[0] if res else None 132 | 133 | def run(self): 134 | """run 135 | """ 136 | all_greenlet = [] 137 | # 定时爬取 138 | for group_url in self.group_list: 139 | # timer = Timer(random.randint(0, self.interval), self.interval) 140 | timer = Timer(random.randint(0, 2), self.interval) 141 | greenlet = gevent.spawn( 142 | timer.run, self._init_page_tasks, group_url) 143 | all_greenlet.append(greenlet) 144 | # 生产 & 消费 145 | all_greenlet.append(gevent.spawn(self._page_loop)) 146 | all_greenlet.append(gevent.spawn(self._topic_loop)) 147 | # 重载代理,10分 148 | proxy_timer = Timer(PROXY_INTERVAL, PROXY_INTERVAL) 149 | all_greenlet.append( 150 | gevent.spawn(proxy_timer.run(self.reload_proxies))) 151 | gevent.joinall(all_greenlet) 152 | 153 | def reload_proxies(self): 154 | """重新加载代理 155 | """ 156 | self.proxy_manager.reload_proxies() 157 | 158 | def _init_page_tasks(self, group_url): 159 | """初始化页面任务 160 | 161 | @group_url, str, 小组URL 162 | """ 163 | for page in range(MAX_PAGE): 164 | base_url = "%s%s" % (group_url, GROUP_SUFFIX) 165 | url = base_url % (page * 25) 166 | self.page_queue.put(url) 167 | 168 | def _page_loop(self): 169 | """page loop 170 | """ 171 | while 1: 172 | page_url = self.page_queue.get(block=True) 173 | gevent.sleep(1) 174 | self.pool.spawn(self._crawl_page, page_url) 175 | 176 | def _topic_loop(self): 177 | """topic loop 178 | """ 179 | while 1: 180 | topic_url = self.topic_queue.get(block=True) 181 | self.pool.spawn(self._crawl_detail, topic_url) 182 | 183 | def _crawl_page(self, url): 184 | """爬取帖子 185 | 186 | @url, str, 当前页面URL 187 | """ 188 | logger.info("processing page: %s", url) 189 | html = self.fetch(url) 190 | topic_urls = self.extract( 191 | self.rules["url_list"], html, multi=True) 192 | # 找出新增的帖子URL 193 | diff_urls = self._diff_urls(topic_urls) 194 | if not diff_urls: 195 | logger.info("%s no update ...", url) 196 | return 197 | logger.info("%s new add : %d", url, len(diff_urls)) 198 | topic_list = self.extract( 199 | self.rules["topic_item"], html, multi=True) 200 | # 获取每一页的信息 201 | topics = self._get_page_info(topic_list) 202 | # 过滤,找到新增的和之前的帖子 203 | new_topics, old_topics = self._filter_topics(topics, diff_urls) 204 | # 保存每页的信息 205 | self.result_page.insert(new_topics) 206 | # 更新老帖子的时间和回复数 207 | self._update_old_topics(old_topics) 208 | # 初始化帖子任务 209 | self._init_topic_tasks(diff_urls) 210 | # 更新缓存 211 | self._update_cache(diff_urls) 212 | 213 | def _get_page_info(self, topic_list): 214 | """获取每一页的帖子基本信息 215 | 216 | @topic_list, list, 当前页的帖子项 217 | """ 218 | topics = [] 219 | # 第一行是标题头,舍掉 220 | for topic_item in topic_list[1:]: 221 | topic = {} 222 | topic["title"] = self.extract(self.rules["title"], topic_item) 223 | topic["author"] = self.extract(self.rules["author"], topic_item) 224 | topic["reply"] = self.extract(self.rules["reply"], topic_item) or 0 225 | topic["last_reply_time"] = self.extract( 226 | self.rules["last_reply_time"], topic_item) 227 | topic["url"] = self.extract(self.rules["url"], topic_item) 228 | now = time.time() 229 | topic["got_time"] = now 230 | topic["last_update_time"] = now 231 | topics.append(topic) 232 | return topics 233 | 234 | @staticmethod 235 | def _filter_topics(topics, diff_urls): 236 | """过滤帖子,找出新增的和老的帖子 237 | 238 | @topics, list, 当前页所有帖子信息 239 | @diff_urls, list, 新增的帖子URL 240 | """ 241 | new_topics, old_topics = [], [] 242 | for topic in topics: 243 | if topic["url"] in diff_urls: 244 | new_topics.append(topic) 245 | else: 246 | old_topics.append(topic) 247 | return new_topics, old_topics 248 | 249 | def _diff_urls(self, topic_urls): 250 | """过滤重复帖子URL 251 | 252 | @topic_urls, list, 当前页所有帖子URL 253 | """ 254 | # 与缓存比较 255 | cache_urls = [] 256 | cursor = self.cache.find() 257 | for item in cursor: 258 | cache_urls.extend(item["urls"]) 259 | # 找出新增的URL 260 | diff_urls = list(set(topic_urls) - set(cache_urls)) 261 | return diff_urls 262 | 263 | def _update_old_topics(self, old_topics): 264 | """更新老帖子的信息,标题,回应时间和回复数量 265 | 266 | @old_topics, list, 老帖子列表 267 | """ 268 | for topic in old_topics: 269 | new_info = { 270 | "title": topic["title"], 271 | "reply": topic["reply"], 272 | "last_reply_time": topic["last_reply_time"], 273 | "last_update_time": time.time() 274 | } 275 | self.result_page.update( 276 | {"url": topic["url"]}, 277 | {"$set": new_info} 278 | ) 279 | logger.info("%s updated ...", topic["url"]) 280 | 281 | def _init_topic_tasks(self, topic_urls): 282 | """初始化帖子任务 283 | 284 | @topic_urls, list, 当前页面帖子的URL 285 | """ 286 | for url in topic_urls: 287 | self.topic_queue.put(url) 288 | 289 | def _update_cache(self, diff_urls): 290 | """更新缓存 291 | 292 | @diff_urls, list, 新增的帖子URL 293 | """ 294 | self.cache.insert( 295 | {"got_time": time.time(), "urls": diff_urls}) 296 | 297 | def _crawl_detail(self, url): 298 | """爬取每个帖子的详情 299 | 300 | @url, str, 每个帖子的URL 301 | """ 302 | logger.info("processing topic: %s", url) 303 | html = self.fetch(url) 304 | # 获取每一页的信息 305 | topic = self._get_detail_info(html, url) 306 | if not topic: 307 | self.topic_queue.put(url) 308 | return 309 | topic["url"] = url 310 | topic["got_time"] = time.time() 311 | # 不存在 & 保存帖子的信息 312 | if self.result_topic.find_one({"url": url}): 313 | return 314 | self.result_topic.insert(topic) 315 | 316 | def _get_detail_info(self, html, url): 317 | """获取帖子详情 318 | 319 | @html, str, 页面 320 | """ 321 | if u"机器人" in html: 322 | logger.warn("%s 403.html", url) 323 | return None 324 | topic = {} 325 | title = self.extract(self.rules["detail_title_sm"], html) \ 326 | or self.extract(self.rules["detail_title_lg"], html) 327 | if title is None: 328 | return None 329 | topic["title"] = title.strip() 330 | topic["create_time"] = self.extract( 331 | self.rules["create_time"], html) 332 | topic["author"] = self.extract( 333 | self.rules["detail_author"], html) 334 | topic["content"] = '\n'.join( 335 | self.extract(self.rules["content"], html, multi=True)) 336 | return topic 337 | 338 | 339 | def main(): 340 | """ main """ 341 | proxy_manager = ProxyManager("./proxy_list.txt", 30) 342 | spider = DoubanSpider(proxy_manager) 343 | spider.run() 344 | 345 | 346 | if __name__ == "__main__": 347 | main() 348 | -------------------------------------------------------------------------------- /proxy_list.txt: -------------------------------------------------------------------------------- 1 | 36.250.74.88:8102 2 | 124.88.67.53:83 3 | 124.88.67.53:80 4 | 117.168.235.126:8123 5 | 111.9.232.121:8123 6 | 54.177.191.78:80 7 | 58.251.132.181:8888 8 | 82.219.5.161:80 9 | 125.39.66.68:80 10 | 117.166.109.99:8123 11 | 117.9.130.131:8118 12 | 104.154.40.81:3128 13 | 185.28.193.95:8080 14 | 222.45.196.53:8118 15 | 61.152.116.137:80 16 | 124.202.169.98:8118 17 | 196.201.218.202:117 18 | 37.59.101.107:8080 19 | 196.201.218.204:3197 20 | 211.141.130.186:8118 21 | 117.177.243.79:80 22 | 201.210.155.247:8080 23 | 117.170.54.148:8123 24 | 201.87.210.214:3128 25 | 196.201.218.199:510 26 | 196.201.218.202:635 27 | 117.177.249.29:80 28 | 117.135.250.69:80 29 | 117.135.250.69:82 30 | 183.207.228.51:81 31 | 183.207.228.51:80 32 | 183.207.228.51:82 33 | 183.207.228.51:83 34 | 183.207.228.51:84 35 | 183.207.228.51:85 36 | 183.207.228.7:9003 37 | 220.248.108.113:80 38 | 54.207.81.191:3333 39 | 124.202.182.254:8118 40 | 123.121.75.27:8118 41 | 124.88.67.82:80 42 | 183.222.152.191:8123 43 | 106.38.188.165:80 44 | 85.10.248.24:3128 45 | 222.137.123.3:8118 46 | 46.243.114.226:3128 47 | 58.213.48.108:80 48 | 218.59.144.120:81 49 | 218.59.144.120:80 50 | 122.228.92.103:80 51 | 183.207.228.7:8039 52 | 183.207.228.7:8033 53 | 190.15.192.120:3128 54 | 112.18.50.189:8123 55 | 124.88.67.33:83 56 | 124.88.67.33:81 57 | 124.88.67.33:80 58 | 105.237.233.175:8080 59 | 88.150.136.180:3128 60 | 36.250.74.87:8101 61 | 54.207.37.91:3333 62 | 196.201.218.199:684 63 | 109.230.252.222:3128 64 | 201.87.244.211:5555 65 | 162.248.162.37:80 66 | 123.234.8.36:8089 67 | 123.115.138.10:8118 68 | 113.105.111.153:81 69 | 196.201.218.202:1936 70 | 114.252.81.13:8118 71 | 122.96.59.106:81 72 | 122.96.59.106:82 73 | 196.201.218.202:8080 74 | 221.5.69.51:80 75 | 211.77.5.41:3128 76 | 124.88.67.13:80 77 | 124.88.67.13:83 78 | 124.88.67.13:81 79 | 177.206.30.154:3128 80 | 36.250.74.88:80 81 | 111.161.126.98:80 82 | 125.161.13.62:8080 83 | 118.126.4.46:8080 84 | 202.119.25.227:9999 85 | 219.142.192.196:993 86 | 219.142.192.196:197 87 | 219.142.192.196:198 88 | 218.104.144.248:8080 89 | 122.96.59.106:80 90 | 190.204.249.243:8080 91 | 200.169.142.73:80 92 | 202.159.6.146:80 93 | 117.166.233.116:8123 94 | 196.201.218.202:118 95 | 111.13.136.58:80 96 | 101.4.136.100:9999 97 | 124.88.67.6:80 98 | 124.88.67.6:81 99 | 124.88.67.40:843 100 | 54.207.81.157:3333 101 | 219.142.192.196:3483 102 | 42.121.105.155:8888 103 | 223.84.144.183:8123 104 | 111.206.81.248:80 105 | 198.200.46.197:8000 106 | 196.201.218.204:982 107 | 206.17.20.75:3128 108 | 196.201.218.199:1583 109 | 183.203.208.174:8118 110 | 117.177.249.23:80 111 | 124.202.208.18:8001 112 | 196.201.218.202:1275 113 | 101.4.60.47:80 114 | 117.167.78.252:8123 115 | 123.103.8.88:3129 116 | 190.206.182.189:8080 117 | 204.145.84.49:8888 118 | 117.167.203.167:8123 119 | 218.204.154.167:8118 120 | 121.14.138.56:81 121 | 202.102.22.182:80 122 | 183.219.162.253:8123 123 | 117.135.251.74:80 124 | 163.177.79.4:8102 125 | 183.207.228.56:80 126 | 119.6.144.74:843 127 | 124.202.182.206:8118 128 | 117.177.249.24:80 129 | 124.88.67.8:80 130 | 124.88.67.8:81 131 | 122.96.59.106:843 132 | 183.207.228.6:8252 133 | 196.201.218.202:66 134 | 1.85.2.254:8000 135 | 183.207.228.7:9789 136 | 97.77.104.22:80 137 | 222.45.196.50:8118 138 | 219.142.192.196:5419 139 | 60.12.109.28:80 140 | 58.215.137.108:9080 141 | 221.10.102.199:82 142 | 221.10.102.199:83 143 | 196.201.218.202:4463 144 | 113.142.37.248:80 145 | 58.253.238.243:80 146 | 117.171.38.74:8123 147 | 54.76.226.32:80 148 | 88.150.136.180:3129 149 | 188.165.223.173:8106 150 | 111.249.163.164:3128 151 | 115.43.122.27:3128 152 | 190.204.70.208:8080 153 | 202.55.23.144:80 154 | 211.141.130.254:8118 155 | 200.109.65.75:3128 156 | 190.206.170.190:8080 157 | 188.165.223.173:8101 158 | 114.174.13.187:80 159 | 198.50.214.21:3128 160 | 58.215.137.117:9080 161 | 27.140.80.231:9999 162 | 54.207.82.42:3333 163 | 91.221.99.14:8080 164 | 114.244.215.89:8118 165 | 58.251.78.71:8088 166 | 122.228.92.73:80 167 | 211.141.130.105:8118 168 | 219.141.225.149:80 169 | 201.232.104.7:8080 170 | 124.202.181.6:8118 171 | 124.88.67.25:81 172 | 124.88.67.25:80 173 | 211.141.130.114:8118 174 | 186.93.231.245:8080 175 | 124.156.246.99:3128 176 | 124.88.67.7:80 177 | 120.206.158.47:8123 178 | 120.203.149.162:8118 179 | 88.150.136.179:3128 180 | 88.150.136.179:3129 181 | 183.207.228.7:9888 182 | 188.165.223.173:8102 183 | 111.206.50.177:80 184 | 223.197.56.102:80 185 | 188.165.223.173:8124 186 | 188.165.223.173:8108 187 | 58.215.137.98:9080 188 | 124.202.181.146:8001 189 | 117.167.184.90:8123 190 | 120.24.235.192:8888 191 | 219.142.192.196:2949 192 | 211.141.130.56:8118 193 | 124.88.67.24:843 194 | 183.61.240.126:80 195 | 116.228.55.217:8003 196 | 200.113.169.210:8800 197 | 58.254.132.81:8001 198 | 196.201.218.199:80 199 | 210.101.131.232:8080 200 | 200.195.22.33:3128 201 | 202.114.144.15:8088 202 | 103.25.166.107:9999 203 | 188.165.223.173:8126 204 | 58.215.137.118:9080 205 | 219.142.192.196:671 206 | 222.122.122.237:8081 207 | 196.201.218.203:255 208 | 50.200.101.172:3128 209 | 183.207.228.8:90 210 | 192.99.6.103:3128 211 | 124.88.67.10:843 212 | 54.207.81.81:3333 213 | 222.124.112.74:8080 214 | 66.4.18.180:8080 215 | 183.207.228.7:8111 216 | 183.207.228.7:8118 217 | 222.29.86.119:3128 218 | 193.63.43.34:8000 219 | 222.45.194.122:8118 220 | 58.215.137.101:9080 221 | 115.28.238.147:8080 222 | 219.217.227.93:3128 223 | 111.1.91.137:8118 224 | 120.192.249.74:80 225 | 119.90.127.2:80 226 | 117.171.236.26:8123 227 | 183.207.228.6:8161 228 | 36.250.74.87:8104 229 | 36.250.74.87:8102 230 | 183.207.228.41:80 231 | 183.207.228.43:80 232 | 183.207.228.6:8542 233 | 110.159.103.219:8080 234 | 202.29.97.2:3128 235 | 183.223.152.15:8123 236 | 124.88.67.36:83 237 | 175.43.20.95:80 238 | 196.201.218.199:1009 239 | 113.31.72.141:80 240 | 117.165.175.217:8123 241 | 58.215.137.120:9080 242 | 200.195.138.46:3128 243 | 54.244.94.51:8888 244 | 183.203.208.163:8118 245 | 202.96.155.251:8888 246 | 58.252.69.194:8888 247 | 221.10.102.203:843 248 | 200.20.168.135:80 249 | 54.251.189.206:3128 250 | 124.156.246.98:3128 251 | 120.203.148.6:8118 252 | 111.13.136.59:80 253 | 124.202.183.74:8118 254 | 54.207.75.153:3333 255 | 183.207.228.9:87 256 | 183.207.228.9:86 257 | 183.207.228.9:84 258 | 183.207.228.9:85 259 | 183.207.228.9:82 260 | 183.207.228.9:80 261 | 183.207.228.9:83 262 | 183.207.228.9:81 263 | 183.207.228.9:88 264 | 124.88.67.10:80 265 | 124.88.67.10:83 266 | 124.88.67.10:81 267 | 183.207.228.51:86 268 | 124.202.177.26:8118 269 | 117.21.192.9:80 270 | 181.30.27.19:80 271 | 183.216.127.19:8123 272 | 200.171.186.103:3128 273 | 123.103.8.249:3129 274 | 183.219.3.254:8123 275 | 187.62.205.74:3128 276 | 117.162.2.171:8123 277 | 117.165.189.124:8123 278 | 54.149.140.120:3128 279 | 183.220.244.176:8123 280 | 117.168.146.147:8123 281 | 183.207.228.7:8518 282 | 117.168.26.58:8123 283 | 101.4.136.66:84 284 | 117.167.82.210:8123 285 | 183.62.60.100:80 286 | 117.173.20.195:8123 287 | 187.104.43.109:8080 288 | 50.18.182.20:443 289 | 124.88.67.13:843 290 | 211.141.130.108:8118 291 | 183.136.135.153:8080 292 | 117.164.210.147:8123 293 | 112.45.102.185:8123 294 | 183.131.144.204:80 295 | 196.201.218.203:767 296 | 58.215.137.88:9080 297 | 117.164.16.29:8123 298 | 181.110.248.53:8080 299 | 190.79.2.117:8080 300 | 177.66.246.173:8080 301 | 58.215.137.96:9080 302 | 94.23.205.32:3128 303 | 113.107.57.76:3128 304 | 196.201.218.203:1237 305 | 117.162.172.238:8123 306 | 91.225.102.8:8080 307 | 183.207.228.6:8117 308 | 183.207.228.6:8112 309 | 200.58.74.49:3129 310 | 211.77.5.38:80 311 | 114.249.52.100:8118 312 | 116.77.128.68:8118 313 | 219.142.192.196:426 314 | 124.202.181.226:8118 315 | 219.142.192.196:282 316 | 114.215.108.155:9999 317 | 219.142.192.196:6609 318 | 203.81.162.211:3128 319 | 54.207.29.11:3333 320 | 89.31.150.71:8080 321 | 58.215.137.103:9080 322 | 210.22.63.67:8080 323 | 177.87.250.17:3128 324 | 163.177.79.4:8101 325 | 101.3.39.76:80 326 | 189.14.34.236:3128 327 | 118.229.239.17:8080 328 | 122.94.164.62:8118 329 | 198.11.172.223:3128 330 | 112.155.219.131:8080 331 | 115.29.184.17:82 332 | 75.151.84.36:8080 333 | 117.170.84.51:8123 334 | 183.207.228.7:8888 335 | 201.59.11.252:3128 336 | 218.89.170.78:8888 337 | 202.29.235.130:3129 338 | 196.201.218.204:80 339 | 112.19.127.119:8123 340 | 111.40.194.104:81 341 | 204.186.103.5:3128 342 | 186.225.35.69:8080 343 | 54.207.82.20:3333 344 | 124.88.67.30:81 345 | 177.130.53.216:3128 346 | 60.195.3.180:8118 347 | 122.136.46.151:3128 348 | 183.222.159.109:8123 349 | 183.222.153.148:8123 350 | 183.207.228.42:80 351 | 124.202.169.162:8118 352 | 196.201.218.202:455 353 | 163.177.79.5:80 354 | 119.97.164.48:8085 355 | 201.211.105.34:8080 356 | 123.57.68.233:80 357 | 186.46.185.186:8080 358 | 212.175.35.253:3128 359 | 05.101.138.140:8123 360 | 117.163.138.186:8123 361 | 119.6.144.74:83 362 | 119.6.144.74:80 363 | 119.6.144.74:82 364 | 196.201.218.202:1327 365 | 124.88.67.81:83 366 | 183.207.228.7:8202 367 | 124.88.67.81:80 368 | 124.88.67.81:81 369 | 85.105.20.114:8080 370 | 122.136.46.151:80 371 | 124.88.67.33:82 372 | 27.131.47.131:8080 373 | 36.250.74.87:80 374 | 194.135.220.18:8081 375 | 183.222.155.107:8123 376 | 124.88.67.83:80 377 | 183.207.228.58:80 378 | 115.28.137.244:80 379 | 59.58.162.141:888 380 | 200.222.105.27:3128 381 | 183.203.208.169:8118 382 | 121.199.42.198:3129 383 | 124.202.182.206:8001 384 | 50.57.131.89:3128 385 | 183.131.144.204:443 386 | 218.56.227.204:8118 387 | 112.95.244.57:80 388 | 123.58.129.48:80 389 | 117.148.44.19:8123 390 | 198.20.85.20:8118 391 | 115.28.62.175:80 392 | 221.12.173.130:3128 393 | 196.201.218.203:8080 394 | 122.224.90.20:80 395 | 119.6.144.74:81 396 | 183.217.96.73:8123 397 | 210.65.10.76:3128 398 | 219.142.192.196:595 399 | 219.142.192.196:228 400 | 218.30.128.190:8888 401 | 196.201.218.203:4472 402 | 183.219.149.250:8123 403 | 115.238.225.26:80 404 | 58.215.137.92:9080 405 | 124.88.67.20:80 406 | 124.88.67.20:83 407 | 124.88.67.54:80 408 | 124.88.67.54:83 409 | 201.14.153.247:80 410 | 181.30.27.18:80 411 | 58.215.137.119:9080 412 | 124.6.135.170:3128 413 | 190.207.11.67:8080 414 | 182.92.64.30:8080 415 | 89.191.175.14:3130 416 | 1.9.21.21:3128 417 | 94.23.23.60:80 418 | 124.91.135.153:8118 419 | 106.37.177.251:3128 420 | 182.140.140.36:80 421 | 117.166.68.202:8123 422 | 211.141.130.96:8118 423 | 123.103.8.87:3129 424 | 31.15.48.12:80 425 | 122.228.92.73:8080 426 | 221.10.102.203:81 427 | 221.10.102.203:83 428 | 221.10.102.203:80 429 | 222.124.219.215:3128 430 | 52.74.108.142:3128 431 | 124.88.67.34:82 432 | 125.39.66.69:80 433 | 196.201.218.199:32 434 | 117.171.157.17:8123 435 | 41.202.250.102:8080 436 | 125.24.77.36:80 437 | 91.240.68.193:443 438 | 109.60.249.107:3128 439 | 117.177.249.19:80 440 | 123.57.144.221:80 441 | 183.220.246.251:8123 442 | 200.112.211.110:8080 443 | 122.141.243.131:80 444 | 117.178.163.99:8123 445 | 117.78.5.31:3128 446 | 124.202.181.182:8001 447 | 193.63.43.64:8000 448 | 113.105.224.95:80 449 | 189.55.182.120:3128 450 | 181.88.177.145:8080 451 | 219.142.192.196:2898 452 | 211.141.130.112:8118 453 | 196.201.218.204:341 454 | 122.94.30.65:8118 455 | 219.142.192.196:264 456 | 196.201.218.203:428 457 | 112.244.151.157:8118 458 | 195.189.123.135:3128 459 | 183.220.240.157:8123 460 | 211.68.122.171:80 461 | 60.195.222.71:8001 462 | 88.150.136.181:3129 463 | 88.150.136.181:3128 464 | 137.116.158.58:80 465 | 124.88.67.32:83 466 | 124.88.67.32:80 467 | 202.108.50.75:81 468 | 202.108.50.75:82 469 | 202.108.50.75:80 470 | 183.207.228.7:9018 471 | 122.96.59.106:83 472 | 189.35.247.162:3128 473 | 190.75.236.187:8080 474 | 61.156.3.166:80 475 | 122.228.92.73:3128 476 | 196.201.218.204:1116 477 | 113.105.224.86:80 478 | 196.201.218.202:1014 479 | 200.167.148.10:3128 480 | 58.215.137.181:9080 481 | 218.240.156.82:80 482 | 202.55.23.168:80 483 | 219.142.54.90:80 484 | 185.54.4.198:8080 485 | 125.62.22.47:9999 486 | 117.135.252.84:9999 487 | 183.207.228.7:8281 488 | 117.165.105.144:8123 489 | 223.99.188.73:8090 490 | 202.119.25.72:9999 491 | 183.207.228.6:8032 492 | 219.223.190.90:3128 493 | 54.64.49.100:8080 494 | 183.222.156.214:8123 495 | 177.141.16.119:3128 496 | 128.199.248.14:8888 497 | 199.168.80.169:8082 498 | 177.7.4.132:3128 499 | 113.140.25.4:81 500 | 117.166.23.42:8123 501 | 117.168.177.95:8123 502 | 117.173.235.124:8123 503 | 111.161.126.101:80 504 | 123.138.184.228:80 505 | 219.142.192.196:182 506 | 183.217.36.61:8123 507 | 190.78.167.86:8080 508 | 54.207.81.139:3333 509 | 60.195.222.71:8118 510 | 200.24.220.94:80 511 | 183.207.228.6:8207 512 | 118.254.213.237:80 513 | 183.223.40.235:8123 514 | 222.45.85.210:8118 515 | 119.254.88.53:8080 516 | 58.214.5.229:80 517 | 183.207.228.57:80 518 | 124.88.67.9:83 519 | 124.88.67.9:81 520 | 124.88.67.9:80 521 | 121.231.131.237:8118 522 | 58.215.183.48:9080 523 | 209.66.192.149:3128 524 | 194.54.163.133:3130 525 | 122.225.117.26:80 526 | 54.64.140.6:8080 527 | 223.86.223.182:8123 528 | 219.136.252.120:80 529 | 211.77.5.41:80 530 | 58.252.72.179:3128 531 | 114.80.182.132:80 532 | 124.88.67.40:81 533 | 177.220.152.117:8081 534 | 77.37.130.244:8080 535 | 192.99.186.75:8080 536 | 117.170.230.182:8123 537 | 109.111.233.166:7777 538 | 124.88.67.83:81 539 | 54.207.52.18:3333 540 | 124.88.67.83:82 541 | 87.237.44.27:8080 542 | 196.201.218.204:853 543 | 124.88.67.83:83 544 | 183.207.228.7:8429 545 | 119.28.3.200:83 546 | 198.50.200.158:8089 547 | 120.131.128.214:80 548 | 122.225.106.40:80 549 | 219.142.192.196:7009 550 | 111.40.196.68:80 551 | 182.118.31.110:80 552 | 183.207.228.6:8076 553 | 82.200.217.66:8080 554 | 181.30.27.21:3128 555 | 183.207.228.7:8160 556 | 183.207.228.6:9309 557 | 187.76.82.149:3128 558 | 202.96.247.113:80 559 | 1.85.2.253:8000 560 | 196.201.218.204:1423 561 | 201.88.2.74:8080 562 | 36.250.74.88:8101 563 | 183.207.228.60:80 564 | 36.250.74.88:8104 565 | 182.254.129.68:80 566 | 120.85.132.234:80 567 | 180.130.137.95:9797 568 | 180.97.75.20:8080 569 | 187.17.217.138:3128 570 | 124.88.67.40:82 571 | 117.171.136.82:8123 572 | 183.207.228.7:8047 573 | 14.139.59.51:3128 574 | 131.229.80.59:8080 575 | 111.161.126.100:80 576 | 62.205.34.88:8000 577 | 121.42.29.118:80 578 | 123.125.104.240:80 579 | 219.142.192.196:808 580 | 219.142.192.196:803 581 | 124.202.182.182:8118 582 | 123.125.104.242:80 583 | 183.207.228.7:8265 584 | 177.66.247.155:8080 585 | 54.207.81.223:3333 586 | 37.49.137.243:80 587 | 58.215.183.47:9080 588 | 117.139.28.34:8123 589 | 58.96.177.117:3128 590 | 163.177.79.4:80 591 | 118.96.31.91:3128 592 | 117.79.64.29:80 593 | 110.75.120.170:80 594 | 119.147.86.212:9090 595 | 202.5.194.7:3128 596 | 221.176.14.72:80 597 | 58.253.238.242:80 598 | 109.196.127.35:8888 599 | 223.84.194.201:8123 600 | 116.236.216.116:8080 601 | 196.201.218.203:296 602 | 14.140.222.220:80 603 | 114.112.91.97:90 604 | 60.29.248.142:8080 605 | 201.208.162.142:3128 606 | 124.88.67.6:82 607 | 124.88.67.6:83 608 | 183.207.228.9:89 609 | 124.202.181.170:8118 610 | 115.85.70.60:1234 611 | 188.165.223.173:8118 612 | 54.207.81.250:3333 613 | 117.168.117.88:8123 614 | 183.203.208.168:8118 615 | 196.201.218.202:52 616 | 183.207.228.6:8518 617 | 196.201.218.204:37 618 | 94.46.229.126:3128 619 | 196.201.218.203:2958 620 | 190.199.186.249:8080 621 | 1.192.239.70:8118 622 | 42.51.132.239:8080 623 | 101.4.136.101:9999 624 | 183.203.22.76:80 625 | 124.88.67.20:81 626 | 118.26.183.173:8080 627 | 196.201.218.202:2969 628 | 88.150.136.178:3129 629 | 88.150.136.178:3128 630 | 92.242.126.86:3128 631 | 1.227.56.236:3128 632 | 104.197.8.4:3128 633 | 101.4.136.104:9999 634 | 210.101.131.227:8080 635 | 188.165.223.173:8115 636 | 183.203.208.172:8118 637 | 123.125.1.52:80 638 | 188.165.223.173:8113 639 | 163.177.79.5:8101 640 | 113.105.224.66:80 641 | 62.109.30.95:3128 642 | 118.192.93.173:80 643 | 124.88.67.54:81 644 | 124.88.67.24:81 645 | 124.88.67.24:80 646 | 58.215.183.46:9080 647 | 201.252.246.37:9090 648 | 196.201.218.202:34 649 | 202.100.166.132:80 650 | 124.88.67.84:80 651 | 111.13.136.59:843 652 | 218.90.174.167:3128 653 | 122.228.92.103:8080 654 | 196.201.218.204:213 655 | 190.154.51.178:8080 656 | 124.248.205.25:80 657 | 46.50.175.146:3128 658 | 198.236.242.223:80 659 | 183.207.228.8:85 660 | 183.207.228.8:87 661 | 183.207.228.8:84 662 | 183.207.228.8:81 663 | 183.207.228.8:83 664 | 183.207.228.8:80 665 | 119.147.91.21:80 666 | 183.60.126.65:9080 667 | 46.201.240.145:3128 668 | 183.203.208.162:8118 669 | 183.207.228.7:8100 670 | 183.207.228.7:8106 671 | 217.25.209.34:3128 672 | 183.207.228.7:8818 673 | 183.207.228.7:9989 674 | 190.64.148.74:8080 675 | 202.119.25.70:9999 676 | 121.31.5.188:8080 677 | 188.132.226.2:80 678 | 220.248.41.106:110 679 | 123.125.19.44:80 680 | 54.207.82.54:3333 681 | 124.202.181.198:8118 682 | 221.10.102.199:81 683 | 202.43.148.168:3128 684 | 119.188.94.145:80 685 | 124.202.180.186:8118 686 | 124.156.253.118:3128 687 | 122.225.106.35:80 688 | 104.154.58.149:3128 689 | 211.77.5.38:3128 690 | 54.88.246.102:80 691 | 196.201.218.199:8346 692 | 183.222.154.22:8123 693 | 202.101.96.154:8888 694 | 131.109.42.105:80 695 | 111.1.32.118:8080 696 | 133.242.19.155:80 697 | 124.88.67.34:80 698 | 183.223.34.3:8123 699 | 120.198.243.111:80 700 | 202.119.25.71:9999 701 | 115.44.98.239:8118 702 | 124.88.67.24:83 703 | 104.131.98.194:3128 704 | 124.202.181.102:8118 705 | 219.142.192.196:412 706 | 219.142.192.196:414 707 | 39.184.7.167:8123 708 | 58.135.68.102:80 709 | 1.202.150.116:8080 710 | 196.201.218.204:397 711 | 193.189.87.106:8080 712 | 219.142.192.196:411 713 | 200.203.146.69:3128 714 | 196.201.218.203:3304 715 | 58.252.167.103:80 716 | 58.215.183.51:9080 717 | 124.88.67.33:843 718 | 219.246.65.143:3128 719 | 211.71.20.251:3128 720 | 190.78.193.10:8080 721 | 181.30.27.21:80 722 | 183.207.228.9:90 723 | 183.60.44.136:88 724 | 110.5.100.218:3128 725 | 124.88.67.35:81 726 | 124.88.67.35:83 727 | 124.88.67.35:80 728 | 125.39.66.66:80 729 | 222.46.123.163:80 730 | 181.30.27.18:3128 731 | 118.168.198.179:80 732 | 219.142.192.196:3121 733 | 133.242.209.79:80 734 | 54.207.81.237:3333 735 | 89.107.114.160:3128 736 | 119.254.84.90:80 737 | 124.202.183.246:8118 738 | 117.171.233.62:8123 739 | 218.59.144.95:80 740 | 218.59.144.95:81 741 | 103.42.253.36:3129 742 | 192.52.166.175:3128 743 | 217.28.93.26:8080 744 | 210.200.13.232:80 745 | 120.131.129.227:80 746 | 202.107.233.85:8080 747 | 196.201.218.202:1427 748 | 211.141.130.252:8118 749 | 192.210.203.76:3128 750 | 196.201.218.199:190 751 | 113.106.93.42:3128 752 | 61.166.149.204:8081 753 | 186.233.116.90:80 754 | 180.247.48.124:3128 755 | 183.222.159.247:8123 756 | 200.129.147.2:3128 757 | 58.215.137.112:9080 758 | 58.215.183.35:9080 759 | 121.10.252.139:3128 760 | 183.220.105.22:8123 761 | 111.13.136.57:80 762 | 54.148.249.37:8888 763 | 122.225.106.36:80 764 | 111.13.136.57:843 765 | 117.139.28.171:8123 766 | 114.32.254.106:8080 767 | 101.4.60.43:80 768 | 124.202.183.246:8001 769 | 179.218.51.129:3128 770 | 185.53.168.95:8118 771 | 183.207.228.6:9877 772 | 118.69.226.241:8888 773 | 219.142.192.196:9415 774 | 122.228.92.103:3128 775 | 219.141.225.204:80 776 | 117.177.249.22:80 777 | 183.207.228.54:86 778 | 183.207.228.54:85 779 | 183.207.228.54:80 780 | 115.231.96.120:80 781 | 116.113.17.6:8090 782 | 101.4.136.3:9999 783 | 121.15.230.126:9797 784 | 219.142.192.196:2108 785 | 124.88.67.34:843 786 | 196.201.218.202:3719 787 | 119.80.160.52:80 788 | 111.11.184.51:9999 789 | 183.222.96.58:8123 790 | 124.202.176.102:8118 791 | 117.177.249.28:80 792 | 183.207.228.6:8310 793 | 182.118.23.7:8081 794 | 119.187.113.218:81 795 | 125.39.66.67:80 796 | 190.200.59.139:8080 797 | 128.199.99.56:3128 798 | 211.141.133.100:8118 799 | 104.155.45.90:3128 800 | 183.220.247.47:8123 801 | 117.166.57.11:8123 802 | 196.41.56.27:3128 803 | 101.4.136.66:80 804 | 101.4.136.66:86 805 | 101.4.136.66:81 806 | 101.4.136.66:82 807 | 101.4.136.66:83 808 | 111.1.3.36:8000 809 | 101.227.252.130:8081 810 | 190.37.82.135:8080 811 | 189.85.17.33:8080 812 | 183.207.228.7:8094 813 | 183.207.228.7:8099 814 | 196.201.218.202:2639 815 | 108.166.205.163:3128 816 | 223.99.188.74:8090 817 | 54.173.249.44:3128 818 | 121.201.18.74:3128 819 | 118.193.11.35:80 820 | 58.215.137.107:9080 821 | 87.245.168.14:3128 822 | 196.201.218.199:449 823 | 183.207.228.6:8083 824 | 183.207.228.6:8337 825 | 117.167.230.213:8123 826 | 121.42.211.168:80 827 | 101.4.136.66:85 828 | 210.101.131.231:8080 829 | 111.13.136.58:843 830 | 223.83.227.96:8123 831 | 207.244.89.22:8081 832 | 5.101.138.140:8123 833 | 120.131.128.211:80 834 | 124.202.181.146:8118 835 | 101.4.136.103:9999 836 | 124.202.176.102:8001 837 | 111.161.126.99:80 838 | 189.8.93.202:3128 839 | 196.201.218.199:808 840 | 122.94.179.243:8118 841 | 183.207.228.6:85 842 | 183.207.228.6:89 843 | 206.15.240.120:8080 844 | 113.107.57.76:80 845 | 120.85.132.234:110 846 | 31.170.237.202:3128 847 | 183.207.237.11:80 848 | 183.207.237.11:82 849 | 183.207.237.11:81 850 | 183.207.237.11:84 851 | 183.207.237.11:83 852 | 183.207.237.11:85 853 | 183.207.237.11:86 854 | 202.106.169.142:80 855 | 60.18.147.42:80 856 | 195.189.123.134:3128 857 | 196.201.218.199:1601 858 | 183.222.157.233:8123 859 | 219.142.192.196:1348 860 | 117.168.3.34:8123 861 | 183.207.228.6:9000 862 | 183.207.228.44:80 863 | 200.93.63.196:8080 864 | 124.81.237.114:3128 865 | 124.202.178.22:8001 866 | 223.210.55.45:80 867 | 117.170.93.206:8123 868 | 110.78.148.105:80 869 | 219.142.192.196:919 870 | 124.88.67.84:81 871 | 183.220.245.232:8123 872 | 124.88.67.84:83 873 | 183.207.228.6:8188 874 | 124.88.67.8:83 875 | 101.4.136.6:9999 876 | 58.215.137.87:9080 877 | 190.200.46.91:8080 878 | 183.207.228.7:8274 879 | 196.201.218.204:336 880 | 114.141.47.173:80 881 | 113.105.224.87:80 882 | 58.215.137.182:9080 883 | 201.210.198.154:8080 884 | 58.96.189.70:3128 885 | 119.254.102.253:80 886 | 146.148.120.126:3128 887 | 183.207.224.48:80 888 | 41.217.172.19:8080 889 | 182.92.240.197:8080 890 | 188.166.51.208:80 891 | 124.88.67.34:83 892 | 124.88.67.34:81 893 | 211.68.122.171:8080 894 | 60.207.228.235:80 895 | 58.215.137.100:9080 896 | 58.215.137.109:9080 897 | 202.195.161.28:8088 898 | 104.236.128.223:80 899 | 54.207.81.154:3333 900 | 101.226.249.237:80 901 | 37.239.46.74:80 902 | 121.42.42.249:80 903 | 124.202.208.18:8118 904 | 219.133.31.120:8888 905 | 120.203.149.110:8118 906 | 125.39.68.130:80 907 | 183.207.228.7:80 908 | 183.207.228.7:86 909 | 117.163.74.190:8123 910 | 187.58.9.92:8080 911 | 109.169.1.254:3128 912 | 177.91.235.18:3128 913 | 110.232.94.39:8087 914 | 180.248.32.56:3128 915 | 190.200.41.21:8080 916 | 117.171.240.37:8123 917 | --------------------------------------------------------------------------------