device_detector 1.0.1 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
+
|