device_detector 1.0.0 → 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 -9
- data/CHANGELOG.md +18 -5
- data/README.md +7 -9
- data/Rakefile +20 -13
- data/device_detector.gemspec +1 -0
- data/lib/device_detector.rb +32 -28
- 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 +895 -21
- data/regexes/client/browser_engine.yml +11 -2
- data/regexes/client/browsers.yml +1025 -205
- data/regexes/client/feed_readers.yml +38 -2
- data/regexes/client/libraries.yml +81 -2
- data/regexes/client/mediaplayers.yml +25 -5
- data/regexes/client/mobile_apps.yml +213 -2
- data/regexes/client/pim.yml +10 -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 +12768 -571
- data/regexes/device/notebooks.yml +114 -0
- data/regexes/device/portable_media_player.yml +4 -6
- data/regexes/device/televisions.yml +33 -5
- data/regexes/oss.yml +138 -49
- 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 +59 -24
- 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 +60 -69
- data/spec/fixtures/client/browser.yml +1810 -260
- data/spec/fixtures/client/feed_reader.yml +47 -35
- data/spec/fixtures/client/library.yml +118 -3
- data/spec/fixtures/client/mediaplayer.yml +32 -37
- data/spec/fixtures/client/mobile_app.yml +225 -5
- data/spec/fixtures/client/pim.yml +37 -18
- data/spec/fixtures/detector/bots.yml +1531 -136
- data/spec/fixtures/detector/camera.yml +36 -10
- data/spec/fixtures/detector/car_browser.yml +64 -3
- data/spec/fixtures/detector/console.yml +80 -26
- data/spec/fixtures/detector/desktop.yml +3865 -2238
- data/spec/fixtures/detector/feature_phone.yml +151 -42
- data/spec/fixtures/detector/feed_reader.yml +186 -121
- data/spec/fixtures/detector/mediaplayer.yml +113 -39
- data/spec/fixtures/detector/mobile_apps.yml +451 -21
- data/spec/fixtures/detector/phablet.yml +3847 -660
- data/spec/fixtures/detector/portable_media_player.yml +81 -16
- data/spec/fixtures/detector/smart_display.yml +8 -5
- data/spec/fixtures/detector/smart_speaker.yml +55 -0
- data/spec/fixtures/detector/smartphone-1.yml +5385 -4948
- 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 +5221 -4646
- data/spec/fixtures/detector/smartphone-3.yml +5047 -4494
- data/spec/fixtures/detector/smartphone-4.yml +6958 -2761
- data/spec/fixtures/detector/smartphone-5.yml +9937 -0
- 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 +5229 -4649
- data/spec/fixtures/detector/tablet-1.yml +4640 -4140
- data/spec/fixtures/detector/tablet-2.yml +9806 -71
- data/spec/fixtures/detector/tablet-3.yml +9968 -0
- data/spec/fixtures/detector/tablet-4.yml +7113 -0
- data/spec/fixtures/detector/tablet.yml +4619 -4132
- data/spec/fixtures/detector/tv.yml +4093 -1342
- data/spec/fixtures/detector/unknown.yml +1042 -1006
- 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 +291 -2
- data/spec/fixtures/parser/vendorfragments.yml +8 -2
- metadata +59 -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
|
|
|
@@ -27,4 +27,13 @@
|
|
|
27
27
|
name: 'Gecko'
|
|
28
28
|
|
|
29
29
|
- regex: 'KHTML'
|
|
30
|
-
name: 'KHTML'
|
|
30
|
+
name: 'KHTML'
|
|
31
|
+
|
|
32
|
+
- regex: 'NetSurf'
|
|
33
|
+
name: 'NetSurf'
|
|
34
|
+
|
|
35
|
+
- regex: 'Servo'
|
|
36
|
+
name: 'Servo'
|
|
37
|
+
|
|
38
|
+
- regex: 'Goanna'
|
|
39
|
+
name: 'Goanna'
|
data/regexes/client/browsers.yml
CHANGED
|
@@ -1,17 +1,357 @@
|
|
|
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'
|
|
12
331
|
engine:
|
|
13
332
|
default: 'Edge'
|
|
14
333
|
|
|
334
|
+
# Microsoft Edge for iOS
|
|
335
|
+
- regex: 'EdgiOS[ /](\d+[\.\d]+)'
|
|
336
|
+
name: 'Microsoft Edge'
|
|
337
|
+
version: '$1'
|
|
338
|
+
engine:
|
|
339
|
+
default: 'WebKit'
|
|
340
|
+
|
|
341
|
+
# Microsoft Edge for Android
|
|
342
|
+
- regex: 'EdgA[ /](\d+[\.\d]+)'
|
|
343
|
+
name: 'Microsoft Edge'
|
|
344
|
+
version: '$1'
|
|
345
|
+
engine:
|
|
346
|
+
default: 'Blink'
|
|
347
|
+
|
|
348
|
+
# Microsoft Edge (Anaheim Edge)
|
|
349
|
+
- regex: 'Edg[ /](\d+[\.\d]+)'
|
|
350
|
+
name: 'Microsoft Edge'
|
|
351
|
+
version: '$1'
|
|
352
|
+
engine:
|
|
353
|
+
default: 'Blink'
|
|
354
|
+
|
|
15
355
|
# 360 Browser
|
|
16
356
|
- regex: 'QIHU 360[ES]E'
|
|
17
357
|
name: '360 Browser'
|
|
@@ -31,10 +371,17 @@
|
|
|
31
371
|
engine:
|
|
32
372
|
default: 'Gecko'
|
|
33
373
|
|
|
34
|
-
#
|
|
35
|
-
- regex: '(
|
|
36
|
-
name: '
|
|
37
|
-
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: ''
|
|
38
385
|
engine:
|
|
39
386
|
default: 'Gecko'
|
|
40
387
|
|
|
@@ -45,6 +392,30 @@
|
|
|
45
392
|
engine:
|
|
46
393
|
default: 'Gecko'
|
|
47
394
|
|
|
395
|
+
# Waterfox
|
|
396
|
+
- regex: 'Waterfox(?:/(\d+[\.\d]+))?'
|
|
397
|
+
name: 'Waterfox'
|
|
398
|
+
version: '$1'
|
|
399
|
+
engine:
|
|
400
|
+
default: 'Gecko'
|
|
401
|
+
|
|
402
|
+
#AlohaBrowser
|
|
403
|
+
- regex: 'AlohaBrowser(?:/(\d+[\.\d]+))?'
|
|
404
|
+
name: 'Aloha Browser'
|
|
405
|
+
version: '$1'
|
|
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
|
+
|
|
412
|
+
#Epic
|
|
413
|
+
- regex: 'Epic(?:/(\d+[\.\d]+))'
|
|
414
|
+
name: 'Epic'
|
|
415
|
+
version: '$1'
|
|
416
|
+
engine:
|
|
417
|
+
default: 'Gecko'
|
|
418
|
+
|
|
48
419
|
#Fennec (Firefox for mobile)
|
|
49
420
|
- regex: 'Fennec(?:/(\d+[\.\d]+))?'
|
|
50
421
|
name: 'Fennec'
|
|
@@ -77,6 +448,11 @@
|
|
|
77
448
|
engine:
|
|
78
449
|
default: '' # multiple
|
|
79
450
|
|
|
451
|
+
#Oppo Browser
|
|
452
|
+
- regex: 'OppoBrowser(?:/(\d+[\.\d]+))?'
|
|
453
|
+
name: 'Oppo Browser'
|
|
454
|
+
version: '$1'
|
|
455
|
+
|
|
80
456
|
#Amigo
|
|
81
457
|
- regex: 'Chrome/(\d+[\.\d]+).*MRCHROME'
|
|
82
458
|
name: 'Amigo'
|
|
@@ -103,6 +479,11 @@
|
|
|
103
479
|
engine:
|
|
104
480
|
default: 'Blink'
|
|
105
481
|
|
|
482
|
+
#Iridium
|
|
483
|
+
- regex: 'Iridium(?:/(\d+[\.\d]+))?'
|
|
484
|
+
name: 'Iridium'
|
|
485
|
+
version: '$1'
|
|
486
|
+
|
|
106
487
|
#Iceweasel
|
|
107
488
|
- regex: 'Iceweasel(?:/(\d+[\.\d]+))?'
|
|
108
489
|
name: 'Iceweasel'
|
|
@@ -119,6 +500,11 @@
|
|
|
119
500
|
|
|
120
501
|
|
|
121
502
|
#Pale Moon
|
|
503
|
+
- regex: '.*Goanna.*PaleMoon(?:/(\d+[\.\d]+))?'
|
|
504
|
+
name: 'Pale Moon'
|
|
505
|
+
version: '$1'
|
|
506
|
+
engine:
|
|
507
|
+
default: 'Goanna'
|
|
122
508
|
- regex: 'PaleMoon(?:/(\d+[\.\d]+))?'
|
|
123
509
|
name: 'Pale Moon'
|
|
124
510
|
version: '$1'
|
|
@@ -148,6 +534,11 @@
|
|
|
148
534
|
versions:
|
|
149
535
|
3: 'WebKit'
|
|
150
536
|
|
|
537
|
+
# Jig Browser Plus (https://jig.jp/)
|
|
538
|
+
- regex: 'JigBrowserPlus/(?:(\d+[\.\d]+))?'
|
|
539
|
+
name: 'Jig Browser Plus'
|
|
540
|
+
version: '$1'
|
|
541
|
+
|
|
151
542
|
#Jig Browser
|
|
152
543
|
- regex: 'jig browser(?: web;|9i?)?(?:[/ ](\d+[\.\d]+))?'
|
|
153
544
|
name: 'Jig Browser'
|
|
@@ -167,6 +558,61 @@
|
|
|
167
558
|
engine:
|
|
168
559
|
default: 'Gecko'
|
|
169
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
|
+
|
|
604
|
+
#Firefox Focus / Firefox Klar
|
|
605
|
+
- regex: '(?:Focus|Klar)(?:/(\d+[\.\d]+))?'
|
|
606
|
+
name: 'Firefox Focus'
|
|
607
|
+
version: '$1'
|
|
608
|
+
|
|
609
|
+
#Cyberfox
|
|
610
|
+
- regex: 'Cyberfox(?:/(\d+[\.\d]+))?'
|
|
611
|
+
name: 'Cyberfox'
|
|
612
|
+
version: '$1'
|
|
613
|
+
engine:
|
|
614
|
+
default: 'Gecko'
|
|
615
|
+
|
|
170
616
|
#Swiftfox
|
|
171
617
|
- regex: 'Firefox/(\d+[\.\d]+).*\(Swiftfox\)'
|
|
172
618
|
name: 'Swiftfox'
|
|
@@ -174,22 +620,39 @@
|
|
|
174
620
|
engine:
|
|
175
621
|
default: 'Gecko'
|
|
176
622
|
|
|
623
|
+
#Firefox Mobile
|
|
624
|
+
- regex: '(?:Mobile|Tablet).*Servo.*Firefox(?:/(\d+[\.\d]+))?'
|
|
625
|
+
name: 'Firefox Mobile'
|
|
626
|
+
version: '$1'
|
|
627
|
+
engine:
|
|
628
|
+
default: 'Servo'
|
|
629
|
+
- regex: '(?:Mobile|Tablet).*Firefox(?:/(\d+[\.\d]+))?'
|
|
630
|
+
name: 'Firefox Mobile'
|
|
631
|
+
version: '$1'
|
|
632
|
+
engine:
|
|
633
|
+
default: 'Gecko'
|
|
634
|
+
- regex: 'FxiOS/(\d+[\.\d]+)'
|
|
635
|
+
name: 'Firefox Mobile iOS'
|
|
636
|
+
version: '$1'
|
|
637
|
+
engine:
|
|
638
|
+
default: 'WebKit'
|
|
639
|
+
|
|
177
640
|
#Firefox
|
|
178
|
-
- regex: 'Firefox(?:/(\d+[\.\d]+))?'
|
|
641
|
+
- regex: '.*Servo.*Firefox(?:/(\d+[\.\d]+))?'
|
|
179
642
|
name: 'Firefox'
|
|
180
643
|
version: '$1'
|
|
181
644
|
engine:
|
|
182
|
-
default: '
|
|
183
|
-
- regex: '(
|
|
645
|
+
default: 'Servo'
|
|
646
|
+
- regex: '(?!.*Opera[ /])Firefox(?:/(\d+[\.\d]+))?'
|
|
184
647
|
name: 'Firefox'
|
|
185
|
-
version: '$1
|
|
648
|
+
version: '$1'
|
|
186
649
|
engine:
|
|
187
650
|
default: 'Gecko'
|
|
188
|
-
- regex: '
|
|
651
|
+
- regex: '(?:BonEcho|GranParadiso|Lorentz|Minefield|Namoroka|Shiretoko)/(\d+[\.\d]+)'
|
|
189
652
|
name: 'Firefox'
|
|
190
|
-
version: '
|
|
653
|
+
version: '$1'
|
|
191
654
|
engine:
|
|
192
|
-
default: '
|
|
655
|
+
default: 'Gecko'
|
|
193
656
|
|
|
194
657
|
#ANT Fresco
|
|
195
658
|
- regex: 'ANTFresco(?:[/ ](\d+[\.\d]+))?'
|
|
@@ -230,6 +693,59 @@
|
|
|
230
693
|
engine:
|
|
231
694
|
default: '' # Mosaic in the first versions, then Gecko
|
|
232
695
|
|
|
696
|
+
#Polarity
|
|
697
|
+
- regex: '(?:Polarity)(?:[/ ](\d+[\.\d]+))?'
|
|
698
|
+
name: 'Polarity'
|
|
699
|
+
version: '$1'
|
|
700
|
+
|
|
701
|
+
#QupZilla
|
|
702
|
+
- regex: '(?:QupZilla)(?:[/ ](\d+[\.\d]+))?'
|
|
703
|
+
name: 'QupZilla'
|
|
704
|
+
version: '$1'
|
|
705
|
+
|
|
706
|
+
#Dooble
|
|
707
|
+
- regex: '(?:Dooble)(?:[/ ](\d+[\.\d]+))?'
|
|
708
|
+
name: 'Dooble'
|
|
709
|
+
version: '$1'
|
|
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
|
+
|
|
233
749
|
#Opera
|
|
234
750
|
- regex: '(?:Opera Tablet.*Version|Opera/.+Opera Mobi.+Version|Mobile.+OPR)/(\d+[\.\d]+)'
|
|
235
751
|
name: 'Opera Mobile'
|
|
@@ -238,11 +754,43 @@
|
|
|
238
754
|
default: 'Presto'
|
|
239
755
|
versions:
|
|
240
756
|
15: 'Blink'
|
|
241
|
-
- regex: '
|
|
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'
|
|
772
|
+
- regex: 'Opera/(\d+[\.\d]+).+Opera Mobi'
|
|
773
|
+
name: 'Opera Mobile'
|
|
774
|
+
version: '$1'
|
|
775
|
+
engine:
|
|
776
|
+
default: 'Presto'
|
|
777
|
+
versions:
|
|
778
|
+
15: 'Blink'
|
|
779
|
+
- regex: 'Opera ?Mini/(?:att/)?(\d+[\.\d]+)'
|
|
242
780
|
name: 'Opera Mini'
|
|
243
781
|
version: '$1'
|
|
244
782
|
engine:
|
|
245
783
|
default: 'Presto'
|
|
784
|
+
- regex: 'Opera ?Mini.+Version/(\d+[\.\d]+)'
|
|
785
|
+
name: 'Opera Mini'
|
|
786
|
+
version: '$1'
|
|
787
|
+
engine:
|
|
788
|
+
default: 'Presto'
|
|
789
|
+
- regex: 'OPiOS/(\d+[\.\d]+)'
|
|
790
|
+
name: 'Opera Mini iOS'
|
|
791
|
+
version: '$1'
|
|
792
|
+
engine:
|
|
793
|
+
default: 'WebKit'
|
|
246
794
|
- regex: 'Opera.+Edition Next.+Version/(\d+[\.\d]+)'
|
|
247
795
|
name: 'Opera Next'
|
|
248
796
|
version: '$1'
|
|
@@ -257,182 +805,440 @@
|
|
|
257
805
|
default: 'Presto'
|
|
258
806
|
versions:
|
|
259
807
|
15: 'Blink'
|
|
260
|
-
- regex: '(?:Opera
|
|
808
|
+
- regex: '(?:Opera[/ ]?|OPR[/ ])(?:9.80.*Version/)?(\d+[\.\d]+)'
|
|
261
809
|
name: 'Opera'
|
|
262
810
|
version: '$1'
|
|
263
811
|
engine:
|
|
264
|
-
default: ''
|
|
265
|
-
versions:
|
|
266
|
-
3.5: 'Elektra'
|
|
267
|
-
7: 'Presto'
|
|
268
|
-
15: 'Blink'
|
|
812
|
+
default: ''
|
|
813
|
+
versions:
|
|
814
|
+
'3.5': 'Elektra'
|
|
815
|
+
7: 'Presto'
|
|
816
|
+
15: 'Blink'
|
|
817
|
+
|
|
818
|
+
#Rekonq
|
|
819
|
+
- regex: 'rekonq(?:/(\d+[\.\d]+))?'
|
|
820
|
+
name: 'Rekonq'
|
|
821
|
+
version: '$1'
|
|
822
|
+
engine:
|
|
823
|
+
default: 'WebKit'
|
|
824
|
+
|
|
825
|
+
#CoolNovo (former ChromePlus)
|
|
826
|
+
- regex: 'CoolNovo(?:/(\d+[\.\d]+))?'
|
|
827
|
+
name: 'CoolNovo'
|
|
828
|
+
version: '$1'
|
|
829
|
+
engine:
|
|
830
|
+
default: '' # multi engine
|
|
831
|
+
|
|
832
|
+
#Comodo Dragon
|
|
833
|
+
- regex: '(?:Comodo[ _])?Dragon(?!fruit)(?:/(\d+[\.\d]+))?'
|
|
834
|
+
name: 'Comodo Dragon'
|
|
835
|
+
version: '$1'
|
|
836
|
+
engine:
|
|
837
|
+
default: 'WebKit'
|
|
838
|
+
versions:
|
|
839
|
+
28: 'Blink'
|
|
840
|
+
|
|
841
|
+
#ChromePlus
|
|
842
|
+
- regex: 'ChromePlus(?:/(\d+[\.\d]+))?'
|
|
843
|
+
name: 'ChromePlus'
|
|
844
|
+
version: '$1'
|
|
845
|
+
engine:
|
|
846
|
+
default: '' # multi engine
|
|
847
|
+
|
|
848
|
+
#Conkeror
|
|
849
|
+
- regex: 'Conkeror(?:/(\d+[\.\d]+))?'
|
|
850
|
+
name: 'Conkeror'
|
|
851
|
+
version: '$1'
|
|
852
|
+
engine:
|
|
853
|
+
default: 'Gecko'
|
|
854
|
+
|
|
855
|
+
#Konqueror
|
|
856
|
+
- regex: 'Konqueror(?:/(\d+[\.\d]+))?'
|
|
857
|
+
name: 'Konqueror'
|
|
858
|
+
version: '$1'
|
|
859
|
+
engine:
|
|
860
|
+
default: 'KHTML'
|
|
861
|
+
versions:
|
|
862
|
+
4: '' # multiple (KHTML or WebKit)
|
|
863
|
+
|
|
864
|
+
#Baidu Browser
|
|
865
|
+
- regex: '(?:baidubrowser|bdbrowser_i18n|bdbrowser)(?:[/ ](\d+[\.\d]*))?'
|
|
866
|
+
name: 'Baidu Browser'
|
|
867
|
+
version: '$1'
|
|
868
|
+
- regex: 'FlyFlow(?:[/ ](\d+[\.\d]*))?'
|
|
869
|
+
name: 'Baidu Browser'
|
|
870
|
+
version: '$1'
|
|
871
|
+
|
|
872
|
+
#Baidu Spark
|
|
873
|
+
- regex: '(?:(?:BD)?Spark|BIDUBrowser)[/ ](\d+[\.\d]*)'
|
|
874
|
+
name: 'Baidu Spark'
|
|
875
|
+
version: '$1'
|
|
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
|
+
|
|
884
|
+
#Yandex Browser
|
|
885
|
+
- regex: 'YaBrowser(?:/(\d+[\.\d]*))(?: \((alpha|beta)\))?'
|
|
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'
|
|
894
|
+
version: '$1'
|
|
895
|
+
engine:
|
|
896
|
+
default: 'Blink'
|
|
897
|
+
|
|
898
|
+
#Vivaldi
|
|
899
|
+
- regex: 'Vivaldi(?:/(\d+[\.\d]+))?'
|
|
900
|
+
name: 'Vivaldi'
|
|
901
|
+
version: '$1'
|
|
902
|
+
engine:
|
|
903
|
+
default: 'Blink'
|
|
904
|
+
|
|
905
|
+
#TweakStyle
|
|
906
|
+
- regex: 'TweakStyle(?:/(\d+[\.\d]+))?'
|
|
907
|
+
name: 'TweakStyle'
|
|
908
|
+
version: '$1'
|
|
909
|
+
engine:
|
|
910
|
+
default: 'Blink'
|
|
911
|
+
|
|
912
|
+
#Midori
|
|
913
|
+
- regex: 'Midori(?:/(\d+[\.\d]+))?'
|
|
914
|
+
name: 'Midori'
|
|
915
|
+
version: '$1'
|
|
916
|
+
engine:
|
|
917
|
+
default: 'WebKit'
|
|
918
|
+
|
|
919
|
+
#Mercury
|
|
920
|
+
- regex: 'Mercury(?:/(\d+[\.\d]+))?'
|
|
921
|
+
name: 'Mercury'
|
|
922
|
+
version: '$1'
|
|
923
|
+
|
|
924
|
+
#Maxthon
|
|
925
|
+
- regex: '(?:Maxthon|MxBrowser)[ /](\d+[\.\d]+)'
|
|
926
|
+
name: 'Maxthon'
|
|
927
|
+
version: '$1'
|
|
928
|
+
engine:
|
|
929
|
+
default: '' # Trident and WebKit
|
|
930
|
+
versions:
|
|
931
|
+
3: 'WebKit'
|
|
932
|
+
|
|
933
|
+
- regex: '(?:Maxthon|MyIE2)'
|
|
934
|
+
name: 'Maxthon'
|
|
935
|
+
version: ''
|
|
936
|
+
engine:
|
|
937
|
+
default: '' # Trident and WebKit
|
|
938
|
+
|
|
939
|
+
#Puffin
|
|
940
|
+
- regex: 'Puffin(?:/(\d+[\.\d]+))?'
|
|
941
|
+
name: 'Puffin'
|
|
942
|
+
version: '$1'
|
|
943
|
+
|
|
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
|
+
|
|
958
|
+
- regex: 'Iron(?:/(\d+[\.\d]+))?'
|
|
959
|
+
name: 'Iron'
|
|
960
|
+
version: '$1'
|
|
961
|
+
engine:
|
|
962
|
+
default: 'WebKit'
|
|
963
|
+
versions:
|
|
964
|
+
28: 'Blink'
|
|
965
|
+
|
|
966
|
+
#GNOME Web
|
|
967
|
+
- regex: 'Epiphany(?:/(\d+[\.\d]+))?'
|
|
968
|
+
name: 'GNOME Web'
|
|
969
|
+
version: '$1'
|
|
970
|
+
engine:
|
|
971
|
+
default: 'Gecko'
|
|
972
|
+
versions:
|
|
973
|
+
'2.9.16': '' # multi engine
|
|
974
|
+
'2.28': 'WebKit'
|
|
975
|
+
|
|
976
|
+
# LieBaoFast
|
|
977
|
+
- regex: 'LieBaoFast(?:[ /](\d+[\.\d]+))?'
|
|
978
|
+
name: 'LieBaoFast'
|
|
979
|
+
version: '$1'
|
|
980
|
+
|
|
981
|
+
# Cheetah Browser
|
|
982
|
+
- regex: 'LBBrowser(?:[ /](\d+[\.\d]+))?'
|
|
983
|
+
name: 'Cheetah Browser'
|
|
984
|
+
version: '$1'
|
|
985
|
+
|
|
986
|
+
# Sogou Explorer
|
|
987
|
+
- regex: 'SE (\d+[\.\d]+)'
|
|
988
|
+
name: 'Sogou Explorer'
|
|
989
|
+
version: '$1'
|
|
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
|
+
|
|
998
|
+
# QQ Browser
|
|
999
|
+
- regex: 'M?QQBrowser(?:/([\.\d]+))?'
|
|
1000
|
+
name: 'QQ Browser'
|
|
1001
|
+
version: '$1'
|
|
1002
|
+
engine:
|
|
1003
|
+
default: '' # multi engine -- WebKit or Blink
|
|
1004
|
+
|
|
1005
|
+
# MIUI Browser
|
|
1006
|
+
- regex: '(?:MIUIBrowser|MiuiBrowser)(?:/(\d+[\.\d]+))?'
|
|
1007
|
+
name: 'MIUI Browser'
|
|
1008
|
+
version: '$1'
|
|
1009
|
+
engine:
|
|
1010
|
+
default: '' # multi engine -- WebKit or Blink
|
|
1011
|
+
|
|
1012
|
+
# Coc Coc
|
|
1013
|
+
# This browser (http://coccoc.vn/) is built on top of Chromium with
|
|
1014
|
+
# additional features for Vietnamese users. Its regex has to be placed
|
|
1015
|
+
# before generic Chrome regex, or Chrome regex will match first and
|
|
1016
|
+
# the browser is mistaken as "Chrome".
|
|
1017
|
+
- regex: 'coc_coc_browser(?:/(\d+[\.\d]+))?'
|
|
1018
|
+
name: 'Coc Coc'
|
|
1019
|
+
version: '$1'
|
|
1020
|
+
engine:
|
|
1021
|
+
default: 'WebKit'
|
|
1022
|
+
versions:
|
|
1023
|
+
28: 'Blink'
|
|
1024
|
+
|
|
1025
|
+
- regex: 'DuckDuckGo/(\d+[\.\d]*)'
|
|
1026
|
+
name: 'DuckDuckGo Privacy Browser'
|
|
1027
|
+
version: '$1'
|
|
1028
|
+
engine:
|
|
1029
|
+
default: 'Blink'
|
|
1030
|
+
|
|
1031
|
+
#Samsung Browser
|
|
1032
|
+
- regex: 'Samsung ?Browser(?:[/ ](\d+[\.\d]+))?'
|
|
1033
|
+
name: 'Samsung Browser'
|
|
1034
|
+
version: '$1'
|
|
1035
|
+
|
|
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)
|
|
1052
|
+
- regex: 'Streamy(?:/(\d+[\.\d]+))?'
|
|
1053
|
+
name: 'Streamy'
|
|
1054
|
+
version: '$1'
|
|
1055
|
+
engine:
|
|
1056
|
+
default: 'WebKit'
|
|
1057
|
+
|
|
1058
|
+
#Isivioo (Android version is Chrome based)
|
|
1059
|
+
- regex: 'isivioo'
|
|
1060
|
+
name: 'Isivioo'
|
|
1061
|
+
version: ''
|
|
1062
|
+
engine:
|
|
1063
|
+
default: 'WebKit'
|
|
1064
|
+
|
|
1065
|
+
#UC Browser
|
|
1066
|
+
- regex: 'UC[ ]?Browser(?:[ /]?(\d+[\.\d]+))?'
|
|
1067
|
+
name: 'UC Browser'
|
|
1068
|
+
version: '$1'
|
|
1069
|
+
- regex: 'UCWEB(?:[ /]?(\d+[\.\d]+))?'
|
|
1070
|
+
name: 'UC Browser'
|
|
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'
|
|
269
1083
|
|
|
270
|
-
#
|
|
271
|
-
- regex: '
|
|
272
|
-
name: '
|
|
1084
|
+
# Firefox Rocket
|
|
1085
|
+
- regex: 'Rocket/(\d+[\.\d]+)'
|
|
1086
|
+
name: 'Firefox Rocket'
|
|
273
1087
|
version: '$1'
|
|
274
1088
|
engine:
|
|
275
|
-
default: '
|
|
1089
|
+
default: 'Webkit'
|
|
276
1090
|
|
|
277
|
-
#
|
|
278
|
-
- regex: '
|
|
279
|
-
name: '
|
|
1091
|
+
# Web Explorer
|
|
1092
|
+
- regex: 'Web Explorer/(\d+[\.\d]+).*Chrome'
|
|
1093
|
+
name: 'Web Explorer'
|
|
280
1094
|
version: '$1'
|
|
281
1095
|
engine:
|
|
282
|
-
default: ''
|
|
1096
|
+
default: 'Webkit'
|
|
283
1097
|
|
|
284
|
-
#
|
|
285
|
-
- regex: '
|
|
286
|
-
name: '
|
|
1098
|
+
# Seznam Browser
|
|
1099
|
+
- regex: 'SznProhlizec/(\d+[\.\d]+)'
|
|
1100
|
+
name: 'Seznam Browser'
|
|
287
1101
|
version: '$1'
|
|
288
1102
|
engine:
|
|
289
|
-
default: '
|
|
290
|
-
versions:
|
|
291
|
-
28: 'Blink'
|
|
1103
|
+
default: 'Blink'
|
|
292
1104
|
|
|
293
|
-
#
|
|
294
|
-
- regex: '
|
|
295
|
-
name: '
|
|
1105
|
+
# SogouMobileBrowser
|
|
1106
|
+
- regex: 'SogouMobileBrowser/(\d+[\.\d]+)'
|
|
1107
|
+
name: 'Sogou Mobile Browser'
|
|
296
1108
|
version: '$1'
|
|
297
1109
|
engine:
|
|
298
|
-
default: '' # multi engine
|
|
1110
|
+
default: '' # multi engine -- WebKit or Blink
|
|
299
1111
|
|
|
300
|
-
#
|
|
301
|
-
- regex: '
|
|
302
|
-
name: '
|
|
1112
|
+
# Mint Browser
|
|
1113
|
+
- regex: 'Mint Browser/(\d+[\.\d]+)'
|
|
1114
|
+
name: 'Mint Browser'
|
|
303
1115
|
version: '$1'
|
|
304
1116
|
engine:
|
|
305
|
-
default: '
|
|
1117
|
+
default: '' # multi engine -- WebKit or Blink
|
|
306
1118
|
|
|
307
|
-
#
|
|
308
|
-
- regex: '
|
|
309
|
-
name: '
|
|
1119
|
+
# Ecosia
|
|
1120
|
+
- regex: 'Ecosia (?:android|ios)@(\d+[\.\d]+)'
|
|
1121
|
+
name: 'Ecosia'
|
|
310
1122
|
version: '$1'
|
|
311
1123
|
engine:
|
|
312
|
-
default: '
|
|
313
|
-
versions:
|
|
314
|
-
4: '' # multiple (KHTML or WebKit)
|
|
1124
|
+
default: '' # multi engine -- WebKit or Blink
|
|
315
1125
|
|
|
316
|
-
#
|
|
317
|
-
- regex: '
|
|
318
|
-
name: '
|
|
319
|
-
version: '
|
|
1126
|
+
# CM Browser
|
|
1127
|
+
- regex: 'ACHEETAHI'
|
|
1128
|
+
name: 'CM Browser'
|
|
1129
|
+
version: ''
|
|
1130
|
+
engine:
|
|
1131
|
+
default: '' # multi engine -- WebKit or Blink
|
|
320
1132
|
|
|
321
|
-
#
|
|
322
|
-
- regex: '
|
|
323
|
-
name: '
|
|
324
|
-
version: '
|
|
1133
|
+
# Kiwi Browser
|
|
1134
|
+
- regex: 'Kiwi Chrome'
|
|
1135
|
+
name: 'Kiwi'
|
|
1136
|
+
version: ''
|
|
1137
|
+
engine:
|
|
1138
|
+
default: '' # multi engine -- WebKit or Blink
|
|
325
1139
|
|
|
326
|
-
#
|
|
327
|
-
- regex: '
|
|
328
|
-
name: '
|
|
1140
|
+
# 2345 Browser
|
|
1141
|
+
- regex: 'Mb2345Browser/(\d+[\.\d]+)'
|
|
1142
|
+
name: '2345 Browser'
|
|
329
1143
|
version: '$1'
|
|
330
1144
|
engine:
|
|
331
|
-
default: 'Blink
|
|
1145
|
+
default: '' # multi engine -- WebKit or Blink
|
|
332
1146
|
|
|
333
|
-
#
|
|
334
|
-
- regex: '
|
|
335
|
-
name: '
|
|
1147
|
+
# QtWebEngine
|
|
1148
|
+
- regex: 'QtWebEngine/(\d+[\.\d]+)'
|
|
1149
|
+
name: 'QtWebEngine'
|
|
336
1150
|
version: '$1'
|
|
337
1151
|
engine:
|
|
338
|
-
default: 'Blink
|
|
1152
|
+
default: '' # multi engine -- WebKit or Blink
|
|
339
1153
|
|
|
340
|
-
#
|
|
341
|
-
- regex: '
|
|
342
|
-
name: '
|
|
1154
|
+
#Mobile Silk
|
|
1155
|
+
- regex: 'Silk/(\d+[\.\d]+) like Chrome'
|
|
1156
|
+
name: 'Mobile Silk'
|
|
343
1157
|
version: '$1'
|
|
344
1158
|
engine:
|
|
345
1159
|
default: 'Blink'
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
- regex: 'Midori(?:/(\d+[\.\d]+))?'
|
|
349
|
-
name: 'Midori'
|
|
1160
|
+
- regex: 'Silk(?:/(\d+[\.\d]+))?'
|
|
1161
|
+
name: 'Mobile Silk'
|
|
350
1162
|
version: '$1'
|
|
351
1163
|
engine:
|
|
352
1164
|
default: 'WebKit'
|
|
353
1165
|
|
|
354
|
-
#
|
|
355
|
-
- regex: '
|
|
356
|
-
name: '
|
|
1166
|
+
#IBrowse
|
|
1167
|
+
- regex: 'IBrowse(?:[ /](\d+[\.\d]+))?'
|
|
1168
|
+
name: 'IBrowse'
|
|
357
1169
|
version: '$1'
|
|
358
1170
|
|
|
359
|
-
#
|
|
360
|
-
- regex: '(
|
|
361
|
-
name: '
|
|
1171
|
+
#Openwave Mobile Browser
|
|
1172
|
+
- regex: 'UP.Browser(?:/(\d+[\.\d]+))?'
|
|
1173
|
+
name: 'Openwave Mobile Browser'
|
|
362
1174
|
version: '$1'
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
versions:
|
|
366
|
-
3: 'WebKit'
|
|
367
|
-
|
|
368
|
-
- regex: '(?:Maxthon|MyIE2|Uzbl)'
|
|
369
|
-
name: 'Maxthon'
|
|
370
|
-
version: ''
|
|
371
|
-
engine:
|
|
372
|
-
default: '' # Trident and WebKit
|
|
373
|
-
|
|
374
|
-
#Puffin
|
|
375
|
-
- regex: 'Puffin(?:/(\d+[\.\d]+))?'
|
|
376
|
-
name: 'Puffin'
|
|
1175
|
+
- regex: 'Openwave(?:/(\d+[\.\d]+))?'
|
|
1176
|
+
name: 'Openwave Mobile Browser'
|
|
377
1177
|
version: '$1'
|
|
378
1178
|
|
|
379
|
-
#
|
|
380
|
-
- regex: '
|
|
381
|
-
name: '
|
|
1179
|
+
#ONE Browser
|
|
1180
|
+
- regex: 'OneBrowser(?:[ /](\d+[\.\d]+))?'
|
|
1181
|
+
name: 'ONE Browser'
|
|
382
1182
|
version: '$1'
|
|
383
1183
|
engine:
|
|
384
1184
|
default: 'WebKit'
|
|
385
|
-
versions:
|
|
386
|
-
28: 'Blink'
|
|
387
1185
|
|
|
388
|
-
#
|
|
389
|
-
- regex: '
|
|
390
|
-
name: '
|
|
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'
|
|
391
1206
|
version: '$1'
|
|
392
1207
|
engine:
|
|
393
|
-
default: '
|
|
394
|
-
versions:
|
|
395
|
-
2.9.16: '' # multi engine
|
|
396
|
-
2.28: 'WebKit'
|
|
1208
|
+
default: '' # multi engine
|
|
397
1209
|
|
|
398
|
-
#
|
|
399
|
-
- regex: '
|
|
400
|
-
name: '
|
|
1210
|
+
# NTENT Browser
|
|
1211
|
+
- regex: 'NTENTBrowser(?:/(\d+[\.\d]+))?'
|
|
1212
|
+
name: 'NTENT Browser'
|
|
401
1213
|
version: '$1'
|
|
402
1214
|
|
|
403
|
-
#
|
|
404
|
-
- regex: '
|
|
405
|
-
name: '
|
|
1215
|
+
# TV Bro
|
|
1216
|
+
- regex: 'TV Bro/(\d+[\.\d]+)'
|
|
1217
|
+
name: 'TV Bro'
|
|
406
1218
|
version: '$1'
|
|
407
1219
|
|
|
408
|
-
#
|
|
409
|
-
- regex: '
|
|
410
|
-
name: '
|
|
1220
|
+
# Quark
|
|
1221
|
+
- regex: 'Chrome/.+ Quark(?:/(\d+[\.\d]+))?'
|
|
1222
|
+
name: 'Quark'
|
|
411
1223
|
version: '$1'
|
|
1224
|
+
engine:
|
|
1225
|
+
default: 'WebKit'
|
|
412
1226
|
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
name: 'MIUI Browser'
|
|
1227
|
+
- regex: 'BlueBrowser(?:/(\d+[\.\d]+))?'
|
|
1228
|
+
name: 'Blue Browser'
|
|
416
1229
|
version: '$1'
|
|
1230
|
+
engine:
|
|
1231
|
+
default: 'WebKit'
|
|
417
1232
|
|
|
418
|
-
#
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
# before generic Chrome regex, or Chrome regex will match first and
|
|
422
|
-
# the browser is mistaken as "Chrome".
|
|
423
|
-
- regex: 'coc_coc_browser(?:/(\d+[\.\d]+))?'
|
|
424
|
-
name: 'Coc Coc'
|
|
1233
|
+
# Chrome Webview
|
|
1234
|
+
- regex: 'Version/.* Chrome(?:/(\d+[\.\d]+))?'
|
|
1235
|
+
name: 'Chrome Webview'
|
|
425
1236
|
version: '$1'
|
|
426
1237
|
engine:
|
|
427
1238
|
default: 'WebKit'
|
|
428
1239
|
versions:
|
|
429
1240
|
28: 'Blink'
|
|
430
1241
|
|
|
431
|
-
#Samsung Browser
|
|
432
|
-
- regex: 'Samsung ?Browser(?:[/ ](\d+[\.\d]+))?'
|
|
433
|
-
name: 'Samsung Browser'
|
|
434
|
-
version: '$1'
|
|
435
|
-
|
|
436
1242
|
#Chrome
|
|
437
1243
|
- regex: 'CrMo(?:/(\d+[\.\d]+))?'
|
|
438
1244
|
name: 'Chrome Mobile'
|
|
@@ -465,7 +1271,12 @@
|
|
|
465
1271
|
default: 'WebKit'
|
|
466
1272
|
versions:
|
|
467
1273
|
28: 'Blink'
|
|
468
|
-
- regex: '
|
|
1274
|
+
- regex: 'HeadlessChrome(?:/(\d+[\.\d]+))?'
|
|
1275
|
+
name: 'Headless Chrome'
|
|
1276
|
+
version: '$1'
|
|
1277
|
+
engine:
|
|
1278
|
+
default: 'Blink'
|
|
1279
|
+
- regex: 'Chrome(?!book)(?:/(\d+[\.\d]+))?'
|
|
469
1280
|
name: 'Chrome'
|
|
470
1281
|
version: '$1'
|
|
471
1282
|
engine:
|
|
@@ -473,14 +1284,6 @@
|
|
|
473
1284
|
versions:
|
|
474
1285
|
28: 'Blink'
|
|
475
1286
|
|
|
476
|
-
#UC Browser
|
|
477
|
-
- regex: 'UC[ ]?Browser(?:[ /]?(\d+[\.\d]+))?'
|
|
478
|
-
name: 'UC Browser'
|
|
479
|
-
version: '$1'
|
|
480
|
-
- regex: 'UCWEB(?:[ /]?(\d+[\.\d]+))?'
|
|
481
|
-
name: 'UC Browser'
|
|
482
|
-
version: '$1'
|
|
483
|
-
|
|
484
1287
|
#Tizen Browser
|
|
485
1288
|
- regex: '(?:Tizen|SLP) Browser(?:/(\d+[\.\d]+))?'
|
|
486
1289
|
name: 'Tizen Browser'
|
|
@@ -560,6 +1363,13 @@
|
|
|
560
1363
|
engine:
|
|
561
1364
|
default: 'Gecko'
|
|
562
1365
|
|
|
1366
|
+
#B-Line
|
|
1367
|
+
- regex: 'bline(?:/(\d+[\.\d]+))?'
|
|
1368
|
+
name: 'B-Line'
|
|
1369
|
+
version: '$1'
|
|
1370
|
+
engine:
|
|
1371
|
+
default: 'WebKit'
|
|
1372
|
+
|
|
563
1373
|
#BrowseX
|
|
564
1374
|
- regex: 'BrowseX \((\d+[\.\d]+)'
|
|
565
1375
|
name: 'BrowseX'
|
|
@@ -575,6 +1385,13 @@
|
|
|
575
1385
|
name: 'Cheshire'
|
|
576
1386
|
version: '$1'
|
|
577
1387
|
|
|
1388
|
+
#dbrowser
|
|
1389
|
+
- regex: 'dbrowser'
|
|
1390
|
+
name: 'dbrowser'
|
|
1391
|
+
version: ''
|
|
1392
|
+
engine:
|
|
1393
|
+
default: 'WebKit'
|
|
1394
|
+
|
|
578
1395
|
#Dillo
|
|
579
1396
|
- regex: 'Dillo(?:/(\d+[\.\d]+))?'
|
|
580
1397
|
name: 'Dillo'
|
|
@@ -601,6 +1418,11 @@
|
|
|
601
1418
|
name: 'Element Browser'
|
|
602
1419
|
version: '$1'
|
|
603
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
|
+
|
|
604
1426
|
#Firebird
|
|
605
1427
|
- regex: 'Firebird(?! Build)(?:/(\d+[\.\d]+))?'
|
|
606
1428
|
name: 'Firebird'
|
|
@@ -634,10 +1456,12 @@
|
|
|
634
1456
|
name: 'HotJava'
|
|
635
1457
|
version: '$1'
|
|
636
1458
|
|
|
637
|
-
#
|
|
638
|
-
- regex: '
|
|
639
|
-
name: '
|
|
1459
|
+
#iCabMobile
|
|
1460
|
+
- regex: 'iCabMobile(?:[ /](\d+[\.\d]+))?'
|
|
1461
|
+
name: 'iCab Mobile'
|
|
640
1462
|
version: '$1'
|
|
1463
|
+
engine:
|
|
1464
|
+
default: 'WebKit'
|
|
641
1465
|
|
|
642
1466
|
#iCab
|
|
643
1467
|
- regex: 'iCab(?:[ /](\d+[\.\d]+))?'
|
|
@@ -648,15 +1472,8 @@
|
|
|
648
1472
|
versions:
|
|
649
1473
|
4: 'WebKit'
|
|
650
1474
|
|
|
651
|
-
#Sleipnir
|
|
652
|
-
- regex: 'Sleipnir(?:[ /](\d+[\.\d]+))?'
|
|
653
|
-
name: 'Sleipnir'
|
|
654
|
-
version: '$1'
|
|
655
|
-
engine:
|
|
656
|
-
default: '' # multi engine
|
|
657
|
-
|
|
658
1475
|
#Lunascape
|
|
659
|
-
- regex: 'Lunascape(?:[/ ](\d+[\.\d]+))?'
|
|
1476
|
+
- regex: 'i?Lunascape(?:[/ ](\d+[\.\d]+))?'
|
|
660
1477
|
name: 'Lunascape'
|
|
661
1478
|
version: '$1'
|
|
662
1479
|
engine:
|
|
@@ -688,7 +1505,7 @@
|
|
|
688
1505
|
version: 10.0
|
|
689
1506
|
engine:
|
|
690
1507
|
default: 'Trident'
|
|
691
|
-
- regex: 'Trident/
|
|
1508
|
+
- regex: 'Trident/[78].0'
|
|
692
1509
|
name: 'Internet Explorer'
|
|
693
1510
|
version: 11.0
|
|
694
1511
|
engine:
|
|
@@ -698,19 +1515,12 @@
|
|
|
698
1515
|
version: '$1'
|
|
699
1516
|
engine:
|
|
700
1517
|
default: 'Trident'
|
|
701
|
-
- regex: 'IE[ /](\d+[\.\d]
|
|
1518
|
+
- regex: 'IE[ /](\d+[\.\d]+)'
|
|
702
1519
|
name: 'Internet Explorer'
|
|
703
1520
|
version: '$1'
|
|
704
1521
|
engine:
|
|
705
1522
|
default: 'Trident'
|
|
706
1523
|
|
|
707
|
-
#Kazehakase
|
|
708
|
-
- regex: 'Kazehakase(?:/(\d+[\.\d]+))?'
|
|
709
|
-
name: 'Kazehakase'
|
|
710
|
-
version: '$1'
|
|
711
|
-
engine:
|
|
712
|
-
default: '' # multi engine
|
|
713
|
-
|
|
714
1524
|
#Kindle Browser
|
|
715
1525
|
- regex: 'Kindle/(\d+[\.\d]+)'
|
|
716
1526
|
name: 'Kindle Browser'
|
|
@@ -740,14 +1550,6 @@
|
|
|
740
1550
|
name: 'LuaKit'
|
|
741
1551
|
version: '$1'
|
|
742
1552
|
|
|
743
|
-
#Openwave Mobile Browser
|
|
744
|
-
- regex: 'UP.Browser(?:/(\d+[\.\d]+))?'
|
|
745
|
-
name: 'Openwave Mobile Browser'
|
|
746
|
-
version: '$1'
|
|
747
|
-
- regex: 'Openwave(?:/(\d+[\.\d]+))?'
|
|
748
|
-
name: 'Openwave Mobile Browser'
|
|
749
|
-
version: '$1'
|
|
750
|
-
|
|
751
1553
|
#OmniWeb
|
|
752
1554
|
- regex: 'OmniWeb(?:/[v]?(\d+[\.\d]+))?'
|
|
753
1555
|
name: 'OmniWeb'
|
|
@@ -760,13 +1562,6 @@
|
|
|
760
1562
|
name: 'Phoenix'
|
|
761
1563
|
version: '$1'
|
|
762
1564
|
|
|
763
|
-
#Mobile Silk
|
|
764
|
-
- regex: 'Silk(?:/(\d+[\.\d]+))?'
|
|
765
|
-
name: 'Mobile Silk'
|
|
766
|
-
version: '$1'
|
|
767
|
-
engine:
|
|
768
|
-
default: 'Blink'
|
|
769
|
-
|
|
770
1565
|
#NetFront
|
|
771
1566
|
- regex: 'NetFrontLifeBrowser(?:/(\d+[\.\d]+))?'
|
|
772
1567
|
name: 'NetFront Life'
|
|
@@ -778,7 +1573,7 @@
|
|
|
778
1573
|
version: '$1'
|
|
779
1574
|
engine:
|
|
780
1575
|
default: 'NetFront'
|
|
781
|
-
- regex: 'PLAYSTATION|NINTENDO 3|AppleWebKit.+
|
|
1576
|
+
- regex: 'PLAYSTATION|NINTENDO 3|AppleWebKit.+ N[XF]/\d+\.\d+\.\d+'
|
|
782
1577
|
name: 'NetFront'
|
|
783
1578
|
version: ''
|
|
784
1579
|
|
|
@@ -787,14 +1582,6 @@
|
|
|
787
1582
|
name: 'NetPositive'
|
|
788
1583
|
version: '$1'
|
|
789
1584
|
|
|
790
|
-
#Obigo
|
|
791
|
-
- regex: 'Obigo[ ]?(?:InternetBrowser|Browser)?(?:[ /]([a-z0-9]*))?'
|
|
792
|
-
name: 'Obigo'
|
|
793
|
-
version: '$1'
|
|
794
|
-
- regex: 'Obigo|Teleca'
|
|
795
|
-
name: 'Obigo'
|
|
796
|
-
version: ''
|
|
797
|
-
|
|
798
1585
|
#Odyssey Web Browser
|
|
799
1586
|
- regex: 'Odyssey Web Browser(?:.*OWB/(\d+[\.\d]+))?'
|
|
800
1587
|
name: 'Odyssey Web Browser'
|
|
@@ -805,13 +1592,6 @@
|
|
|
805
1592
|
name: 'Off By One'
|
|
806
1593
|
version: ''
|
|
807
1594
|
|
|
808
|
-
#ONE Browser
|
|
809
|
-
- regex: 'OneBrowser(?:[ /](\d+[\.\d]+))?'
|
|
810
|
-
name: 'ONE Browser'
|
|
811
|
-
version: '$1'
|
|
812
|
-
engine:
|
|
813
|
-
default: 'WebKit'
|
|
814
|
-
|
|
815
1595
|
#Oregano
|
|
816
1596
|
- regex: 'Oregano(?:[ /](\d+[\.\d]+))?'
|
|
817
1597
|
name: 'Oregano'
|
|
@@ -883,28 +1663,16 @@
|
|
|
883
1663
|
name: 'Xiino'
|
|
884
1664
|
version: '$1'
|
|
885
1665
|
|
|
886
|
-
#Nokia Browser
|
|
887
|
-
- regex: '(?:NokiaBrowser|BrowserNG)(?:/(\d+[\.\d]+))?'
|
|
888
|
-
name: 'Nokia Browser'
|
|
889
|
-
version: '$1'
|
|
890
|
-
- regex: 'Series60/5\.0'
|
|
891
|
-
name: 'Nokia Browser'
|
|
892
|
-
version: '7.0'
|
|
893
|
-
- regex: 'Series60/(\d+[\.\d]+)'
|
|
894
|
-
name: 'Nokia OSS Browser'
|
|
895
|
-
version: '$1'
|
|
896
|
-
- regex: 'S40OviBrowser/(\d+[\.\d]+)'
|
|
897
|
-
name: 'Nokia Ovi Browser'
|
|
898
|
-
version: '$1'
|
|
899
|
-
- regex: '^Nokia|Nokia[EN]?\d+'
|
|
900
|
-
name: 'Nokia Browser'
|
|
901
|
-
version: ''
|
|
902
|
-
|
|
903
1666
|
#BlackBerry Browser
|
|
904
1667
|
- regex: 'BlackBerry|PlayBook|BB10'
|
|
905
1668
|
name: 'BlackBerry Browser'
|
|
906
1669
|
version: ''
|
|
907
1670
|
|
|
1671
|
+
#BriskBard
|
|
1672
|
+
- regex: 'BriskBard(?:/(\d+[\.\d]+))?'
|
|
1673
|
+
name: 'BriskBard'
|
|
1674
|
+
version: '$1'
|
|
1675
|
+
|
|
908
1676
|
#Android Browser
|
|
909
1677
|
- regex: 'Android'
|
|
910
1678
|
name: 'Android Browser'
|
|
@@ -912,13 +1680,30 @@
|
|
|
912
1680
|
engine:
|
|
913
1681
|
default: 'WebKit'
|
|
914
1682
|
|
|
1683
|
+
#Coast
|
|
1684
|
+
- regex: 'Coast(?:/(\d+[\.\d]+))?'
|
|
1685
|
+
name: 'Coast'
|
|
1686
|
+
version: '$1'
|
|
1687
|
+
|
|
1688
|
+
#Qutebrowser
|
|
1689
|
+
- regex: 'qutebrowser(?:/(\d+[\.\d]+))?'
|
|
1690
|
+
name: 'Qutebrowser'
|
|
1691
|
+
version: '$1'
|
|
1692
|
+
|
|
1693
|
+
# surf (https://surf.suckless.org/)
|
|
1694
|
+
- regex: 'Surf(?:/(\d+[\.\d]+))?'
|
|
1695
|
+
name: 'surf'
|
|
1696
|
+
version: '$1'
|
|
1697
|
+
engine:
|
|
1698
|
+
default: 'WebKit'
|
|
1699
|
+
|
|
915
1700
|
#Safari
|
|
916
1701
|
- regex: '(?:(?:iPod|iPad|iPhone).+Version|MobileSafari)/(\d+[\.\d]+)'
|
|
917
1702
|
name: 'Mobile Safari'
|
|
918
1703
|
version: '$1'
|
|
919
1704
|
engine:
|
|
920
1705
|
default: 'WebKit'
|
|
921
|
-
- regex: 'Version/(\d+[\.\d]+).*Mobile.*Safari/'
|
|
1706
|
+
- regex: '(?:Version/(\d+[\.\d]+).*)?Mobile.*Safari/'
|
|
922
1707
|
name: 'Mobile Safari'
|
|
923
1708
|
version: '$1'
|
|
924
1709
|
engine:
|
|
@@ -933,3 +1718,38 @@
|
|
|
933
1718
|
version: '$1'
|
|
934
1719
|
engine:
|
|
935
1720
|
default: 'WebKit'
|
|
1721
|
+
|
|
1722
|
+
#Dorado
|
|
1723
|
+
- regex: 'Dorado WAP-Browser[/ ](\d+[\.\d]+)'
|
|
1724
|
+
name: 'Dorado'
|
|
1725
|
+
version: '$1'
|
|
1726
|
+
|
|
1727
|
+
#NetSurf
|
|
1728
|
+
- regex: 'NetSurf(?:/(\d+[\.\d]+))?'
|
|
1729
|
+
name: 'NetSurf'
|
|
1730
|
+
version: '$1'
|
|
1731
|
+
engine:
|
|
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
|
+
|