device_detector 1.0.1 → 1.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.rubocop.yml +49 -0
- data/.ruby-version +1 -0
- data/.travis.yml +5 -10
- data/CHANGELOG.md +14 -1
- data/README.md +6 -6
- data/Rakefile +20 -13
- data/device_detector.gemspec +1 -0
- data/lib/device_detector.rb +30 -26
- data/lib/device_detector/bot.rb +2 -2
- data/lib/device_detector/client.rb +3 -2
- data/lib/device_detector/device.rb +46 -20
- data/lib/device_detector/memory_cache.rb +26 -19
- data/lib/device_detector/metadata_extractor.rb +7 -8
- data/lib/device_detector/model_extractor.rb +3 -3
- data/lib/device_detector/name_extractor.rb +2 -2
- data/lib/device_detector/os.rb +121 -111
- data/lib/device_detector/parser.rb +22 -9
- data/lib/device_detector/version.rb +3 -1
- data/lib/device_detector/version_extractor.rb +2 -3
- data/regexes/bots.yml +442 -19
- data/regexes/client/browser_engine.yml +7 -1
- data/regexes/client/browsers.yml +773 -103
- data/regexes/client/feed_readers.yml +14 -8
- data/regexes/client/libraries.yml +43 -2
- data/regexes/client/mediaplayers.yml +21 -5
- data/regexes/client/mobile_apps.yml +131 -1
- data/regexes/client/pim.yml +6 -1
- data/regexes/device/cameras.yml +1 -1
- data/regexes/device/car_browsers.yml +7 -3
- data/regexes/device/consoles.yml +3 -3
- data/regexes/device/mobiles.yml +11365 -791
- data/regexes/device/notebooks.yml +114 -0
- data/regexes/device/portable_media_player.yml +2 -2
- data/regexes/device/televisions.yml +17 -3
- data/regexes/oss.yml +115 -47
- data/regexes/vendorfragments.yml +6 -2
- data/spec/device_detector/concrete_user_agent_spec.rb +16 -17
- data/spec/device_detector/detector_fixtures_spec.rb +30 -35
- data/spec/device_detector/device_spec.rb +28 -48
- data/spec/device_detector/memory_cache_spec.rb +60 -28
- data/spec/device_detector/model_extractor_spec.rb +3 -3
- data/spec/device_detector/version_extractor_spec.rb +5 -6
- data/spec/device_detector_spec.rb +49 -78
- data/spec/fixtures/client/browser.yml +1521 -406
- data/spec/fixtures/client/feed_reader.yml +39 -51
- data/spec/fixtures/client/library.yml +72 -11
- data/spec/fixtures/client/mediaplayer.yml +29 -40
- data/spec/fixtures/client/mobile_app.yml +172 -32
- data/spec/fixtures/client/pim.yml +32 -19
- data/spec/fixtures/detector/bots.yml +854 -19
- data/spec/fixtures/detector/camera.yml +22 -2
- data/spec/fixtures/detector/car_browser.yml +60 -0
- data/spec/fixtures/detector/console.yml +43 -3
- data/spec/fixtures/detector/desktop.yml +2860 -1527
- data/spec/fixtures/detector/feature_phone.yml +69 -1
- data/spec/fixtures/detector/feed_reader.yml +158 -130
- data/spec/fixtures/detector/mediaplayer.yml +113 -39
- data/spec/fixtures/detector/mobile_apps.yml +262 -89
- data/spec/fixtures/detector/phablet.yml +3444 -663
- data/spec/fixtures/detector/portable_media_player.yml +57 -0
- data/spec/fixtures/detector/smart_speaker.yml +55 -0
- data/spec/fixtures/detector/smartphone-1.yml +4739 -4765
- data/spec/fixtures/detector/smartphone-10.yml +9973 -0
- data/spec/fixtures/detector/smartphone-11.yml +10015 -0
- data/spec/fixtures/detector/smartphone-12.yml +9897 -0
- data/spec/fixtures/detector/smartphone-13.yml +9912 -0
- data/spec/fixtures/detector/smartphone-14.yml +9935 -0
- data/spec/fixtures/detector/smartphone-15.yml +6595 -0
- data/spec/fixtures/detector/smartphone-16.yml +10021 -0
- data/spec/fixtures/detector/smartphone-17.yml +9408 -0
- data/spec/fixtures/detector/smartphone-2.yml +4265 -4238
- data/spec/fixtures/detector/smartphone-3.yml +4487 -4391
- data/spec/fixtures/detector/smartphone-4.yml +4210 -4179
- data/spec/fixtures/detector/smartphone-5.yml +5794 -2901
- data/spec/fixtures/detector/smartphone-6.yml +10114 -0
- data/spec/fixtures/detector/smartphone-7.yml +9975 -0
- data/spec/fixtures/detector/smartphone-8.yml +9897 -0
- data/spec/fixtures/detector/smartphone-9.yml +9880 -0
- data/spec/fixtures/detector/smartphone.yml +4152 -4048
- data/spec/fixtures/detector/tablet-1.yml +3997 -3991
- data/spec/fixtures/detector/tablet-2.yml +6820 -1935
- data/spec/fixtures/detector/tablet-3.yml +9968 -0
- data/spec/fixtures/detector/tablet-4.yml +7113 -0
- data/spec/fixtures/detector/tablet.yml +3789 -3804
- data/spec/fixtures/detector/tv.yml +3889 -1495
- data/spec/fixtures/detector/unknown.yml +45 -179
- data/spec/fixtures/detector/wearable.yml +61 -0
- data/spec/fixtures/device/camera.yml +4 -3
- data/spec/fixtures/device/car_browser.yml +9 -2
- data/spec/fixtures/device/console.yml +15 -14
- data/spec/fixtures/device/notebook.yml +7 -0
- data/spec/fixtures/parser/oss.yml +177 -0
- data/spec/fixtures/parser/vendorfragments.yml +6 -0
- metadata +57 -7
@@ -1,7 +1,7 @@
|
|
1
1
|
###############
|
2
2
|
# Device Detector - The Universal Device Detection library for parsing User Agents
|
3
3
|
#
|
4
|
-
# @link
|
4
|
+
# @link https://matomo.org
|
5
5
|
# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
|
6
6
|
###############
|
7
7
|
|
@@ -31,3 +31,9 @@
|
|
31
31
|
|
32
32
|
- regex: 'NetSurf'
|
33
33
|
name: 'NetSurf'
|
34
|
+
|
35
|
+
- regex: 'Servo'
|
36
|
+
name: 'Servo'
|
37
|
+
|
38
|
+
- regex: 'Goanna'
|
39
|
+
name: 'Goanna'
|
data/regexes/client/browsers.yml
CHANGED
@@ -1,11 +1,330 @@
|
|
1
1
|
###############
|
2
2
|
# Device Detector - The Universal Device Detection library for parsing User Agents
|
3
3
|
#
|
4
|
-
# @link
|
4
|
+
# @link https://matomo.org
|
5
5
|
# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
|
6
6
|
###############
|
7
7
|
|
8
|
-
#
|
8
|
+
# Safe Exam Browser (https://safeexambrowser.org/)
|
9
|
+
- regex: 'SEB/(?:(\d+[\.\d]+))?'
|
10
|
+
name: 'Safe Exam Browser'
|
11
|
+
version: '$1'
|
12
|
+
|
13
|
+
# Colibri (https://colibri.opqr.co/)
|
14
|
+
- regex: 'Colibri/(?:(\d+[\.\d]+))?'
|
15
|
+
name: 'Colibri'
|
16
|
+
version: '$1'
|
17
|
+
|
18
|
+
# Xvast (https://www.xvast.com/)
|
19
|
+
- regex: 'Xvast/(?:(\d+[\.\d]+))?'
|
20
|
+
name: 'Xvast'
|
21
|
+
version: '$1'
|
22
|
+
|
23
|
+
# Tungsten (https://en.tungsten-start.net/)
|
24
|
+
- regex: 'TungstenBrowser/(?:(\d+[\.\d]+))?'
|
25
|
+
name: 'Tungsten'
|
26
|
+
version: '$1'
|
27
|
+
|
28
|
+
# Lulumi (https://github.com/LulumiProject/lulumi-browser)
|
29
|
+
- regex: 'Lulumi-browser/(?:(\d+[\.\d]+))?'
|
30
|
+
name: 'Lulumi'
|
31
|
+
version: '$1'
|
32
|
+
|
33
|
+
# Yahoo! Japan Browser (https://promo-ybrowser.yahoo.co.jp/)
|
34
|
+
- regex: 'ybrowser/(?:(\d+[\.\d]+))?'
|
35
|
+
name: 'Yahoo! Japan Browser'
|
36
|
+
version: '$1'
|
37
|
+
|
38
|
+
# Lunascape Lite (https://www.lunascape.tv/)
|
39
|
+
- regex: 'iLunascapeLite/(?:(\d+[\.\d]+))?'
|
40
|
+
name: 'Lunascape Lite'
|
41
|
+
version: '$1'
|
42
|
+
|
43
|
+
# Polypane (https://polypane.app/)
|
44
|
+
- regex: 'Polypane/(?:(\d+[\.\d]+))?'
|
45
|
+
name: 'Polypane'
|
46
|
+
version: '$1'
|
47
|
+
|
48
|
+
# OhHai Browser (https://ohhaibrowser.com/)
|
49
|
+
- regex: 'OhHaiBrowser/(?:(\d+[\.\d]+))?'
|
50
|
+
name: 'OhHai Browser'
|
51
|
+
version: '$1'
|
52
|
+
|
53
|
+
# Sizzy (https://sizzy.co/)
|
54
|
+
- regex: 'Sizzy/(?:(\d+[\.\d]+))?'
|
55
|
+
name: 'Sizzy'
|
56
|
+
version: '$1'
|
57
|
+
|
58
|
+
# Glass Browser (https://github.com/mitchas/glass-browser)
|
59
|
+
- regex: 'GlassBrowser/(?:(\d+[\.\d]+))?'
|
60
|
+
name: 'Glass Browser'
|
61
|
+
version: '$1'
|
62
|
+
|
63
|
+
# ToGate (https://tmaxanc.com/#!/product-introduce/ToGate)
|
64
|
+
- regex: 'ToGate/(?:(\d+[\.\d]+))?'
|
65
|
+
name: 'ToGate'
|
66
|
+
version: '$1'
|
67
|
+
|
68
|
+
# VMware AirWatch (https://www.air-watch.com/)
|
69
|
+
- regex: 'AirWatch Browser v(?:(\d+[\.\d]+))?'
|
70
|
+
name: 'VMware AirWatch'
|
71
|
+
version: '$1'
|
72
|
+
|
73
|
+
# AOL Desktop (https://beta.aol.com/projects/desktop/windows)
|
74
|
+
- regex: 'ADG/(?:(\d+[\.\d]+))?'
|
75
|
+
name: 'AOL Desktop'
|
76
|
+
version: '$1'
|
77
|
+
|
78
|
+
# Elements Browser (https://elementsbrowser.com/)
|
79
|
+
- regex: 'Elements Browser/(?:(\d+[\.\d]+))?'
|
80
|
+
name: 'Elements Browser'
|
81
|
+
version: '$1'
|
82
|
+
|
83
|
+
# Light (https://sourceforge.net/projects/lightfirefox/)
|
84
|
+
- regex: 'Light/(\d+[\.\d]+)'
|
85
|
+
name: 'Light'
|
86
|
+
version: '$1'
|
87
|
+
|
88
|
+
# Steam (https://www.valvesoftware.com/)
|
89
|
+
- regex: 'Valve Steam GameOverlay/(?:(\d+[\.\d]+))?'
|
90
|
+
name: 'Steam In-Game Overlay'
|
91
|
+
version: '$1'
|
92
|
+
|
93
|
+
# 115 Browser (https://pc.115.com/)
|
94
|
+
- regex: '115Browser/(?:(\d+[\.\d]+))?'
|
95
|
+
name: '115 Browser'
|
96
|
+
version: '$1'
|
97
|
+
|
98
|
+
# Atom (https://browser.ru/)
|
99
|
+
- regex: 'Atom/(?:(\d+[\.\d]+))?'
|
100
|
+
name: 'Atom'
|
101
|
+
version: '$1'
|
102
|
+
|
103
|
+
# Firefox Reality (https://mixedreality.mozilla.org/firefox-reality/)
|
104
|
+
- regex: 'Mobile VR.+Firefox'
|
105
|
+
name: 'Firefox Reality'
|
106
|
+
version: ''
|
107
|
+
|
108
|
+
# AVG Secure Browser (https://www.avg.com/en-us/secure-browser)
|
109
|
+
- regex: 'AVG(?:/(\d+[\.\d]+))?'
|
110
|
+
name: 'AVG Secure Browser'
|
111
|
+
version: '$1'
|
112
|
+
|
113
|
+
# START Internet Browser (https://play.google.com/store/apps/details?id=fyi.start.web.browser)
|
114
|
+
- regex: 'Start/(?:(\d+[\.\d]+))?'
|
115
|
+
name: 'START Internet Browser'
|
116
|
+
version: '$1'
|
117
|
+
|
118
|
+
# Lovense Browser (https://www.lovense.com/cam-model/download)
|
119
|
+
- regex: 'Lovense(?:/(\d+[\.\d]+))?'
|
120
|
+
name: 'Lovense Browser'
|
121
|
+
version: '$1'
|
122
|
+
|
123
|
+
# Delta Browser (https://play.google.com/store/apps/details?id=com.airfind.deltabrowser)
|
124
|
+
- regex: 'com.airfind.deltabrowser(?:/(\d+[\.\d]+))?'
|
125
|
+
name: 'Delta Browser'
|
126
|
+
version: '$1'
|
127
|
+
|
128
|
+
# Ordissimo (https://www.ordissimo.fr/)
|
129
|
+
- regex: '(?:Ordissimo|webissimo3)(?:/(\d+[\.\d]+))?'
|
130
|
+
name: 'Ordissimo'
|
131
|
+
version: '$1'
|
132
|
+
|
133
|
+
# CCleaner (https://www.ccleaner.com/ccleaner/browser)
|
134
|
+
- regex: 'CCleaner(?:/(\d+[\.\d]+))?'
|
135
|
+
name: 'CCleaner'
|
136
|
+
version: '$1'
|
137
|
+
|
138
|
+
# Aloha Browser Lite (https://play.google.com/store/apps/details?id=com.alohamobile.browser.lite)
|
139
|
+
- regex: 'AlohaLite(?:/(\d+[\.\d]+))?'
|
140
|
+
name: 'Aloha Browser Lite'
|
141
|
+
version: '$1'
|
142
|
+
|
143
|
+
# Tao Browser (https://browser.taobao.com/)
|
144
|
+
- regex: 'TaoBrowser(?:/(\d+[\.\d]+))?'
|
145
|
+
name: 'Tao Browser'
|
146
|
+
version: '$1'
|
147
|
+
|
148
|
+
# Falkon (https://www.falkon.org/)
|
149
|
+
- regex: 'Falkon(?:/(\d+[\.\d]+))?'
|
150
|
+
name: 'Falkon'
|
151
|
+
version: '$1'
|
152
|
+
|
153
|
+
# mCent (http://mcentbrowser.com/)
|
154
|
+
- regex: 'mCent(?:/(\d+[\.\d]+))?'
|
155
|
+
name: 'mCent'
|
156
|
+
version: '$1'
|
157
|
+
|
158
|
+
# SalamWeb (https://salamweb.com/)
|
159
|
+
- regex: 'SalamWeb(?:/(\d+[\.\d]+))?'
|
160
|
+
name: 'SalamWeb'
|
161
|
+
version: '$1'
|
162
|
+
|
163
|
+
# BlackHawk (http://www.netgate.sk/blackhawk/)
|
164
|
+
- regex: 'BlackHawk(?:/(\d+[\.\d]+))?'
|
165
|
+
name: 'BlackHawk'
|
166
|
+
version: '$1'
|
167
|
+
|
168
|
+
# Minimo (https://www-archive.mozilla.org/projects/minimo/)
|
169
|
+
- regex: 'Minimo(?:/(\d+[\.\d]+))?'
|
170
|
+
name: 'Minimo'
|
171
|
+
version: '$1'
|
172
|
+
|
173
|
+
# Wear Internet Browser (https://play.google.com/store/apps/details?id=com.appfour.wearbrowser)
|
174
|
+
- regex: 'WIB(?:/(\d+[\.\d]+))?'
|
175
|
+
name: 'Wear Internet Browser'
|
176
|
+
version: '$1'
|
177
|
+
|
178
|
+
# Origyn Web Browser (https://en.wikipedia.org/wiki/Origyn_Web_Browser)
|
179
|
+
- regex: 'Origyn Web Browser'
|
180
|
+
name: 'Origyn Web Browser'
|
181
|
+
version: ''
|
182
|
+
|
183
|
+
# Kinza (https://www.kinza.jp/en/)
|
184
|
+
- regex: 'Kinza(?:/(\d+[\.\d]+))?'
|
185
|
+
name: 'Kinza'
|
186
|
+
version: '$1'
|
187
|
+
|
188
|
+
# Beamrise (https://web.archive.org/web/20170520043839/http://beamrise.com/)
|
189
|
+
- regex: 'Beamrise(?:/(\d+[\.\d]+))?'
|
190
|
+
name: 'Beamrise'
|
191
|
+
version: '$1'
|
192
|
+
|
193
|
+
# Faux Browser (https://apps.apple.com/us/app/faux-browser/id472250940)
|
194
|
+
- regex: 'Faux(?:/(\d+[\.\d]+))?'
|
195
|
+
name: 'Faux Browser'
|
196
|
+
version: '$1'
|
197
|
+
|
198
|
+
# Splash (https://scrapinghub.com/splash)
|
199
|
+
- regex: 'splash Version(?:/(\d+[\.\d]+))?'
|
200
|
+
name: 'Splash'
|
201
|
+
version: '$1'
|
202
|
+
|
203
|
+
# Meizu Browser (https://www.meizu.com/)
|
204
|
+
- regex: 'MZBrowser(?:/(\d+[\.\d]+))?'
|
205
|
+
name: 'Meizu Browser'
|
206
|
+
version: '$1'
|
207
|
+
|
208
|
+
# COS Browser (https://sj.qq.com/myapp/detail.htm?apkName=com.qcloud.cos.client)
|
209
|
+
- regex: 'COSBrowser(?:/(\d+[\.\d]+))?'
|
210
|
+
name: 'COS Browser'
|
211
|
+
version: '$1'
|
212
|
+
|
213
|
+
# Crusta (https://github.com/Crusta/CrustaBrowser)
|
214
|
+
- regex: 'Crusta(?:/(\d+[\.\d]+))?'
|
215
|
+
name: 'Crusta'
|
216
|
+
version: '$1'
|
217
|
+
|
218
|
+
# Hawk Turbo Browser
|
219
|
+
- regex: 'Hawk/TurboBrowser(?:/v?(\d+[\.\d]+))?'
|
220
|
+
name: 'Hawk Turbo Browser'
|
221
|
+
version: '$1'
|
222
|
+
engine:
|
223
|
+
default: 'Blink'
|
224
|
+
|
225
|
+
# FreeU (https://freeu.online/)
|
226
|
+
- regex: 'FreeU(?:/(\d+[\.\d]+))?'
|
227
|
+
name: 'FreeU'
|
228
|
+
version: '$1'
|
229
|
+
engine:
|
230
|
+
default: 'Blink'
|
231
|
+
|
232
|
+
# Nox Browser (https://play.google.com/store/apps/details?id=com.noxgroup.app.browser)
|
233
|
+
- regex: 'NoxBrowser(?:/(\d+[\.\d]+))?'
|
234
|
+
name: 'Nox Browser'
|
235
|
+
version: '$1'
|
236
|
+
engine:
|
237
|
+
default: 'Blink'
|
238
|
+
|
239
|
+
# Basilisk (https://www.basilisk-browser.org/)
|
240
|
+
- regex: 'Basilisk(?:/(\d+[\.\d]+))?'
|
241
|
+
name: 'Basilisk'
|
242
|
+
version: '$1'
|
243
|
+
engine:
|
244
|
+
default: 'Goanna'
|
245
|
+
|
246
|
+
# Sputnik Browser (https://play.google.com/store/apps/details?id=ru.sputnik.browser)
|
247
|
+
- regex: 'SputnikBrowser(?:/(\d+[\.\d]+))?'
|
248
|
+
name: 'Sputnik Browser'
|
249
|
+
version: '$1'
|
250
|
+
engine:
|
251
|
+
default: 'Blink'
|
252
|
+
|
253
|
+
# K.Browser (https://play.google.com/store/apps/details?id=com.tnsua.browser)
|
254
|
+
- regex: 'TNSBrowser(?:/(\d+[\.\d]+))?'
|
255
|
+
name: 'K.Browser'
|
256
|
+
version: '$1'
|
257
|
+
engine:
|
258
|
+
default: 'Blink'
|
259
|
+
|
260
|
+
# Oculus Browser (https://developer.oculus.com/documentation/oculus-browser/latest/concepts/)
|
261
|
+
- regex: 'OculusBrowser(?:/(\d+[\.\d]+))?'
|
262
|
+
name: 'Oculus Browser'
|
263
|
+
version: '$1'
|
264
|
+
|
265
|
+
# Jio Browser (https://play.google.com/store/apps/details?id=com.jio.web)
|
266
|
+
- regex: 'JioBrowser(?:/(\d+[\.\d]+))?'
|
267
|
+
name: 'Jio Browser'
|
268
|
+
version: '$1'
|
269
|
+
engine:
|
270
|
+
default: 'Blink'
|
271
|
+
|
272
|
+
# hola! Browser (https://hola.org/browser)
|
273
|
+
- regex: 'Chrome/.+ Hola(?:/(\d+[\.\d]+))?'
|
274
|
+
name: 'hola! Browser'
|
275
|
+
version: '$1'
|
276
|
+
engine:
|
277
|
+
default: 'Blink'
|
278
|
+
|
279
|
+
# Huawei Browser
|
280
|
+
- regex: 'HuaweiBrowser(?:/(\d+[\.\d]+))?'
|
281
|
+
name: 'Huawei Browser'
|
282
|
+
version: '$1'
|
283
|
+
|
284
|
+
# vivo Browser
|
285
|
+
- regex: 'VivoBrowser(?:/(\d+[\.\d]+))?'
|
286
|
+
name: 'vivo Browser'
|
287
|
+
version: '$1'
|
288
|
+
|
289
|
+
# Realme Browser
|
290
|
+
- regex: 'RealmeBrowser(?:/(\d+[\.\d]+))?'
|
291
|
+
name: 'Realme Browser'
|
292
|
+
version: '$1'
|
293
|
+
|
294
|
+
# Beaker distributed web browser (https://beakerbrowser.com/)
|
295
|
+
- regex: 'Beaker ?Browser(?:[/ ](\d+[\.\d]+))?'
|
296
|
+
name: 'Beaker Browser'
|
297
|
+
version: '$1'
|
298
|
+
engine:
|
299
|
+
default: 'Blink'
|
300
|
+
|
301
|
+
# Qwant Mobile
|
302
|
+
- regex: 'QwantMobile(?:/(\d+[\.\d]+))?'
|
303
|
+
name: 'Qwant Mobile'
|
304
|
+
version: '$1'
|
305
|
+
engine:
|
306
|
+
default: 'Gecko'
|
307
|
+
- regex: 'Qwant/(\d+[\.\d]+)'
|
308
|
+
name: 'Qwant Mobile'
|
309
|
+
version: '$1'
|
310
|
+
engine:
|
311
|
+
default: 'Gecko'
|
312
|
+
|
313
|
+
# TenFourFox
|
314
|
+
- regex: 'TenFourFox(?:/(\d+[\.\d]+))?'
|
315
|
+
name: 'TenFourFox'
|
316
|
+
version: '$1'
|
317
|
+
engine:
|
318
|
+
default: 'Gecko'
|
319
|
+
|
320
|
+
# AOL Shield
|
321
|
+
- regex: 'AOLShield(?:/(\d+[\.\d]+))?'
|
322
|
+
name: 'AOL Shield'
|
323
|
+
version: '$1'
|
324
|
+
engine:
|
325
|
+
default: 'Gecko'
|
326
|
+
|
327
|
+
# Microsoft Edge (Spartan Edge)
|
9
328
|
- regex: 'Edge[ /](\d+[\.\d]+)'
|
10
329
|
name: 'Microsoft Edge'
|
11
330
|
version: '$1'
|
@@ -26,6 +345,13 @@
|
|
26
345
|
engine:
|
27
346
|
default: 'Blink'
|
28
347
|
|
348
|
+
# Microsoft Edge (Anaheim Edge)
|
349
|
+
- regex: 'Edg[ /](\d+[\.\d]+)'
|
350
|
+
name: 'Microsoft Edge'
|
351
|
+
version: '$1'
|
352
|
+
engine:
|
353
|
+
default: 'Blink'
|
354
|
+
|
29
355
|
# 360 Browser
|
30
356
|
- regex: 'QIHU 360[ES]E'
|
31
357
|
name: '360 Browser'
|
@@ -45,10 +371,17 @@
|
|
45
371
|
engine:
|
46
372
|
default: 'Gecko'
|
47
373
|
|
48
|
-
#
|
49
|
-
- regex: '(
|
50
|
-
name: '
|
51
|
-
version: '$
|
374
|
+
# IceCat
|
375
|
+
- regex: 'IceCat(?:/(\d+[\.\d]+))?'
|
376
|
+
name: 'IceCat'
|
377
|
+
version: '$1'
|
378
|
+
engine:
|
379
|
+
default: 'Gecko'
|
380
|
+
|
381
|
+
# Mobicip
|
382
|
+
- regex: 'Mobicip'
|
383
|
+
name: 'Mobicip'
|
384
|
+
version: ''
|
52
385
|
engine:
|
53
386
|
default: 'Gecko'
|
54
387
|
|
@@ -71,8 +404,13 @@
|
|
71
404
|
name: 'Aloha Browser'
|
72
405
|
version: '$1'
|
73
406
|
|
407
|
+
# Avast Secure Browser | Avast SafeZone Browser (https://www.avast.com/)
|
408
|
+
- regex: '(?:Avast|ASW|Safer)(?:/(\d+[\.\d]+))?'
|
409
|
+
name: 'Avast Secure Browser'
|
410
|
+
version: '$1'
|
411
|
+
|
74
412
|
#Epic
|
75
|
-
- regex: 'Epic(?:/(\d+[\.\d]+))
|
413
|
+
- regex: 'Epic(?:/(\d+[\.\d]+))'
|
76
414
|
name: 'Epic'
|
77
415
|
version: '$1'
|
78
416
|
engine:
|
@@ -110,6 +448,11 @@
|
|
110
448
|
engine:
|
111
449
|
default: '' # multiple
|
112
450
|
|
451
|
+
#Oppo Browser
|
452
|
+
- regex: 'OppoBrowser(?:/(\d+[\.\d]+))?'
|
453
|
+
name: 'Oppo Browser'
|
454
|
+
version: '$1'
|
455
|
+
|
113
456
|
#Amigo
|
114
457
|
- regex: 'Chrome/(\d+[\.\d]+).*MRCHROME'
|
115
458
|
name: 'Amigo'
|
@@ -157,6 +500,11 @@
|
|
157
500
|
|
158
501
|
|
159
502
|
#Pale Moon
|
503
|
+
- regex: '.*Goanna.*PaleMoon(?:/(\d+[\.\d]+))?'
|
504
|
+
name: 'Pale Moon'
|
505
|
+
version: '$1'
|
506
|
+
engine:
|
507
|
+
default: 'Goanna'
|
160
508
|
- regex: 'PaleMoon(?:/(\d+[\.\d]+))?'
|
161
509
|
name: 'Pale Moon'
|
162
510
|
version: '$1'
|
@@ -186,6 +534,11 @@
|
|
186
534
|
versions:
|
187
535
|
3: 'WebKit'
|
188
536
|
|
537
|
+
# Jig Browser Plus (https://jig.jp/)
|
538
|
+
- regex: 'JigBrowserPlus/(?:(\d+[\.\d]+))?'
|
539
|
+
name: 'Jig Browser Plus'
|
540
|
+
version: '$1'
|
541
|
+
|
189
542
|
#Jig Browser
|
190
543
|
- regex: 'jig browser(?: web;|9i?)?(?:[/ ](\d+[\.\d]+))?'
|
191
544
|
name: 'Jig Browser'
|
@@ -205,6 +558,49 @@
|
|
205
558
|
engine:
|
206
559
|
default: 'Gecko'
|
207
560
|
|
561
|
+
# Origin (https://www.origin.com/)
|
562
|
+
- regex: 'Origin/(?:(\d+[\.\d]+))?'
|
563
|
+
name: 'Origin In-Game Overlay'
|
564
|
+
version: '$1'
|
565
|
+
|
566
|
+
#Cunaguaro
|
567
|
+
- regex: 'Cunaguaro(?:/(\d+[\.\d]+))?'
|
568
|
+
name: 'Cunaguaro'
|
569
|
+
version: '$1'
|
570
|
+
|
571
|
+
# t-online.de Browser (https://www.t-online.de/computer/browser/)
|
572
|
+
- regex: 'TO-Browser(?:/TOB(\d+[\.\d]+))?'
|
573
|
+
name: 't-online.de Browser'
|
574
|
+
version: '$1'
|
575
|
+
|
576
|
+
#Kazehakase
|
577
|
+
- regex: 'Kazehakase(?:/(\d+[\.\d]+))?'
|
578
|
+
name: 'Kazehakase'
|
579
|
+
version: '$1'
|
580
|
+
engine:
|
581
|
+
default: '' # multi engine
|
582
|
+
|
583
|
+
# ArcticFox (https://github.com/wicknix/Arctic-Fox)
|
584
|
+
- regex: 'ArcticFox(?:/(\d+[\.\d]+))?'
|
585
|
+
name: 'Arctic Fox'
|
586
|
+
version: '$1'
|
587
|
+
engine:
|
588
|
+
default: 'Goanna'
|
589
|
+
|
590
|
+
# Mypal (https://github.com/Feodor2/Mypal)
|
591
|
+
- regex: 'Mypal(?:/(\d+[\.\d]+))?'
|
592
|
+
name: 'Mypal'
|
593
|
+
version: '$1'
|
594
|
+
engine:
|
595
|
+
default: 'Goanna'
|
596
|
+
|
597
|
+
# Centaury (https://github.com/Feodor2/Centaury)
|
598
|
+
- regex: 'Centaury(?:/(\d+[\.\d]+))?'
|
599
|
+
name: 'Centaury'
|
600
|
+
version: '$1'
|
601
|
+
engine:
|
602
|
+
default: 'Goanna'
|
603
|
+
|
208
604
|
#Firefox Focus / Firefox Klar
|
209
605
|
- regex: '(?:Focus|Klar)(?:/(\d+[\.\d]+))?'
|
210
606
|
name: 'Firefox Focus'
|
@@ -225,28 +621,38 @@
|
|
225
621
|
default: 'Gecko'
|
226
622
|
|
227
623
|
#Firefox Mobile
|
228
|
-
- regex: '(Mobile|Tablet).*Firefox(?:/(\d+[\.\d]+))?'
|
624
|
+
- regex: '(?:Mobile|Tablet).*Servo.*Firefox(?:/(\d+[\.\d]+))?'
|
229
625
|
name: 'Firefox Mobile'
|
230
|
-
version: '$
|
626
|
+
version: '$1'
|
627
|
+
engine:
|
628
|
+
default: 'Servo'
|
629
|
+
- regex: '(?:Mobile|Tablet).*Firefox(?:/(\d+[\.\d]+))?'
|
630
|
+
name: 'Firefox Mobile'
|
631
|
+
version: '$1'
|
231
632
|
engine:
|
232
633
|
default: 'Gecko'
|
634
|
+
- regex: 'FxiOS/(\d+[\.\d]+)'
|
635
|
+
name: 'Firefox Mobile iOS'
|
636
|
+
version: '$1'
|
637
|
+
engine:
|
638
|
+
default: 'WebKit'
|
233
639
|
|
234
640
|
#Firefox
|
235
|
-
- regex: 'Firefox(?:/(\d+[\.\d]+))?'
|
641
|
+
- regex: '.*Servo.*Firefox(?:/(\d+[\.\d]+))?'
|
236
642
|
name: 'Firefox'
|
237
643
|
version: '$1'
|
238
644
|
engine:
|
239
|
-
default: '
|
240
|
-
- regex: '(
|
645
|
+
default: 'Servo'
|
646
|
+
- regex: '(?!.*Opera[ /])Firefox(?:/(\d+[\.\d]+))?'
|
241
647
|
name: 'Firefox'
|
242
|
-
version: '$1
|
648
|
+
version: '$1'
|
243
649
|
engine:
|
244
650
|
default: 'Gecko'
|
245
|
-
- regex: '
|
246
|
-
name: 'Firefox
|
247
|
-
version: '
|
651
|
+
- regex: '(?:BonEcho|GranParadiso|Lorentz|Minefield|Namoroka|Shiretoko)/(\d+[\.\d]+)'
|
652
|
+
name: 'Firefox'
|
653
|
+
version: '$1'
|
248
654
|
engine:
|
249
|
-
default: '
|
655
|
+
default: 'Gecko'
|
250
656
|
|
251
657
|
#ANT Fresco
|
252
658
|
- regex: 'ANTFresco(?:[/ ](\d+[\.\d]+))?'
|
@@ -302,6 +708,44 @@
|
|
302
708
|
name: 'Dooble'
|
303
709
|
version: '$1'
|
304
710
|
|
711
|
+
# Whale
|
712
|
+
- regex: 'Whale/(\d+[\.\d]+)'
|
713
|
+
name: 'Whale Browser'
|
714
|
+
version: '$1'
|
715
|
+
engine:
|
716
|
+
default: 'Blink'
|
717
|
+
|
718
|
+
#Obigo
|
719
|
+
- regex: 'Obigo[ ]?(?:InternetBrowser|Browser)?(?:[ /]([a-z0-9]*))?'
|
720
|
+
name: 'Obigo'
|
721
|
+
version: '$1'
|
722
|
+
- regex: 'Obigo|Teleca'
|
723
|
+
name: 'Obigo'
|
724
|
+
version: ''
|
725
|
+
|
726
|
+
#UC Browser Mini
|
727
|
+
- regex: 'UCMini(?:[ /]?(\d+[\.\d]+))?'
|
728
|
+
name: 'UC Browser Mini'
|
729
|
+
version: '$1'
|
730
|
+
- regex: 'UC[ ]?Browser.* \(UCMini\)'
|
731
|
+
name: 'UC Browser Mini'
|
732
|
+
version: ''
|
733
|
+
|
734
|
+
# UC Browser Turbo
|
735
|
+
- regex: 'UCTurbo(?:[ /]?(\d+[\.\d]+))?'
|
736
|
+
name: 'UC Browser Turbo'
|
737
|
+
version: '$1'
|
738
|
+
- regex: 'UC[ ]?Browser.* \(UCTurbo\)'
|
739
|
+
name: 'UC Browser Turbo'
|
740
|
+
version: ''
|
741
|
+
|
742
|
+
# Opera GX (https://www.opera.com/gx#start | http://ftp.opera.com/pub/opera_gx/)
|
743
|
+
- regex: 'OPRGX(?:/(\d+[\.\d]+))?'
|
744
|
+
name: 'Opera GX'
|
745
|
+
version: '$1'
|
746
|
+
engine:
|
747
|
+
default: 'Blink'
|
748
|
+
|
305
749
|
#Opera
|
306
750
|
- regex: '(?:Opera Tablet.*Version|Opera/.+Opera Mobi.+Version|Mobile.+OPR)/(\d+[\.\d]+)'
|
307
751
|
name: 'Opera Mobile'
|
@@ -310,6 +754,21 @@
|
|
310
754
|
default: 'Presto'
|
311
755
|
versions:
|
312
756
|
15: 'Blink'
|
757
|
+
- regex: 'MMS/(\d+[\.\d]+)'
|
758
|
+
name: 'Opera Neon'
|
759
|
+
version: '$1'
|
760
|
+
engine:
|
761
|
+
default: 'Blink'
|
762
|
+
- regex: 'OMI/(\d+[\.\d]+)'
|
763
|
+
name: 'Opera Devices'
|
764
|
+
version: '$1'
|
765
|
+
engine:
|
766
|
+
default: 'Blink'
|
767
|
+
- regex: 'OPT/(\d+[\.\d]+)'
|
768
|
+
name: 'Opera Touch'
|
769
|
+
version: '$1'
|
770
|
+
engine:
|
771
|
+
default: 'Blink'
|
313
772
|
- regex: 'Opera/(\d+[\.\d]+).+Opera Mobi'
|
314
773
|
name: 'Opera Mobile'
|
315
774
|
version: '$1'
|
@@ -327,6 +786,11 @@
|
|
327
786
|
version: '$1'
|
328
787
|
engine:
|
329
788
|
default: 'Presto'
|
789
|
+
- regex: 'OPiOS/(\d+[\.\d]+)'
|
790
|
+
name: 'Opera Mini iOS'
|
791
|
+
version: '$1'
|
792
|
+
engine:
|
793
|
+
default: 'WebKit'
|
330
794
|
- regex: 'Opera.+Edition Next.+Version/(\d+[\.\d]+)'
|
331
795
|
name: 'Opera Next'
|
332
796
|
version: '$1'
|
@@ -366,7 +830,7 @@
|
|
366
830
|
default: '' # multi engine
|
367
831
|
|
368
832
|
#Comodo Dragon
|
369
|
-
- regex: 'Comodo[ _]Dragon(?:/(\d+[\.\d]+))?'
|
833
|
+
- regex: '(?:Comodo[ _])?Dragon(?!fruit)(?:/(\d+[\.\d]+))?'
|
370
834
|
name: 'Comodo Dragon'
|
371
835
|
version: '$1'
|
372
836
|
engine:
|
@@ -398,7 +862,10 @@
|
|
398
862
|
4: '' # multiple (KHTML or WebKit)
|
399
863
|
|
400
864
|
#Baidu Browser
|
401
|
-
- regex: 'baidubrowser(?:[/ ](\d+[\.\d]*))?'
|
865
|
+
- regex: '(?:baidubrowser|bdbrowser_i18n|bdbrowser)(?:[/ ](\d+[\.\d]*))?'
|
866
|
+
name: 'Baidu Browser'
|
867
|
+
version: '$1'
|
868
|
+
- regex: 'FlyFlow(?:[/ ](\d+[\.\d]*))?'
|
402
869
|
name: 'Baidu Browser'
|
403
870
|
version: '$1'
|
404
871
|
|
@@ -407,9 +874,23 @@
|
|
407
874
|
name: 'Baidu Spark'
|
408
875
|
version: '$1'
|
409
876
|
|
877
|
+
# Yandex Browser Lite
|
878
|
+
- regex: 'YaBrowser(?:/(\d+[\.\d]*)) \(lite\)?'
|
879
|
+
name: 'Yandex Browser Lite'
|
880
|
+
version: '$1'
|
881
|
+
engine:
|
882
|
+
default: 'Blink'
|
883
|
+
|
410
884
|
#Yandex Browser
|
411
|
-
- regex: 'YaBrowser(?:/(\d+[\.\d]*))?'
|
885
|
+
- regex: 'YaBrowser(?:/(\d+[\.\d]*))(?: \((alpha|beta)\))?'
|
412
886
|
name: 'Yandex Browser'
|
887
|
+
version: '$1 $2'
|
888
|
+
engine:
|
889
|
+
default: 'Blink'
|
890
|
+
|
891
|
+
# Yaani Browser
|
892
|
+
- regex: 'YaaniBrowser(?:/(\d+[\.\d]+))?'
|
893
|
+
name: 'Yaani Browser'
|
413
894
|
version: '$1'
|
414
895
|
engine:
|
415
896
|
default: 'Blink'
|
@@ -449,7 +930,7 @@
|
|
449
930
|
versions:
|
450
931
|
3: 'WebKit'
|
451
932
|
|
452
|
-
- regex: '(?:Maxthon|MyIE2
|
933
|
+
- regex: '(?:Maxthon|MyIE2)'
|
453
934
|
name: 'Maxthon'
|
454
935
|
version: ''
|
455
936
|
engine:
|
@@ -460,7 +941,20 @@
|
|
460
941
|
name: 'Puffin'
|
461
942
|
version: '$1'
|
462
943
|
|
463
|
-
#
|
944
|
+
#MobileIron
|
945
|
+
- regex: 'MobileIron(?:/(\d+[\.\d]+))?'
|
946
|
+
name: 'Iron Mobile'
|
947
|
+
version: '$1'
|
948
|
+
engine:
|
949
|
+
default: 'Blink'
|
950
|
+
|
951
|
+
# Iron
|
952
|
+
- regex: 'Chrome(?:/(\d+[\.\d]+))?.*Iron'
|
953
|
+
name: 'Iron'
|
954
|
+
version: '$1'
|
955
|
+
engine:
|
956
|
+
default: 'WebKit'
|
957
|
+
|
464
958
|
- regex: 'Iron(?:/(\d+[\.\d]+))?'
|
465
959
|
name: 'Iron'
|
466
960
|
version: '$1'
|
@@ -479,9 +973,14 @@
|
|
479
973
|
'2.9.16': '' # multi engine
|
480
974
|
'2.28': 'WebKit'
|
481
975
|
|
482
|
-
#
|
976
|
+
# LieBaoFast
|
977
|
+
- regex: 'LieBaoFast(?:[ /](\d+[\.\d]+))?'
|
978
|
+
name: 'LieBaoFast'
|
979
|
+
version: '$1'
|
980
|
+
|
981
|
+
# Cheetah Browser
|
483
982
|
- regex: 'LBBrowser(?:[ /](\d+[\.\d]+))?'
|
484
|
-
name: '
|
983
|
+
name: 'Cheetah Browser'
|
485
984
|
version: '$1'
|
486
985
|
|
487
986
|
# Sogou Explorer
|
@@ -489,15 +988,26 @@
|
|
489
988
|
name: 'Sogou Explorer'
|
490
989
|
version: '$1'
|
491
990
|
|
991
|
+
# QQ Browser Mini
|
992
|
+
- regex: 'M?QQBrowser/Mini([\.\d]+)?'
|
993
|
+
name: 'QQ Browser Mini'
|
994
|
+
version: '$1'
|
995
|
+
engine:
|
996
|
+
default: '' # multi engine -- WebKit or Blink
|
997
|
+
|
492
998
|
# QQ Browser
|
493
|
-
- regex: 'M?QQBrowser(?:/(
|
999
|
+
- regex: 'M?QQBrowser(?:/([\.\d]+))?'
|
494
1000
|
name: 'QQ Browser'
|
495
1001
|
version: '$1'
|
1002
|
+
engine:
|
1003
|
+
default: '' # multi engine -- WebKit or Blink
|
496
1004
|
|
497
1005
|
# MIUI Browser
|
498
|
-
- regex: 'MIUIBrowser(?:/(\d+[\.\d]+))?'
|
1006
|
+
- regex: '(?:MIUIBrowser|MiuiBrowser)(?:/(\d+[\.\d]+))?'
|
499
1007
|
name: 'MIUI Browser'
|
500
1008
|
version: '$1'
|
1009
|
+
engine:
|
1010
|
+
default: '' # multi engine -- WebKit or Blink
|
501
1011
|
|
502
1012
|
# Coc Coc
|
503
1013
|
# This browser (http://coccoc.vn/) is built on top of Chromium with
|
@@ -512,23 +1022,40 @@
|
|
512
1022
|
versions:
|
513
1023
|
28: 'Blink'
|
514
1024
|
|
1025
|
+
- regex: 'DuckDuckGo/(\d+[\.\d]*)'
|
1026
|
+
name: 'DuckDuckGo Privacy Browser'
|
1027
|
+
version: '$1'
|
1028
|
+
engine:
|
1029
|
+
default: 'Blink'
|
1030
|
+
|
515
1031
|
#Samsung Browser
|
516
1032
|
- regex: 'Samsung ?Browser(?:[/ ](\d+[\.\d]+))?'
|
517
1033
|
name: 'Samsung Browser'
|
518
1034
|
version: '$1'
|
519
1035
|
|
520
|
-
#
|
521
|
-
|
522
|
-
|
1036
|
+
# Super Fast Browser (https://play.google.com/store/apps/details?id=com.browser.tssomas)
|
1037
|
+
- regex: '(?:SFBrowser|com.browser.tssomas)(?:/(\d+[\.\d]+))?'
|
1038
|
+
name: 'Super Fast Browser'
|
1039
|
+
version: '$1'
|
1040
|
+
|
1041
|
+
# EUI Browser
|
1042
|
+
- regex: 'EUI Browser(?:/(\d+[\.\d]+))?'
|
1043
|
+
name: 'EUI Browser'
|
1044
|
+
version: '$1'
|
1045
|
+
|
1046
|
+
# UBrowser (https://callumprentice.github.io/)
|
1047
|
+
- regex: 'UBrowser(?:/(\d+[\.\d]+))?'
|
1048
|
+
name: 'UBrowser'
|
1049
|
+
version: '$1'
|
1050
|
+
|
1051
|
+
#Streamy (Chromium based)
|
523
1052
|
- regex: 'Streamy(?:/(\d+[\.\d]+))?'
|
524
1053
|
name: 'Streamy'
|
525
1054
|
version: '$1'
|
526
1055
|
engine:
|
527
1056
|
default: 'WebKit'
|
528
1057
|
|
529
|
-
#Isivioo
|
530
|
-
#Andorid version of the browser is built on top of Chrome Mobile.
|
531
|
-
#It should be checked first.
|
1058
|
+
#Isivioo (Android version is Chrome based)
|
532
1059
|
- regex: 'isivioo'
|
533
1060
|
name: 'Isivioo'
|
534
1061
|
version: ''
|
@@ -542,6 +1069,175 @@
|
|
542
1069
|
- regex: 'UCWEB(?:[ /]?(\d+[\.\d]+))?'
|
543
1070
|
name: 'UC Browser'
|
544
1071
|
version: '$1'
|
1072
|
+
- regex: 'UC AppleWebKit'
|
1073
|
+
name: 'UC Browser'
|
1074
|
+
version: ''
|
1075
|
+
|
1076
|
+
#Tenta Browser
|
1077
|
+
#It should be checked before Chrome since the UA contains the Chrome
|
1078
|
+
- regex: 'Tenta/(\d+[\.\d]+)'
|
1079
|
+
name: 'Tenta Browser'
|
1080
|
+
version: '$1'
|
1081
|
+
engine:
|
1082
|
+
default: 'Webkit'
|
1083
|
+
|
1084
|
+
# Firefox Rocket
|
1085
|
+
- regex: 'Rocket/(\d+[\.\d]+)'
|
1086
|
+
name: 'Firefox Rocket'
|
1087
|
+
version: '$1'
|
1088
|
+
engine:
|
1089
|
+
default: 'Webkit'
|
1090
|
+
|
1091
|
+
# Web Explorer
|
1092
|
+
- regex: 'Web Explorer/(\d+[\.\d]+).*Chrome'
|
1093
|
+
name: 'Web Explorer'
|
1094
|
+
version: '$1'
|
1095
|
+
engine:
|
1096
|
+
default: 'Webkit'
|
1097
|
+
|
1098
|
+
# Seznam Browser
|
1099
|
+
- regex: 'SznProhlizec/(\d+[\.\d]+)'
|
1100
|
+
name: 'Seznam Browser'
|
1101
|
+
version: '$1'
|
1102
|
+
engine:
|
1103
|
+
default: 'Blink'
|
1104
|
+
|
1105
|
+
# SogouMobileBrowser
|
1106
|
+
- regex: 'SogouMobileBrowser/(\d+[\.\d]+)'
|
1107
|
+
name: 'Sogou Mobile Browser'
|
1108
|
+
version: '$1'
|
1109
|
+
engine:
|
1110
|
+
default: '' # multi engine -- WebKit or Blink
|
1111
|
+
|
1112
|
+
# Mint Browser
|
1113
|
+
- regex: 'Mint Browser/(\d+[\.\d]+)'
|
1114
|
+
name: 'Mint Browser'
|
1115
|
+
version: '$1'
|
1116
|
+
engine:
|
1117
|
+
default: '' # multi engine -- WebKit or Blink
|
1118
|
+
|
1119
|
+
# Ecosia
|
1120
|
+
- regex: 'Ecosia (?:android|ios)@(\d+[\.\d]+)'
|
1121
|
+
name: 'Ecosia'
|
1122
|
+
version: '$1'
|
1123
|
+
engine:
|
1124
|
+
default: '' # multi engine -- WebKit or Blink
|
1125
|
+
|
1126
|
+
# CM Browser
|
1127
|
+
- regex: 'ACHEETAHI'
|
1128
|
+
name: 'CM Browser'
|
1129
|
+
version: ''
|
1130
|
+
engine:
|
1131
|
+
default: '' # multi engine -- WebKit or Blink
|
1132
|
+
|
1133
|
+
# Kiwi Browser
|
1134
|
+
- regex: 'Kiwi Chrome'
|
1135
|
+
name: 'Kiwi'
|
1136
|
+
version: ''
|
1137
|
+
engine:
|
1138
|
+
default: '' # multi engine -- WebKit or Blink
|
1139
|
+
|
1140
|
+
# 2345 Browser
|
1141
|
+
- regex: 'Mb2345Browser/(\d+[\.\d]+)'
|
1142
|
+
name: '2345 Browser'
|
1143
|
+
version: '$1'
|
1144
|
+
engine:
|
1145
|
+
default: '' # multi engine -- WebKit or Blink
|
1146
|
+
|
1147
|
+
# QtWebEngine
|
1148
|
+
- regex: 'QtWebEngine/(\d+[\.\d]+)'
|
1149
|
+
name: 'QtWebEngine'
|
1150
|
+
version: '$1'
|
1151
|
+
engine:
|
1152
|
+
default: '' # multi engine -- WebKit or Blink
|
1153
|
+
|
1154
|
+
#Mobile Silk
|
1155
|
+
- regex: 'Silk/(\d+[\.\d]+) like Chrome'
|
1156
|
+
name: 'Mobile Silk'
|
1157
|
+
version: '$1'
|
1158
|
+
engine:
|
1159
|
+
default: 'Blink'
|
1160
|
+
- regex: 'Silk(?:/(\d+[\.\d]+))?'
|
1161
|
+
name: 'Mobile Silk'
|
1162
|
+
version: '$1'
|
1163
|
+
engine:
|
1164
|
+
default: 'WebKit'
|
1165
|
+
|
1166
|
+
#IBrowse
|
1167
|
+
- regex: 'IBrowse(?:[ /](\d+[\.\d]+))?'
|
1168
|
+
name: 'IBrowse'
|
1169
|
+
version: '$1'
|
1170
|
+
|
1171
|
+
#Openwave Mobile Browser
|
1172
|
+
- regex: 'UP.Browser(?:/(\d+[\.\d]+))?'
|
1173
|
+
name: 'Openwave Mobile Browser'
|
1174
|
+
version: '$1'
|
1175
|
+
- regex: 'Openwave(?:/(\d+[\.\d]+))?'
|
1176
|
+
name: 'Openwave Mobile Browser'
|
1177
|
+
version: '$1'
|
1178
|
+
|
1179
|
+
#ONE Browser
|
1180
|
+
- regex: 'OneBrowser(?:[ /](\d+[\.\d]+))?'
|
1181
|
+
name: 'ONE Browser'
|
1182
|
+
version: '$1'
|
1183
|
+
engine:
|
1184
|
+
default: 'WebKit'
|
1185
|
+
|
1186
|
+
#Nokia Browser
|
1187
|
+
- regex: '(?:NokiaBrowser|BrowserNG)(?:/(\d+[\.\d]+))?'
|
1188
|
+
name: 'Nokia Browser'
|
1189
|
+
version: '$1'
|
1190
|
+
- regex: 'Series60/5\.0'
|
1191
|
+
name: 'Nokia Browser'
|
1192
|
+
version: '7.0'
|
1193
|
+
- regex: 'Series60/(\d+[\.\d]+)'
|
1194
|
+
name: 'Nokia OSS Browser'
|
1195
|
+
version: '$1'
|
1196
|
+
- regex: 'S40OviBrowser/(\d+[\.\d]+)'
|
1197
|
+
name: 'Nokia Ovi Browser'
|
1198
|
+
version: '$1'
|
1199
|
+
- regex: '^Nokia|Nokia[EN]?\d+'
|
1200
|
+
name: 'Nokia Browser'
|
1201
|
+
version: ''
|
1202
|
+
|
1203
|
+
#Sleipnir
|
1204
|
+
- regex: 'Sleipnir(?:[ /](\d+[\.\d]+))?'
|
1205
|
+
name: 'Sleipnir'
|
1206
|
+
version: '$1'
|
1207
|
+
engine:
|
1208
|
+
default: '' # multi engine
|
1209
|
+
|
1210
|
+
# NTENT Browser
|
1211
|
+
- regex: 'NTENTBrowser(?:/(\d+[\.\d]+))?'
|
1212
|
+
name: 'NTENT Browser'
|
1213
|
+
version: '$1'
|
1214
|
+
|
1215
|
+
# TV Bro
|
1216
|
+
- regex: 'TV Bro/(\d+[\.\d]+)'
|
1217
|
+
name: 'TV Bro'
|
1218
|
+
version: '$1'
|
1219
|
+
|
1220
|
+
# Quark
|
1221
|
+
- regex: 'Chrome/.+ Quark(?:/(\d+[\.\d]+))?'
|
1222
|
+
name: 'Quark'
|
1223
|
+
version: '$1'
|
1224
|
+
engine:
|
1225
|
+
default: 'WebKit'
|
1226
|
+
|
1227
|
+
- regex: 'BlueBrowser(?:/(\d+[\.\d]+))?'
|
1228
|
+
name: 'Blue Browser'
|
1229
|
+
version: '$1'
|
1230
|
+
engine:
|
1231
|
+
default: 'WebKit'
|
1232
|
+
|
1233
|
+
# Chrome Webview
|
1234
|
+
- regex: 'Version/.* Chrome(?:/(\d+[\.\d]+))?'
|
1235
|
+
name: 'Chrome Webview'
|
1236
|
+
version: '$1'
|
1237
|
+
engine:
|
1238
|
+
default: 'WebKit'
|
1239
|
+
versions:
|
1240
|
+
28: 'Blink'
|
545
1241
|
|
546
1242
|
#Chrome
|
547
1243
|
- regex: 'CrMo(?:/(\d+[\.\d]+))?'
|
@@ -575,7 +1271,12 @@
|
|
575
1271
|
default: 'WebKit'
|
576
1272
|
versions:
|
577
1273
|
28: 'Blink'
|
578
|
-
- regex: '
|
1274
|
+
- regex: 'HeadlessChrome(?:/(\d+[\.\d]+))?'
|
1275
|
+
name: 'Headless Chrome'
|
1276
|
+
version: '$1'
|
1277
|
+
engine:
|
1278
|
+
default: 'Blink'
|
1279
|
+
- regex: 'Chrome(?!book)(?:/(\d+[\.\d]+))?'
|
579
1280
|
name: 'Chrome'
|
580
1281
|
version: '$1'
|
581
1282
|
engine:
|
@@ -717,6 +1418,11 @@
|
|
717
1418
|
name: 'Element Browser'
|
718
1419
|
version: '$1'
|
719
1420
|
|
1421
|
+
# eZ Browser (https://play.google.com/store/apps/details?id=com.asc.csbrowser)
|
1422
|
+
- regex: 'eZBrowser(?:/(\d+[\.\d]+))?'
|
1423
|
+
name: 'eZ Browser'
|
1424
|
+
version: '$1'
|
1425
|
+
|
720
1426
|
#Firebird
|
721
1427
|
- regex: 'Firebird(?! Build)(?:/(\d+[\.\d]+))?'
|
722
1428
|
name: 'Firebird'
|
@@ -750,11 +1456,6 @@
|
|
750
1456
|
name: 'HotJava'
|
751
1457
|
version: '$1'
|
752
1458
|
|
753
|
-
#IBrowse
|
754
|
-
- regex: 'IBrowse(?:[ /](\d+[\.\d]+))?'
|
755
|
-
name: 'IBrowse'
|
756
|
-
version: '$1'
|
757
|
-
|
758
1459
|
#iCabMobile
|
759
1460
|
- regex: 'iCabMobile(?:[ /](\d+[\.\d]+))?'
|
760
1461
|
name: 'iCab Mobile'
|
@@ -771,15 +1472,8 @@
|
|
771
1472
|
versions:
|
772
1473
|
4: 'WebKit'
|
773
1474
|
|
774
|
-
#Sleipnir
|
775
|
-
- regex: 'Sleipnir(?:[ /](\d+[\.\d]+))?'
|
776
|
-
name: 'Sleipnir'
|
777
|
-
version: '$1'
|
778
|
-
engine:
|
779
|
-
default: '' # multi engine
|
780
|
-
|
781
1475
|
#Lunascape
|
782
|
-
- regex: 'Lunascape(?:[/ ](\d+[\.\d]+))?'
|
1476
|
+
- regex: 'i?Lunascape(?:[/ ](\d+[\.\d]+))?'
|
783
1477
|
name: 'Lunascape'
|
784
1478
|
version: '$1'
|
785
1479
|
engine:
|
@@ -811,7 +1505,7 @@
|
|
811
1505
|
version: 10.0
|
812
1506
|
engine:
|
813
1507
|
default: 'Trident'
|
814
|
-
- regex: 'Trident/
|
1508
|
+
- regex: 'Trident/[78].0'
|
815
1509
|
name: 'Internet Explorer'
|
816
1510
|
version: 11.0
|
817
1511
|
engine:
|
@@ -821,19 +1515,12 @@
|
|
821
1515
|
version: '$1'
|
822
1516
|
engine:
|
823
1517
|
default: 'Trident'
|
824
|
-
- regex: 'IE[ /](\d+[\.\d]
|
1518
|
+
- regex: 'IE[ /](\d+[\.\d]+)'
|
825
1519
|
name: 'Internet Explorer'
|
826
1520
|
version: '$1'
|
827
1521
|
engine:
|
828
1522
|
default: 'Trident'
|
829
1523
|
|
830
|
-
#Kazehakase
|
831
|
-
- regex: 'Kazehakase(?:/(\d+[\.\d]+))?'
|
832
|
-
name: 'Kazehakase'
|
833
|
-
version: '$1'
|
834
|
-
engine:
|
835
|
-
default: '' # multi engine
|
836
|
-
|
837
1524
|
#Kindle Browser
|
838
1525
|
- regex: 'Kindle/(\d+[\.\d]+)'
|
839
1526
|
name: 'Kindle Browser'
|
@@ -863,14 +1550,6 @@
|
|
863
1550
|
name: 'LuaKit'
|
864
1551
|
version: '$1'
|
865
1552
|
|
866
|
-
#Openwave Mobile Browser
|
867
|
-
- regex: 'UP.Browser(?:/(\d+[\.\d]+))?'
|
868
|
-
name: 'Openwave Mobile Browser'
|
869
|
-
version: '$1'
|
870
|
-
- regex: 'Openwave(?:/(\d+[\.\d]+))?'
|
871
|
-
name: 'Openwave Mobile Browser'
|
872
|
-
version: '$1'
|
873
|
-
|
874
1553
|
#OmniWeb
|
875
1554
|
- regex: 'OmniWeb(?:/[v]?(\d+[\.\d]+))?'
|
876
1555
|
name: 'OmniWeb'
|
@@ -883,13 +1562,6 @@
|
|
883
1562
|
name: 'Phoenix'
|
884
1563
|
version: '$1'
|
885
1564
|
|
886
|
-
#Mobile Silk
|
887
|
-
- regex: 'Silk(?:/(\d+[\.\d]+))?'
|
888
|
-
name: 'Mobile Silk'
|
889
|
-
version: '$1'
|
890
|
-
engine:
|
891
|
-
default: 'Blink'
|
892
|
-
|
893
1565
|
#NetFront
|
894
1566
|
- regex: 'NetFrontLifeBrowser(?:/(\d+[\.\d]+))?'
|
895
1567
|
name: 'NetFront Life'
|
@@ -901,7 +1573,7 @@
|
|
901
1573
|
version: '$1'
|
902
1574
|
engine:
|
903
1575
|
default: 'NetFront'
|
904
|
-
- regex: 'PLAYSTATION|NINTENDO 3|AppleWebKit.+
|
1576
|
+
- regex: 'PLAYSTATION|NINTENDO 3|AppleWebKit.+ N[XF]/\d+\.\d+\.\d+'
|
905
1577
|
name: 'NetFront'
|
906
1578
|
version: ''
|
907
1579
|
|
@@ -910,14 +1582,6 @@
|
|
910
1582
|
name: 'NetPositive'
|
911
1583
|
version: '$1'
|
912
1584
|
|
913
|
-
#Obigo
|
914
|
-
- regex: 'Obigo[ ]?(?:InternetBrowser|Browser)?(?:[ /]([a-z0-9]*))?'
|
915
|
-
name: 'Obigo'
|
916
|
-
version: '$1'
|
917
|
-
- regex: 'Obigo|Teleca'
|
918
|
-
name: 'Obigo'
|
919
|
-
version: ''
|
920
|
-
|
921
1585
|
#Odyssey Web Browser
|
922
1586
|
- regex: 'Odyssey Web Browser(?:.*OWB/(\d+[\.\d]+))?'
|
923
1587
|
name: 'Odyssey Web Browser'
|
@@ -928,13 +1592,6 @@
|
|
928
1592
|
name: 'Off By One'
|
929
1593
|
version: ''
|
930
1594
|
|
931
|
-
#ONE Browser
|
932
|
-
- regex: 'OneBrowser(?:[ /](\d+[\.\d]+))?'
|
933
|
-
name: 'ONE Browser'
|
934
|
-
version: '$1'
|
935
|
-
engine:
|
936
|
-
default: 'WebKit'
|
937
|
-
|
938
1595
|
#Oregano
|
939
1596
|
- regex: 'Oregano(?:[ /](\d+[\.\d]+))?'
|
940
1597
|
name: 'Oregano'
|
@@ -1006,23 +1663,6 @@
|
|
1006
1663
|
name: 'Xiino'
|
1007
1664
|
version: '$1'
|
1008
1665
|
|
1009
|
-
#Nokia Browser
|
1010
|
-
- regex: '(?:NokiaBrowser|BrowserNG)(?:/(\d+[\.\d]+))?'
|
1011
|
-
name: 'Nokia Browser'
|
1012
|
-
version: '$1'
|
1013
|
-
- regex: 'Series60/5\.0'
|
1014
|
-
name: 'Nokia Browser'
|
1015
|
-
version: '7.0'
|
1016
|
-
- regex: 'Series60/(\d+[\.\d]+)'
|
1017
|
-
name: 'Nokia OSS Browser'
|
1018
|
-
version: '$1'
|
1019
|
-
- regex: 'S40OviBrowser/(\d+[\.\d]+)'
|
1020
|
-
name: 'Nokia Ovi Browser'
|
1021
|
-
version: '$1'
|
1022
|
-
- regex: '^Nokia|Nokia[EN]?\d+'
|
1023
|
-
name: 'Nokia Browser'
|
1024
|
-
version: ''
|
1025
|
-
|
1026
1666
|
#BlackBerry Browser
|
1027
1667
|
- regex: 'BlackBerry|PlayBook|BB10'
|
1028
1668
|
name: 'BlackBerry Browser'
|
@@ -1050,6 +1690,13 @@
|
|
1050
1690
|
name: 'Qutebrowser'
|
1051
1691
|
version: '$1'
|
1052
1692
|
|
1693
|
+
# surf (https://surf.suckless.org/)
|
1694
|
+
- regex: 'Surf(?:/(\d+[\.\d]+))?'
|
1695
|
+
name: 'surf'
|
1696
|
+
version: '$1'
|
1697
|
+
engine:
|
1698
|
+
default: 'WebKit'
|
1699
|
+
|
1053
1700
|
#Safari
|
1054
1701
|
- regex: '(?:(?:iPod|iPad|iPhone).+Version|MobileSafari)/(\d+[\.\d]+)'
|
1055
1702
|
name: 'Mobile Safari'
|
@@ -1083,3 +1730,26 @@
|
|
1083
1730
|
version: '$1'
|
1084
1731
|
engine:
|
1085
1732
|
default: 'NetSurf'
|
1733
|
+
|
1734
|
+
# Uzbl (https://www.uzbl.org/)
|
1735
|
+
- regex: 'Uzbl'
|
1736
|
+
name: 'Uzbl'
|
1737
|
+
version: ''
|
1738
|
+
|
1739
|
+
# SimpleBrowser (https://github.com/SimpleBrowserDotNet/SimpleBrowser)
|
1740
|
+
- regex: 'SimpleBrowser'
|
1741
|
+
name: 'SimpleBrowser'
|
1742
|
+
version: ''
|
1743
|
+
|
1744
|
+
# Zvu
|
1745
|
+
- regex: 'Zvu(?:/(\d+[\.\d]+))?'
|
1746
|
+
name: 'Zvu'
|
1747
|
+
version: '$1'
|
1748
|
+
engine:
|
1749
|
+
default: 'Gecko'
|
1750
|
+
|
1751
|
+
# GOG Galaxy
|
1752
|
+
- regex: 'GOGGalaxyClient/(?:(\d+[\.\d]+))?'
|
1753
|
+
name: 'GOG Galaxy'
|
1754
|
+
version: '$1'
|
1755
|
+
|