device_detector 1.0.4 → 1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/README.md +8 -7
- data/lib/device_detector/browser.rb +364 -0
- data/lib/device_detector/client.rb +8 -0
- data/lib/device_detector/device.rb +1204 -2
- data/lib/device_detector/os.rb +39 -12
- data/lib/device_detector/parser.rb +1 -1
- data/lib/device_detector/version.rb +1 -1
- data/lib/device_detector/version_extractor.rb +28 -0
- data/lib/device_detector.rb +57 -13
- data/regexes/bots.yml +651 -61
- data/regexes/client/browser_engine.yml +7 -1
- data/regexes/client/browsers.yml +774 -78
- data/regexes/client/feed_readers.yml +4 -10
- data/regexes/client/libraries.yml +71 -2
- data/regexes/client/mediaplayers.yml +25 -1
- data/regexes/client/mobile_apps.yml +923 -73
- data/regexes/client/pim.yml +65 -2
- data/regexes/device/cameras.yml +5 -5
- data/regexes/device/car_browsers.yml +16 -0
- data/regexes/device/consoles.yml +13 -1
- data/regexes/device/mobiles.yml +17029 -3889
- data/regexes/device/notebooks.yml +114 -0
- data/regexes/device/portable_media_player.yml +36 -9
- data/regexes/device/shell_tv.yml +117 -0
- data/regexes/device/televisions.yml +439 -34
- data/regexes/oss.yml +620 -284
- metadata +9 -131
- data/.gitignore +0 -14
- data/.rubocop.yml +0 -49
- data/.ruby-version +0 -1
- data/.travis.yml +0 -14
- data/Gemfile +0 -8
- data/Rakefile +0 -85
- data/device_detector.gemspec +0 -27
- data/spec/device_detector/bot_fixtures_spec.rb +0 -30
- data/spec/device_detector/client_fixtures_spec.rb +0 -31
- data/spec/device_detector/concrete_user_agent_spec.rb +0 -135
- data/spec/device_detector/detector_fixtures_spec.rb +0 -100
- data/spec/device_detector/device_fixtures_spec.rb +0 -36
- data/spec/device_detector/device_spec.rb +0 -131
- data/spec/device_detector/memory_cache_spec.rb +0 -148
- data/spec/device_detector/model_extractor_spec.rb +0 -63
- data/spec/device_detector/os_fixtures_spec.rb +0 -26
- data/spec/device_detector/version_extractor_spec.rb +0 -79
- data/spec/device_detector_spec.rb +0 -189
- data/spec/fixtures/client/browser.yml +0 -2836
- data/spec/fixtures/client/feed_reader.yml +0 -199
- data/spec/fixtures/client/library.yml +0 -193
- data/spec/fixtures/client/mediaplayer.yml +0 -163
- data/spec/fixtures/client/mobile_app.yml +0 -217
- data/spec/fixtures/client/pim.yml +0 -115
- data/spec/fixtures/detector/bots.yml +0 -3726
- data/spec/fixtures/detector/camera.yml +0 -141
- data/spec/fixtures/detector/car_browser.yml +0 -81
- data/spec/fixtures/detector/console.yml +0 -321
- data/spec/fixtures/detector/desktop.yml +0 -5461
- data/spec/fixtures/detector/feature_phone.yml +0 -891
- data/spec/fixtures/detector/feed_reader.yml +0 -551
- data/spec/fixtures/detector/mediaplayer.yml +0 -253
- data/spec/fixtures/detector/mobile_apps.yml +0 -494
- data/spec/fixtures/detector/phablet.yml +0 -4167
- data/spec/fixtures/detector/portable_media_player.yml +0 -178
- data/spec/fixtures/detector/smart_display.yml +0 -61
- data/spec/fixtures/detector/smart_speaker.yml +0 -55
- data/spec/fixtures/detector/smartphone-1.yml +0 -9927
- data/spec/fixtures/detector/smartphone-10.yml +0 -9977
- data/spec/fixtures/detector/smartphone-11.yml +0 -9891
- data/spec/fixtures/detector/smartphone-12.yml +0 -9906
- data/spec/fixtures/detector/smartphone-13.yml +0 -9920
- data/spec/fixtures/detector/smartphone-14.yml +0 -2662
- data/spec/fixtures/detector/smartphone-2.yml +0 -9992
- data/spec/fixtures/detector/smartphone-3.yml +0 -9945
- data/spec/fixtures/detector/smartphone-4.yml +0 -9923
- data/spec/fixtures/detector/smartphone-5.yml +0 -9914
- data/spec/fixtures/detector/smartphone-6.yml +0 -9962
- data/spec/fixtures/detector/smartphone-7.yml +0 -9899
- data/spec/fixtures/detector/smartphone-8.yml +0 -9931
- data/spec/fixtures/detector/smartphone-9.yml +0 -9899
- data/spec/fixtures/detector/smartphone.yml +0 -9984
- data/spec/fixtures/detector/tablet-1.yml +0 -9995
- data/spec/fixtures/detector/tablet-2.yml +0 -9977
- data/spec/fixtures/detector/tablet-3.yml +0 -9959
- data/spec/fixtures/detector/tablet-4.yml +0 -4528
- data/spec/fixtures/detector/tablet.yml +0 -9971
- data/spec/fixtures/detector/tv.yml +0 -4933
- data/spec/fixtures/detector/unknown.yml +0 -3236
- data/spec/fixtures/detector/wearable.yml +0 -61
- data/spec/fixtures/device/camera.yml +0 -19
- data/spec/fixtures/device/car_browser.yml +0 -13
- data/spec/fixtures/device/console.yml +0 -79
- data/spec/fixtures/parser/oss.yml +0 -1082
- data/spec/fixtures/parser/vendorfragments.yml +0 -168
- data/spec/spec_helper.rb +0 -9
data/regexes/client/browsers.yml
CHANGED
@@ -5,6 +5,496 @@
|
|
5
5
|
# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
|
6
6
|
###############
|
7
7
|
|
8
|
+
# T+Browser (https://t.chanjet.com/tplus/view/login/downloadBrowser.html | https://dad.chanapp.chanjet.com/tplusapp/TPlusBrowser.exe)
|
9
|
+
- regex: 'T\+Browser/(\d+[\.\d]+)'
|
10
|
+
name: 'T+Browser'
|
11
|
+
version: '$1'
|
12
|
+
engine:
|
13
|
+
default: 'Blink'
|
14
|
+
|
15
|
+
# ChanjetCloud (https://dad.chanapp.chanjet.com/tplusapp/HsySetup.exe)
|
16
|
+
- regex: 'ChanjetCloud/(\d+[\.\d]+)'
|
17
|
+
name: 'ChanjetCloud'
|
18
|
+
version: '$1'
|
19
|
+
engine:
|
20
|
+
default: 'Blink'
|
21
|
+
|
22
|
+
# Sushi Browser (https://sushi-browser.com/)
|
23
|
+
- regex: 'SushiBrowser/(\d+[\.\d]+)'
|
24
|
+
name: 'Sushi Browser'
|
25
|
+
version: '$1'
|
26
|
+
engine:
|
27
|
+
default: 'Blink'
|
28
|
+
|
29
|
+
# Peeps dBrowser (https://peepsx.com/dbrowser.html)
|
30
|
+
- regex: 'dBrowser/(\d+[\.\d]+)'
|
31
|
+
name: 'Peeps dBrowser'
|
32
|
+
version: '$1'
|
33
|
+
engine:
|
34
|
+
default: 'Blink'
|
35
|
+
|
36
|
+
# LT Browser (https://www.lambdatest.com/lt-browser)
|
37
|
+
- regex: 'LTBrowser/(\d+[\.\d]+)'
|
38
|
+
name: 'LT Browser'
|
39
|
+
version: '$1'
|
40
|
+
engine:
|
41
|
+
default: 'Blink'
|
42
|
+
|
43
|
+
# Lagatos Browser (https://lagatos.com/)
|
44
|
+
- regex: 'lagatos-browser/(\d+[\.\d]+)'
|
45
|
+
name: 'Lagatos Browser'
|
46
|
+
version: '$1'
|
47
|
+
engine:
|
48
|
+
default: 'Blink'
|
49
|
+
|
50
|
+
# PSI Secure Browser (https://tca.psiexams.com/portal/testdelivery/sb_rpnow_download.jsp?)
|
51
|
+
- regex: 'psi-secure-browser/(\d+[\.\d]+)'
|
52
|
+
name: 'PSI Secure Browser'
|
53
|
+
version: '$1'
|
54
|
+
engine:
|
55
|
+
default: 'Blink'
|
56
|
+
|
57
|
+
# Harman Browser (https://www.harman.com/)
|
58
|
+
- regex: 'Harman_Browser/(\d+[\.\d]+)'
|
59
|
+
name: 'Harman Browser'
|
60
|
+
version: '$1'
|
61
|
+
engine:
|
62
|
+
default: 'Blink'
|
63
|
+
|
64
|
+
# Bonsai (https://bonsaibrowser.com/)
|
65
|
+
- regex: 'bonsai-browser/(\d+[\.\d]+)'
|
66
|
+
name: 'Bonsai'
|
67
|
+
version: '$1'
|
68
|
+
engine:
|
69
|
+
default: 'Blink'
|
70
|
+
|
71
|
+
# Spectre Browser (https://spectrebots.com/products/spectre-desktop-browser)
|
72
|
+
- regex: 'spectre-browser/(\d+[\.\d]+)'
|
73
|
+
name: 'Spectre Browser'
|
74
|
+
version: '$1'
|
75
|
+
engine:
|
76
|
+
default: 'Blink'
|
77
|
+
|
78
|
+
# Flash Browser (https://github.com/asteroid-dev/FlashBrowser or https://github.com/radubirsan/FlashBrowser)
|
79
|
+
- regex: 'FlashBrowser/(\d+[\.\d]+)'
|
80
|
+
name: 'Flash Browser'
|
81
|
+
version: '$1'
|
82
|
+
engine:
|
83
|
+
default: 'Blink'
|
84
|
+
|
85
|
+
# Secure Browser (https://safertechnologies.io/)
|
86
|
+
- regex: 'Secure/(?:(\d+[\.\d]+))?'
|
87
|
+
name: 'Secure Browser'
|
88
|
+
version: '$1'
|
89
|
+
engine:
|
90
|
+
default: 'Blink'
|
91
|
+
|
92
|
+
# Arvin (https://play.google.com/store/apps/details?id=com.browser.arvin.anti.blokir&hl=sv&gl=US)
|
93
|
+
- regex: 'Arvin/(\d+[\.\d]+)'
|
94
|
+
name: 'Arvin'
|
95
|
+
version: '$1'
|
96
|
+
engine:
|
97
|
+
default: 'Blink'
|
98
|
+
|
99
|
+
# Edge Webview (https://docs.microsoft.com/en-us/microsoft-edge/webview2/)
|
100
|
+
- regex: 'Version/.+Chrome/.+EdgW/(\d+[\.\d]+)'
|
101
|
+
name: 'Edge WebView'
|
102
|
+
version: '$1'
|
103
|
+
engine:
|
104
|
+
default: 'WebKit'
|
105
|
+
|
106
|
+
# Mandarin (https://mandarin-browser.com/)
|
107
|
+
- regex: 'Mandarin Browser/(\d+[\.\d]+)'
|
108
|
+
name: 'Mandarin'
|
109
|
+
version: '$1'
|
110
|
+
engine:
|
111
|
+
default: 'Blink'
|
112
|
+
|
113
|
+
# Maelstrom (https://www.bittorrent.com/)
|
114
|
+
- regex: 'Torrent/(\d+[\.\d]+)'
|
115
|
+
name: 'Maelstrom'
|
116
|
+
version: '$1'
|
117
|
+
engine:
|
118
|
+
default: 'Blink'
|
119
|
+
|
120
|
+
# Helio (https://developer.magicleap.com/en-us/learn/guides/lumin-os-release-notes-summary)
|
121
|
+
- regex: 'Helio/(\d+[\.\d]+)'
|
122
|
+
name: 'Helio'
|
123
|
+
version: '$1'
|
124
|
+
engine:
|
125
|
+
default: 'Blink'
|
126
|
+
|
127
|
+
# 7654 Browser (http://7654browser.shzhanmeng.com/)
|
128
|
+
- regex: '7654Browser/(\d+[\.\d]+)'
|
129
|
+
name: '7654 Browser'
|
130
|
+
version: '$1'
|
131
|
+
engine:
|
132
|
+
default: 'Blink'
|
133
|
+
|
134
|
+
# Qazweb (http://www.qazweb.com/)
|
135
|
+
- regex: 'Qazweb/(\d+[\.\d]+)'
|
136
|
+
name: 'Qazweb'
|
137
|
+
version: '$1'
|
138
|
+
engine:
|
139
|
+
default: 'Gecko'
|
140
|
+
|
141
|
+
# deg-degan (https://degdegan.com/)
|
142
|
+
- regex: 'Degdegan/(\d+[\.\d]+)'
|
143
|
+
name: 'deg-degan'
|
144
|
+
version: '$1'
|
145
|
+
engine:
|
146
|
+
default: 'Blink'
|
147
|
+
|
148
|
+
# JavaFX (https://docs.oracle.com/javase/8/javafx/embedded-browser-tutorial/overview.htm)
|
149
|
+
- regex: 'JavaFX/(\d+[\.\d]+)'
|
150
|
+
name: 'JavaFX'
|
151
|
+
version: '$1'
|
152
|
+
engine:
|
153
|
+
default: 'WebKit'
|
154
|
+
|
155
|
+
# Chedot (https://landing.chedot.com/)
|
156
|
+
- regex: 'Chedot/(\d+[\.\d]+)'
|
157
|
+
name: 'Chedot'
|
158
|
+
version: '$1'
|
159
|
+
engine:
|
160
|
+
default: 'Blink'
|
161
|
+
|
162
|
+
# Chromium GOST (https://github.com/deemru/chromium-gost)
|
163
|
+
- regex: 'Chrome/(\d+[\.\d]+) \(Chromium GOST\)'
|
164
|
+
name: 'Chromium GOST'
|
165
|
+
version: '$1'
|
166
|
+
engine:
|
167
|
+
default: 'Blink'
|
168
|
+
|
169
|
+
# Deledao (https://www.deledao.com/)
|
170
|
+
- regex: '(?:DeledaoPersonal|DeledaoFamily)/(\d+[\.\d]+)'
|
171
|
+
name: 'Deledao'
|
172
|
+
version: '$1'
|
173
|
+
engine:
|
174
|
+
default: 'Blink'
|
175
|
+
|
176
|
+
# HasBrowser (https://browser.hascoding.com)
|
177
|
+
- regex: 'HasBrowser/(\d+[\.\d]+)'
|
178
|
+
name: 'HasBrowser'
|
179
|
+
version: '$1'
|
180
|
+
engine:
|
181
|
+
default: 'Blink'
|
182
|
+
|
183
|
+
# Byffox (https://byffox.sourceforge.io/index.php)
|
184
|
+
- regex: 'Byffox/(\d+[\.\d]+)'
|
185
|
+
name: 'Byffox'
|
186
|
+
version: '$1'
|
187
|
+
engine:
|
188
|
+
default: 'Gecko'
|
189
|
+
|
190
|
+
# CoolBrowser (https://play.google.com/store/apps/details?id=com.easybrowser.browser.coolbrowser)
|
191
|
+
- regex: 'Chrome/(\d+[\.\d]+).+AgentWeb.+UCBrowser'
|
192
|
+
name: 'CoolBrowser'
|
193
|
+
version: '$1'
|
194
|
+
engine:
|
195
|
+
default: 'Blink'
|
196
|
+
|
197
|
+
# Dot Browser (https://dothq.co/)
|
198
|
+
- regex: 'DotBrowser/(\d+[\.\d]+)'
|
199
|
+
name: 'Dot Browser'
|
200
|
+
version: '$1'
|
201
|
+
engine:
|
202
|
+
default: 'Blink'
|
203
|
+
|
204
|
+
# Craving Explorer (https://www.crav-ing.com/)
|
205
|
+
- regex: 'CravingExplorer/(\d+[\.\d]+)'
|
206
|
+
name: 'Craving Explorer'
|
207
|
+
version: '$1'
|
208
|
+
engine:
|
209
|
+
default: 'Blink'
|
210
|
+
|
211
|
+
# DeskBrowse (https://web.archive.org/web/20170614060014/http://deskbrowse.org/)
|
212
|
+
- regex: 'DeskBrowse/(\d+[\.\d]+)'
|
213
|
+
name: 'DeskBrowse'
|
214
|
+
version: '$1'
|
215
|
+
|
216
|
+
# Lolifox
|
217
|
+
- regex: 'Lolifox/(\d+[\.\d]+)'
|
218
|
+
name: 'Lolifox'
|
219
|
+
version: '$1'
|
220
|
+
|
221
|
+
# Qutebrowser (https://qutebrowser.org/)
|
222
|
+
- regex: 'qutebrowser/(\d+[\.\d]+).+Chrome'
|
223
|
+
name: 'Qutebrowser'
|
224
|
+
version: '$1'
|
225
|
+
engine:
|
226
|
+
default: 'Blink'
|
227
|
+
- regex: 'qutebrowser(?:/(\d+[\.\d]+))?'
|
228
|
+
name: 'Qutebrowser'
|
229
|
+
version: '$1'
|
230
|
+
|
231
|
+
# Flast (https://github.com/FascodeNet/Flast)
|
232
|
+
- regex: 'flast/(\d+[\.\d]+)'
|
233
|
+
name: 'Flast'
|
234
|
+
version: '$1'
|
235
|
+
engine:
|
236
|
+
default: 'Blink'
|
237
|
+
|
238
|
+
# PolyBrowser (https://github.com/PolySuite/PolyBrowser)
|
239
|
+
- regex: 'PolyBrowser/(\d+[\.\d]+)'
|
240
|
+
name: 'PolyBrowser'
|
241
|
+
version: '$1'
|
242
|
+
engine:
|
243
|
+
default: 'Gecko'
|
244
|
+
|
245
|
+
# BriskBard (https://www.briskbard.com/)
|
246
|
+
- regex: 'Chrome.+BriskBard/(\d+[\.\d]+)'
|
247
|
+
name: 'BriskBard'
|
248
|
+
version: '$1'
|
249
|
+
engine:
|
250
|
+
default: 'Blink'
|
251
|
+
- regex: 'BriskBard(?:/(\d+[\.\d]+))?'
|
252
|
+
name: 'BriskBard'
|
253
|
+
version: '$1'
|
254
|
+
|
255
|
+
# GinxDroid Browser (https://play.google.com/store/apps/details?id=ginxdroid.gdm)
|
256
|
+
- regex: 'GinxDroidBrowser/(\d+[\.\d]+)'
|
257
|
+
name: 'GinxDroid Browser'
|
258
|
+
version: '$1'
|
259
|
+
engine:
|
260
|
+
default: 'Blink'
|
261
|
+
|
262
|
+
# Avira Scout (http://www.avira.com/en/avira-scout)
|
263
|
+
- regex: 'AviraScout/(\d+[\.\d]+)'
|
264
|
+
name: 'Avira Scout'
|
265
|
+
version: '$1'
|
266
|
+
engine:
|
267
|
+
default: 'Blink'
|
268
|
+
|
269
|
+
# Venus Browser (https://play.google.com/store/apps/details?id=com.venus.browser)
|
270
|
+
- regex: 'VenusBrowser/(\d+[\.\d]+)'
|
271
|
+
name: 'Venus Browser'
|
272
|
+
version: '$1'
|
273
|
+
engine:
|
274
|
+
default: 'Blink'
|
275
|
+
|
276
|
+
# Otter Browser (https://github.com/OtterBrowser/otter-browser)
|
277
|
+
- regex: 'Chrome.+Otter(?:[ /](\d+[\.\d]+))?'
|
278
|
+
name: 'Otter Browser'
|
279
|
+
version: '$1'
|
280
|
+
engine:
|
281
|
+
default: 'Blink'
|
282
|
+
- regex: 'Otter(?:[ /](\d+[\.\d]+))?'
|
283
|
+
name: 'Otter Browser'
|
284
|
+
version: '$1'
|
285
|
+
|
286
|
+
# Smooz (https://smoozapp.com/)
|
287
|
+
- regex: 'Chrome.+Smooz/(\d+[\.\d]+)'
|
288
|
+
name: 'Smooz'
|
289
|
+
version: '$1'
|
290
|
+
engine:
|
291
|
+
default: 'Blink'
|
292
|
+
- regex: 'Smooz/(\d+[\.\d]+)'
|
293
|
+
name: 'Smooz'
|
294
|
+
version: '$1'
|
295
|
+
|
296
|
+
# Cornowser (https://github.com/xdevs23/Cornowser)
|
297
|
+
- regex: 'Cornowser/(\d+[\.\d]+)'
|
298
|
+
name: 'Cornowser'
|
299
|
+
version: '$1'
|
300
|
+
engine:
|
301
|
+
default: 'Blink'
|
302
|
+
|
303
|
+
# Orca (http://www.orcabrowser.com)
|
304
|
+
- regex: 'Orca/(\d+[\.\d]+)'
|
305
|
+
name: 'Orca'
|
306
|
+
version: '$1'
|
307
|
+
|
308
|
+
# Flow (https://www.ekioh.com/)
|
309
|
+
- regex: 'Flow/(?:(\d+[\.\d]+))'
|
310
|
+
name: 'Flow'
|
311
|
+
version: '$1'
|
312
|
+
engine:
|
313
|
+
default: 'EkiohFlow'
|
314
|
+
- regex: 'Ekioh/(?:(\d+[\.\d]+))'
|
315
|
+
name: 'Flow'
|
316
|
+
version: '$1'
|
317
|
+
engine:
|
318
|
+
default: 'EkiohFlow'
|
319
|
+
|
320
|
+
# xStand (https://www.adnx.com/)
|
321
|
+
- regex: 'xStand/(\d+[\.\d]+)'
|
322
|
+
name: 'xStand'
|
323
|
+
version: '$1'
|
324
|
+
engine:
|
325
|
+
default: 'WebKit'
|
326
|
+
|
327
|
+
# Biyubi (http://www.biyubi.com/)
|
328
|
+
- regex: 'Biyubi/(\d+[\.\d]+)'
|
329
|
+
name: 'Biyubi'
|
330
|
+
version: '$1'
|
331
|
+
|
332
|
+
# Perfect Browser (http://www.perfectbrowser.com/)
|
333
|
+
- regex: '(?:Perfect%20Browser(?:-iPad)?|Perfect(?:BrowserPro)?)/(\d+[\.\d]+)'
|
334
|
+
name: 'Perfect Browser'
|
335
|
+
version: '$1'
|
336
|
+
engine:
|
337
|
+
default: 'WebKit'
|
338
|
+
|
339
|
+
# Phantom Browser (https://www.lg.com/)
|
340
|
+
- regex: 'Browser/Phantom/V(\d+[\.\d]+)'
|
341
|
+
name: 'Phantom Browser'
|
342
|
+
version: '$1'
|
343
|
+
|
344
|
+
# AwoX (https://www.awox.com.tr/)
|
345
|
+
- regex: 'AwoX(?:/(\d+[\.\d]+))? Browser'
|
346
|
+
name: 'AwoX'
|
347
|
+
version: '$1'
|
348
|
+
|
349
|
+
# Zetakey (https://www.zetakey.com/)
|
350
|
+
- regex: 'Zetakey/(\d+[\.\d]+)'
|
351
|
+
name: 'Zetakey'
|
352
|
+
version: '$1'
|
353
|
+
engine:
|
354
|
+
default: 'WebKit'
|
355
|
+
|
356
|
+
# PlayFree Browser
|
357
|
+
- regex: 'PlayFreeBrowser/(?:(\d+[\.\d]+))?'
|
358
|
+
name: 'PlayFree Browser'
|
359
|
+
version: '$1'
|
360
|
+
|
361
|
+
# Chim Lac (https://chimlac.com.vn/)
|
362
|
+
- regex: '(?:chimlac_browser|chimlac)/(?:(\d+[\.\d]+))'
|
363
|
+
name: 'Chim Lac'
|
364
|
+
version: '$1'
|
365
|
+
engine:
|
366
|
+
default: 'Blink'
|
367
|
+
|
368
|
+
# Odin (https://www.hisense.com/)
|
369
|
+
- regex: 'Odin/(?:(\d+[\.\d]+))'
|
370
|
+
name: 'Odin'
|
371
|
+
version: '$1'
|
372
|
+
engine:
|
373
|
+
default: 'Blink'
|
374
|
+
|
375
|
+
# T-Browser (https://play.google.com/store/apps/details?id=com.tcl.browser)
|
376
|
+
- regex: 'Tbrowser/(\d+[\.\d]+)'
|
377
|
+
name: 'T-Browser'
|
378
|
+
version: '$1'
|
379
|
+
engine:
|
380
|
+
default: 'Blink'
|
381
|
+
|
382
|
+
# SFive (https://sfive.vn/)
|
383
|
+
- regex: 'SFive(?:_Android)?/.+ Chrome/(\d+[\.\d]+)'
|
384
|
+
name: 'SFive'
|
385
|
+
version: '$1'
|
386
|
+
engine:
|
387
|
+
default: 'Blink'
|
388
|
+
- regex: 'SFive_IOS/(\d+[\.\d]+)'
|
389
|
+
name: 'SFive'
|
390
|
+
version: '$1'
|
391
|
+
|
392
|
+
# Navigateur Web
|
393
|
+
- regex: 'Navigateur web/(?:(\d+[\.\d]+))?'
|
394
|
+
name: 'Navigateur Web'
|
395
|
+
version: '$1'
|
396
|
+
|
397
|
+
#Seraphic Sraf (https://www.seraphic-corp.com/)
|
398
|
+
- regex: 'Sraf(?:[/ ](\d+[\.\d]+))?'
|
399
|
+
name: 'Seraphic Sraf'
|
400
|
+
version: '$1'
|
401
|
+
engine:
|
402
|
+
default: 'Blink'
|
403
|
+
|
404
|
+
# Seewo Browser (http://e.seewo.com/)
|
405
|
+
- regex: 'SeewoBrowser/(?:(\d+[\.\d]+))?'
|
406
|
+
name: 'Seewo Browser'
|
407
|
+
version: '$1'
|
408
|
+
engine:
|
409
|
+
default: 'Blink'
|
410
|
+
|
411
|
+
# Kode Browser (https://www.kodebrowser.com/ | https://play.google.com/store/apps/details?id=com.app.downloadmanager | https://apps.apple.com/us/app/kode-browser-fast-private/id625458492)
|
412
|
+
- regex: '(?:Kode(?:iOS)?/(?:(\d+[\.\d]+))?|TansoDL)'
|
413
|
+
name: 'Kode Browser'
|
414
|
+
version: '$1'
|
415
|
+
|
416
|
+
# UR Browser (https://www.ur-browser.com/)
|
417
|
+
- regex: 'UR/(?:(\d+[\.\d]+))'
|
418
|
+
name: 'UR Browser'
|
419
|
+
version: '$1'
|
420
|
+
engine:
|
421
|
+
default: 'Blink'
|
422
|
+
|
423
|
+
# OceanHero (https://oceanhero.today)
|
424
|
+
- regex: 'OceanHero/([\.\d]+)'
|
425
|
+
name: 'OceanHero'
|
426
|
+
version: '$1'
|
427
|
+
engine:
|
428
|
+
default: 'Blink'
|
429
|
+
|
430
|
+
# Smart Lenovo Browser (https://www.lenovo.com.cn/)
|
431
|
+
- regex: 'Chrome/.+ SLBrowser/(?:(\d+[\.\d]+))?'
|
432
|
+
name: 'Smart Lenovo Browser'
|
433
|
+
version: '$1'
|
434
|
+
engine:
|
435
|
+
default: 'Blink'
|
436
|
+
- regex: 'SLBrowser/(?:(\d+[\.\d]+))?'
|
437
|
+
name: 'Smart Lenovo Browser'
|
438
|
+
version: '$1'
|
439
|
+
|
440
|
+
# Browzar (https://www.browzar.com/)
|
441
|
+
- regex: 'Browzar'
|
442
|
+
name: 'Browzar'
|
443
|
+
version: ''
|
444
|
+
|
445
|
+
# Stargon (http://www.stargon.org/ | https://play.google.com/store/apps/details?id=net.onecook.browser)
|
446
|
+
- regex: 'Stargon/(?:(\d+[\.\d]+))?'
|
447
|
+
name: 'Stargon'
|
448
|
+
version: '$1'
|
449
|
+
engine:
|
450
|
+
default: 'Blink'
|
451
|
+
|
452
|
+
# NFS Browser (https://github.com/nfschina/nfs-browser)
|
453
|
+
- regex: 'NFSBrowser/(?:(\d+[\.\d]+))?'
|
454
|
+
name: 'NFS Browser'
|
455
|
+
version: '$1'
|
456
|
+
engine:
|
457
|
+
default: 'Blink'
|
458
|
+
|
459
|
+
# Borealis Navigator (https://binaryoutcast.com/projects/borealis/)
|
460
|
+
- regex: 'Borealis/(\d+[\.\d]+)'
|
461
|
+
name: 'Borealis Navigator'
|
462
|
+
version: '$1'
|
463
|
+
|
464
|
+
# Yolo Browser
|
465
|
+
- regex: 'YoloBrowser/(?:(\d+[\.\d]+))?'
|
466
|
+
name: 'Yolo Browser'
|
467
|
+
version: '$1'
|
468
|
+
engine:
|
469
|
+
default: 'Blink'
|
470
|
+
|
471
|
+
# Phoenix Browser (http://phoenix-browser.com/ | https://play.google.com/store/apps/details?id=com.transsion.phoenix)
|
472
|
+
- regex: 'PHX/(?:(\d+[\.\d]+))?'
|
473
|
+
name: 'Phoenix Browser'
|
474
|
+
version: '$1'
|
475
|
+
|
476
|
+
# PrivacyWall (https://play.google.com/store/apps/details?id=org.privacywall.browser)
|
477
|
+
- regex: 'PrivacyWall/(?:(\d+[\.\d]+))?'
|
478
|
+
name: 'PrivacyWall'
|
479
|
+
version: '$1'
|
480
|
+
|
481
|
+
# Ghostery Privacy Browser (https://play.google.com/store/apps/details?id=com.ghostery.android.ghostery | https://apps.apple.com/us/app/ghostery-privacy-browser/id472789016)
|
482
|
+
- regex: 'Ghostery:?(\d+[\.\d]+)?'
|
483
|
+
name: 'Ghostery Privacy Browser'
|
484
|
+
version: '$1'
|
485
|
+
|
486
|
+
# Yaani Browser
|
487
|
+
- regex: 'Firefox/.*(?:Turkcell-)?YaaniBrowser(?:/(\d+[\.\d]+))?'
|
488
|
+
name: 'Yaani Browser'
|
489
|
+
version: '$1'
|
490
|
+
engine:
|
491
|
+
default: 'Gecko'
|
492
|
+
- regex: '(?:Turkcell-)?YaaniBrowser(?:/(\d+[\.\d]+))?'
|
493
|
+
name: 'Yaani Browser'
|
494
|
+
version: '$1'
|
495
|
+
engine:
|
496
|
+
default: 'Blink'
|
497
|
+
|
8
498
|
# Safe Exam Browser (https://safeexambrowser.org/)
|
9
499
|
- regex: 'SEB/(?:(\d+[\.\d]+))?'
|
10
500
|
name: 'Safe Exam Browser'
|
@@ -36,10 +526,22 @@
|
|
36
526
|
version: '$1'
|
37
527
|
|
38
528
|
# Lunascape Lite (https://www.lunascape.tv/)
|
39
|
-
- regex: 'iLunascapeLite/(?:(\d
|
529
|
+
- regex: 'iLunascapeLite/(?:(\d+\.[.\d]+))?'
|
40
530
|
name: 'Lunascape Lite'
|
41
531
|
version: '$1'
|
42
532
|
|
533
|
+
# Lunascape
|
534
|
+
- regex: 'Chrome/.+ i?Lunascape(?:[/ ](\d+\.[.\d]+))?'
|
535
|
+
name: 'Lunascape'
|
536
|
+
version: '$1'
|
537
|
+
engine:
|
538
|
+
default: 'Blink'
|
539
|
+
- regex: 'i?Lunascape(?:[/ ](\d+\.[.\d]+))?'
|
540
|
+
name: 'Lunascape'
|
541
|
+
version: '$1'
|
542
|
+
engine:
|
543
|
+
default: '' # multi engine
|
544
|
+
|
43
545
|
# Polypane (https://polypane.app/)
|
44
546
|
- regex: 'Polypane/(?:(\d+[\.\d]+))?'
|
45
547
|
name: 'Polypane'
|
@@ -139,6 +641,8 @@
|
|
139
641
|
- regex: 'AlohaLite(?:/(\d+[\.\d]+))?'
|
140
642
|
name: 'Aloha Browser Lite'
|
141
643
|
version: '$1'
|
644
|
+
engine:
|
645
|
+
default: 'Blink'
|
142
646
|
|
143
647
|
# Tao Browser (https://browser.taobao.com/)
|
144
648
|
- regex: 'TaoBrowser(?:/(\d+[\.\d]+))?'
|
@@ -189,6 +693,10 @@
|
|
189
693
|
- regex: 'Beamrise(?:/(\d+[\.\d]+))?'
|
190
694
|
name: 'Beamrise'
|
191
695
|
version: '$1'
|
696
|
+
engine:
|
697
|
+
default: 'WebKit'
|
698
|
+
versions:
|
699
|
+
28: 'Blink'
|
192
700
|
|
193
701
|
# Faux Browser (https://apps.apple.com/us/app/faux-browser/id472250940)
|
194
702
|
- regex: 'Faux(?:/(\d+[\.\d]+))?'
|
@@ -222,6 +730,13 @@
|
|
222
730
|
engine:
|
223
731
|
default: 'Blink'
|
224
732
|
|
733
|
+
# Hawk Quick Browser
|
734
|
+
- regex: 'Hawk/QuickBrowser(?:/v?(\d+[\.\d]+))?'
|
735
|
+
name: 'Hawk Quick Browser'
|
736
|
+
version: '$1'
|
737
|
+
engine:
|
738
|
+
default: 'Blink'
|
739
|
+
|
225
740
|
# FreeU (https://freeu.online/)
|
226
741
|
- regex: 'FreeU(?:/(\d+[\.\d]+))?'
|
227
742
|
name: 'FreeU'
|
@@ -263,23 +778,60 @@
|
|
263
778
|
version: '$1'
|
264
779
|
|
265
780
|
# Jio Browser (https://play.google.com/store/apps/details?id=com.jio.web)
|
266
|
-
- regex: '
|
781
|
+
- regex: 'Jio(?:Browser|Pages)(?:/(\d+[\.\d]+))?'
|
267
782
|
name: 'Jio Browser'
|
268
783
|
version: '$1'
|
269
784
|
engine:
|
270
785
|
default: 'Blink'
|
271
786
|
|
787
|
+
# https://play.google.com/store/apps/details?id=app.stampy.browser
|
788
|
+
- regex: 'SY/(\d+[\.\d]+) Chrome/'
|
789
|
+
name: 'Stampy Browser'
|
790
|
+
version: '$1'
|
791
|
+
engine:
|
792
|
+
default: 'Blink'
|
793
|
+
|
272
794
|
# hola! Browser (https://hola.org/browser)
|
273
|
-
- regex: 'Hola(?:/(\d+[\.\d]+))?'
|
795
|
+
- regex: 'Chrome/.+ Hola(?:/(\d+[\.\d]+))?'
|
274
796
|
name: 'hola! Browser'
|
275
797
|
version: '$1'
|
276
798
|
engine:
|
277
799
|
default: 'Blink'
|
278
800
|
|
279
|
-
#
|
801
|
+
# Slimjet (https://slimjet.com)
|
802
|
+
- regex: 'Slimjet/(?:(\d+[\.\d]+))'
|
803
|
+
name: 'Slimjet'
|
804
|
+
version: '$1'
|
805
|
+
engine:
|
806
|
+
default: 'Blink'
|
807
|
+
|
808
|
+
# 7Star
|
809
|
+
- regex: '7Star/(?:(\d+[\.\d]+))'
|
810
|
+
name: '7Star'
|
811
|
+
version: '$1'
|
812
|
+
engine:
|
813
|
+
default: 'Blink'
|
814
|
+
|
815
|
+
# MxNitro
|
816
|
+
- regex: 'MxNitro/(?:(\d+[\.\d]+))'
|
817
|
+
name: 'MxNitro'
|
818
|
+
version: '$1'
|
819
|
+
engine:
|
820
|
+
default: 'Blink'
|
821
|
+
|
822
|
+
# Huawei Browser Mobile
|
280
823
|
- regex: 'HuaweiBrowser(?:/(\d+[\.\d]+))?'
|
824
|
+
name: 'Huawei Browser Mobile'
|
825
|
+
version: '$1'
|
826
|
+
engine:
|
827
|
+
default: 'Blink'
|
828
|
+
|
829
|
+
# Huawei Browser
|
830
|
+
- regex: 'HBPC/(\d+[\.\d]+)'
|
281
831
|
name: 'Huawei Browser'
|
282
832
|
version: '$1'
|
833
|
+
engine:
|
834
|
+
default: 'Blink'
|
283
835
|
|
284
836
|
# vivo Browser
|
285
837
|
- regex: 'VivoBrowser(?:/(\d+[\.\d]+))?'
|
@@ -299,6 +851,11 @@
|
|
299
851
|
default: 'Blink'
|
300
852
|
|
301
853
|
# Qwant Mobile
|
854
|
+
- regex: 'QwantiOS/(\d+[\.\d]+)'
|
855
|
+
name: 'Qwant Mobile'
|
856
|
+
version: '$1'
|
857
|
+
engine:
|
858
|
+
default: 'WebKit'
|
302
859
|
- regex: 'QwantMobile(?:/(\d+[\.\d]+))?'
|
303
860
|
name: 'Qwant Mobile'
|
304
861
|
version: '$1'
|
@@ -325,7 +882,7 @@
|
|
325
882
|
default: 'Gecko'
|
326
883
|
|
327
884
|
# Microsoft Edge (Spartan Edge)
|
328
|
-
- regex: 'Edge[ /](\d+[\.\d]+)'
|
885
|
+
- regex: '(?<!motorola )Edge[ /](\d+[\.\d]+)'
|
329
886
|
name: 'Microsoft Edge'
|
330
887
|
version: '$1'
|
331
888
|
engine:
|
@@ -400,12 +957,17 @@
|
|
400
957
|
default: 'Gecko'
|
401
958
|
|
402
959
|
#AlohaBrowser
|
960
|
+
- regex: 'Chrome/.+ AlohaBrowser(?:/(\d+[\.\d]+))?'
|
961
|
+
name: 'Aloha Browser'
|
962
|
+
version: '$1'
|
963
|
+
engine:
|
964
|
+
default: 'Blink'
|
403
965
|
- regex: 'AlohaBrowser(?:/(\d+[\.\d]+))?'
|
404
966
|
name: 'Aloha Browser'
|
405
967
|
version: '$1'
|
406
968
|
|
407
969
|
# Avast Secure Browser | Avast SafeZone Browser (https://www.avast.com/)
|
408
|
-
- regex: '(?:Avast
|
970
|
+
- regex: '(?:Avast(?:SecureBrowser)?|ASW|Safer)(?:/(\d+[\.\d]+))?'
|
409
971
|
name: 'Avast Secure Browser'
|
410
972
|
version: '$1'
|
411
973
|
|
@@ -442,7 +1004,7 @@
|
|
442
1004
|
|
443
1005
|
|
444
1006
|
#Avant Browser
|
445
|
-
- regex: 'Avant Browser'
|
1007
|
+
- regex: 'Avant ?Browser'
|
446
1008
|
name: 'Avant Browser'
|
447
1009
|
version: ''
|
448
1010
|
engine:
|
@@ -460,7 +1022,7 @@
|
|
460
1022
|
engine:
|
461
1023
|
default: 'WebKit'
|
462
1024
|
versions:
|
463
|
-
28: 'Blink'
|
1025
|
+
'28': 'Blink'
|
464
1026
|
|
465
1027
|
#Atomic Web Browser
|
466
1028
|
- regex: 'AtomicBrowser(?:/(\d+[\.\d]+))?'
|
@@ -532,7 +1094,7 @@
|
|
532
1094
|
engine:
|
533
1095
|
default: 'Gecko'
|
534
1096
|
versions:
|
535
|
-
3: 'WebKit'
|
1097
|
+
'3': 'WebKit'
|
536
1098
|
|
537
1099
|
# Jig Browser Plus (https://jig.jp/)
|
538
1100
|
- regex: 'JigBrowserPlus/(?:(\d+[\.\d]+))?'
|
@@ -569,7 +1131,7 @@
|
|
569
1131
|
version: '$1'
|
570
1132
|
|
571
1133
|
# t-online.de Browser (https://www.t-online.de/computer/browser/)
|
572
|
-
- regex: 'TO-Browser
|
1134
|
+
- regex: '(?:TO-Browser/TOB|DT-Browser/DTB)(\d+[\.\d]+)'
|
573
1135
|
name: 't-online.de Browser'
|
574
1136
|
version: '$1'
|
575
1137
|
|
@@ -602,7 +1164,7 @@
|
|
602
1164
|
default: 'Goanna'
|
603
1165
|
|
604
1166
|
#Firefox Focus / Firefox Klar
|
605
|
-
- regex: '(?:Focus|Klar)(?:/(\d+[\.\d]+))
|
1167
|
+
- regex: '(?:Focus|Klar)(?:/(\d+[\.\d]+))'
|
606
1168
|
name: 'Firefox Focus'
|
607
1169
|
version: '$1'
|
608
1170
|
|
@@ -643,7 +1205,7 @@
|
|
643
1205
|
version: '$1'
|
644
1206
|
engine:
|
645
1207
|
default: 'Servo'
|
646
|
-
- regex: 'Firefox(?:/(\d+[\.\d]+))?'
|
1208
|
+
- regex: '(?!.*Opera[ /])Firefox(?:/(\d+[\.\d]+))?'
|
647
1209
|
name: 'Firefox'
|
648
1210
|
version: '$1'
|
649
1211
|
engine:
|
@@ -723,6 +1285,11 @@
|
|
723
1285
|
name: 'Obigo'
|
724
1286
|
version: ''
|
725
1287
|
|
1288
|
+
# UC Browser HD
|
1289
|
+
- regex: 'UCBrowserHD/(\d[\d\.]+)'
|
1290
|
+
name: 'UC Browser HD'
|
1291
|
+
version: '$1'
|
1292
|
+
|
726
1293
|
#UC Browser Mini
|
727
1294
|
- regex: 'UCMini(?:[ /]?(\d+[\.\d]+))?'
|
728
1295
|
name: 'UC Browser Mini'
|
@@ -740,12 +1307,18 @@
|
|
740
1307
|
version: ''
|
741
1308
|
|
742
1309
|
# Opera GX (https://www.opera.com/gx#start | http://ftp.opera.com/pub/opera_gx/)
|
743
|
-
- regex: '
|
1310
|
+
- regex: 'Chrome/.+ OP(?:RG)?X(?:/(\d+[\.\d]+))?'
|
744
1311
|
name: 'Opera GX'
|
745
1312
|
version: '$1'
|
746
1313
|
engine:
|
747
1314
|
default: 'Blink'
|
748
1315
|
|
1316
|
+
- regex: 'OP(?:RG)?X(?:/(\d+[\.\d]+))?'
|
1317
|
+
name: 'Opera GX'
|
1318
|
+
version: '$1'
|
1319
|
+
engine:
|
1320
|
+
default: 'WebKit'
|
1321
|
+
|
749
1322
|
#Opera
|
750
1323
|
- regex: '(?:Opera Tablet.*Version|Opera/.+Opera Mobi.+Version|Mobile.+OPR)/(\d+[\.\d]+)'
|
751
1324
|
name: 'Opera Mobile'
|
@@ -764,6 +1337,16 @@
|
|
764
1337
|
version: '$1'
|
765
1338
|
engine:
|
766
1339
|
default: 'Blink'
|
1340
|
+
- regex: 'Opera%20Touch/(\d+[\.\d]+)? CFNetwork/.+Darwin/.+(?!.*x86_64)'
|
1341
|
+
name: 'Opera Touch'
|
1342
|
+
version: '$1'
|
1343
|
+
engine:
|
1344
|
+
default: 'WebKit'
|
1345
|
+
- regex: 'Opera%20Touch/.+CFNetwork/.+Darwin/.+(?!.*x86_64)'
|
1346
|
+
name: 'Opera Touch'
|
1347
|
+
version: ''
|
1348
|
+
engine:
|
1349
|
+
default: 'WebKit'
|
767
1350
|
- regex: 'OPT/(\d+[\.\d]+)'
|
768
1351
|
name: 'Opera Touch'
|
769
1352
|
version: '$1'
|
@@ -791,6 +1374,12 @@
|
|
791
1374
|
version: '$1'
|
792
1375
|
engine:
|
793
1376
|
default: 'WebKit'
|
1377
|
+
- regex: 'Opera%20Mini/(\d+[\.\d]+) CFNetwork'
|
1378
|
+
name: 'Opera Mini iOS'
|
1379
|
+
version: '$1'
|
1380
|
+
engine:
|
1381
|
+
default: 'WebKit'
|
1382
|
+
|
794
1383
|
- regex: 'Opera.+Edition Next.+Version/(\d+[\.\d]+)'
|
795
1384
|
name: 'Opera Next'
|
796
1385
|
version: '$1'
|
@@ -812,8 +1401,8 @@
|
|
812
1401
|
default: ''
|
813
1402
|
versions:
|
814
1403
|
'3.5': 'Elektra'
|
815
|
-
7: 'Presto'
|
816
|
-
15: 'Blink'
|
1404
|
+
'7': 'Presto'
|
1405
|
+
'15': 'Blink'
|
817
1406
|
|
818
1407
|
#Rekonq
|
819
1408
|
- regex: 'rekonq(?:/(\d+[\.\d]+))?'
|
@@ -836,7 +1425,7 @@
|
|
836
1425
|
engine:
|
837
1426
|
default: 'WebKit'
|
838
1427
|
versions:
|
839
|
-
28: 'Blink'
|
1428
|
+
'28': 'Blink'
|
840
1429
|
|
841
1430
|
#ChromePlus
|
842
1431
|
- regex: 'ChromePlus(?:/(\d+[\.\d]+))?'
|
@@ -862,15 +1451,12 @@
|
|
862
1451
|
4: '' # multiple (KHTML or WebKit)
|
863
1452
|
|
864
1453
|
#Baidu Browser
|
865
|
-
- regex: '(?:baidubrowser|
|
866
|
-
name: 'Baidu Browser'
|
867
|
-
version: '$1'
|
868
|
-
- regex: 'FlyFlow(?:[/ ](\d+[\.\d]*))?'
|
1454
|
+
- regex: '(?:baidubrowser|bdbrowser(?:(?:hd)?_i18n)?|FlyFlow|BaiduHD)(?:[/ ](\d+[\.\d]*))?'
|
869
1455
|
name: 'Baidu Browser'
|
870
1456
|
version: '$1'
|
871
1457
|
|
872
1458
|
#Baidu Spark
|
873
|
-
- regex: '(?:(?:BD)?Spark
|
1459
|
+
- regex: '(?:(?:BD)?Spark(?:Safe)?|BIDUBrowser)[/ ](\d+[\.\d]*)'
|
874
1460
|
name: 'Baidu Spark'
|
875
1461
|
version: '$1'
|
876
1462
|
|
@@ -880,13 +1466,18 @@
|
|
880
1466
|
version: '$1'
|
881
1467
|
engine:
|
882
1468
|
default: 'Blink'
|
883
|
-
|
884
1469
|
#Yandex Browser
|
885
1470
|
- regex: 'YaBrowser(?:/(\d+[\.\d]*))(?: \((alpha|beta)\))?'
|
886
1471
|
name: 'Yandex Browser'
|
887
1472
|
version: '$1 $2'
|
888
1473
|
engine:
|
889
1474
|
default: 'Blink'
|
1475
|
+
# Yandex Browser + voice assistant alisa
|
1476
|
+
- regex: 'Ya(?:ndex)?SearchBrowser(?:/(\d+[\.\d]*))'
|
1477
|
+
name: 'Yandex Browser'
|
1478
|
+
version: '$1'
|
1479
|
+
engine:
|
1480
|
+
default: 'Blink'
|
890
1481
|
|
891
1482
|
#Vivaldi
|
892
1483
|
- regex: 'Vivaldi(?:/(\d+[\.\d]+))?'
|
@@ -903,6 +1494,11 @@
|
|
903
1494
|
default: 'Blink'
|
904
1495
|
|
905
1496
|
#Midori
|
1497
|
+
- regex: 'Chrome.+Midori Browser/(\d+[\.\d]+)'
|
1498
|
+
name: 'Midori'
|
1499
|
+
version: '$1'
|
1500
|
+
engine:
|
1501
|
+
default: 'Blink'
|
906
1502
|
- regex: 'Midori(?:/(\d+[\.\d]+))?'
|
907
1503
|
name: 'Midori'
|
908
1504
|
version: '$1'
|
@@ -910,12 +1506,19 @@
|
|
910
1506
|
default: 'WebKit'
|
911
1507
|
|
912
1508
|
#Mercury
|
913
|
-
- regex: 'Mercury(
|
1509
|
+
- regex: 'Mercury/(?:(\d+[\.\d]+))?'
|
914
1510
|
name: 'Mercury'
|
915
1511
|
version: '$1'
|
916
1512
|
|
917
1513
|
#Maxthon
|
918
|
-
- regex: '(
|
1514
|
+
- regex: 'Chrome.+Maxthon(?:.+\(portable\))?/(\d+[\.\d]+)'
|
1515
|
+
name: 'Maxthon'
|
1516
|
+
version: '$1'
|
1517
|
+
engine:
|
1518
|
+
default: 'WebKit'
|
1519
|
+
versions:
|
1520
|
+
'5.2': 'Blink'
|
1521
|
+
- regex: '(?:Maxthon(?:%20Browser)?|MxBrowser(?:-inhouse|-iPhone)?|MXiOS)[ /](\d+[\.\d]+)'
|
919
1522
|
name: 'Maxthon'
|
920
1523
|
version: '$1'
|
921
1524
|
engine:
|
@@ -947,6 +1550,8 @@
|
|
947
1550
|
version: '$1'
|
948
1551
|
engine:
|
949
1552
|
default: 'WebKit'
|
1553
|
+
versions:
|
1554
|
+
28: 'Blink'
|
950
1555
|
|
951
1556
|
- regex: 'Iron(?:/(\d+[\.\d]+))?'
|
952
1557
|
name: 'Iron'
|
@@ -981,6 +1586,11 @@
|
|
981
1586
|
name: 'Sogou Explorer'
|
982
1587
|
version: '$1'
|
983
1588
|
|
1589
|
+
# QQ Browser Lite
|
1590
|
+
- regex: 'QQBrowserLite/([\d\.]+)'
|
1591
|
+
name: 'QQ Browser Lite'
|
1592
|
+
version: '$1'
|
1593
|
+
|
984
1594
|
# QQ Browser Mini
|
985
1595
|
- regex: 'M?QQBrowser/Mini([\.\d]+)?'
|
986
1596
|
name: 'QQ Browser Mini'
|
@@ -1006,8 +1616,8 @@
|
|
1006
1616
|
# This browser (http://coccoc.vn/) is built on top of Chromium with
|
1007
1617
|
# additional features for Vietnamese users. Its regex has to be placed
|
1008
1618
|
# before generic Chrome regex, or Chrome regex will match first and
|
1009
|
-
# the browser is mistaken as
|
1010
|
-
- regex: 'coc_coc_browser(?:/(\d+[\.\d]+))?'
|
1619
|
+
# the browser is mistaken as 'Chrome".
|
1620
|
+
- regex: '(?:coc_coc_browser|coccocbrowser|CocCoc)(?:/(\d+[\.\d]+))?'
|
1011
1621
|
name: 'Coc Coc'
|
1012
1622
|
version: '$1'
|
1013
1623
|
engine:
|
@@ -1027,7 +1637,10 @@
|
|
1027
1637
|
version: '$1'
|
1028
1638
|
|
1029
1639
|
# Super Fast Browser (https://play.google.com/store/apps/details?id=com.browser.tssomas)
|
1030
|
-
- regex: '(?:
|
1640
|
+
- regex: '(?:SFB(?:rowser)?)/(\d+[\.\d]+)'
|
1641
|
+
name: 'Super Fast Browser'
|
1642
|
+
version: '$1'
|
1643
|
+
- regex: 'com.browser.tssomas(?:/(\d+[\.\d]+))?'
|
1031
1644
|
name: 'Super Fast Browser'
|
1032
1645
|
version: '$1'
|
1033
1646
|
|
@@ -1040,6 +1653,8 @@
|
|
1040
1653
|
- regex: 'UBrowser(?:/(\d+[\.\d]+))?'
|
1041
1654
|
name: 'UBrowser'
|
1042
1655
|
version: '$1'
|
1656
|
+
engine:
|
1657
|
+
default: 'Blink'
|
1043
1658
|
|
1044
1659
|
#Streamy (Chromium based)
|
1045
1660
|
- regex: 'Streamy(?:/(\d+[\.\d]+))?'
|
@@ -1065,28 +1680,44 @@
|
|
1065
1680
|
- regex: 'UC AppleWebKit'
|
1066
1681
|
name: 'UC Browser'
|
1067
1682
|
version: ''
|
1683
|
+
- regex: 'UC%20Browser/(\d+[\.\d]+)? CFNetwork/.+Darwin/.+(?!.*x86_64)'
|
1684
|
+
name: 'UC Browser'
|
1685
|
+
version: '$1'
|
1686
|
+
engine:
|
1687
|
+
default: 'WebKit'
|
1068
1688
|
|
1069
|
-
#Tenta Browser
|
1070
1689
|
#It should be checked before Chrome since the UA contains the Chrome
|
1690
|
+
|
1691
|
+
#Tenta Browser (https://play.google.com/store/apps/details?id=com.tenta.android)
|
1692
|
+
- regex: 'Chrome/.+Tenta/(\d+[\.\d]+)'
|
1693
|
+
name: 'Tenta Browser'
|
1694
|
+
version: '$1'
|
1695
|
+
engine:
|
1696
|
+
default: 'Blink'
|
1071
1697
|
- regex: 'Tenta/(\d+[\.\d]+)'
|
1072
1698
|
name: 'Tenta Browser'
|
1073
1699
|
version: '$1'
|
1074
1700
|
engine:
|
1075
|
-
default: '
|
1701
|
+
default: 'WebKit'
|
1076
1702
|
|
1077
1703
|
# Firefox Rocket
|
1078
1704
|
- regex: 'Rocket/(\d+[\.\d]+)'
|
1079
1705
|
name: 'Firefox Rocket'
|
1080
1706
|
version: '$1'
|
1081
1707
|
engine:
|
1082
|
-
default: '
|
1708
|
+
default: 'WebKit'
|
1083
1709
|
|
1084
1710
|
# Web Explorer
|
1085
1711
|
- regex: 'Web Explorer/(\d+[\.\d]+).*Chrome'
|
1086
1712
|
name: 'Web Explorer'
|
1087
1713
|
version: '$1'
|
1088
1714
|
engine:
|
1089
|
-
default: '
|
1715
|
+
default: 'WebKit'
|
1716
|
+
- regex: 'webexplorer/(\d+)'
|
1717
|
+
name: 'Web Explorer'
|
1718
|
+
version: '$1'
|
1719
|
+
engine:
|
1720
|
+
default: 'WebKit'
|
1090
1721
|
|
1091
1722
|
# Seznam Browser
|
1092
1723
|
- regex: 'SznProhlizec/(\d+[\.\d]+)'
|
@@ -1156,6 +1787,16 @@
|
|
1156
1787
|
engine:
|
1157
1788
|
default: 'WebKit'
|
1158
1789
|
|
1790
|
+
# iBrowser Mini
|
1791
|
+
- regex: 'iBrowser/Mini(\d+\.\d+)'
|
1792
|
+
name: 'iBrowser Mini'
|
1793
|
+
version: '$1'
|
1794
|
+
|
1795
|
+
# iBrowser
|
1796
|
+
- regex: 'iBrowser/(\d+\.[.\d]+)?'
|
1797
|
+
name: 'iBrowser'
|
1798
|
+
version: '$1'
|
1799
|
+
|
1159
1800
|
#IBrowse
|
1160
1801
|
- regex: 'IBrowse(?:[ /](\d+[\.\d]+))?'
|
1161
1802
|
name: 'IBrowse'
|
@@ -1176,6 +1817,11 @@
|
|
1176
1817
|
engine:
|
1177
1818
|
default: 'WebKit'
|
1178
1819
|
|
1820
|
+
# GoBrowser
|
1821
|
+
- regex: 'GoBrowser(?:/(\d+[\.\d]+))?'
|
1822
|
+
name: 'GoBrowser'
|
1823
|
+
version: '$1'
|
1824
|
+
|
1179
1825
|
#Nokia Browser
|
1180
1826
|
- regex: '(?:NokiaBrowser|BrowserNG)(?:/(\d+[\.\d]+))?'
|
1181
1827
|
name: 'Nokia Browser'
|
@@ -1194,7 +1840,7 @@
|
|
1194
1840
|
version: ''
|
1195
1841
|
|
1196
1842
|
#Sleipnir
|
1197
|
-
- regex: 'Sleipnir(?:[ /](\d+[\.\d]+))?'
|
1843
|
+
- regex: 'Sleipnir(?:(?:%20Browser)?[ /](\d+[\.\d]+))?'
|
1198
1844
|
name: 'Sleipnir'
|
1199
1845
|
version: '$1'
|
1200
1846
|
engine:
|
@@ -1217,6 +1863,42 @@
|
|
1217
1863
|
engine:
|
1218
1864
|
default: 'WebKit'
|
1219
1865
|
|
1866
|
+
# Monument Browser
|
1867
|
+
- regex: 'MonumentBrowser(?:/(\d+[\.\d]+))?'
|
1868
|
+
name: 'Monument Browser'
|
1869
|
+
version: '$1'
|
1870
|
+
engine:
|
1871
|
+
default: 'WebKit'
|
1872
|
+
|
1873
|
+
# Blue Browser
|
1874
|
+
- regex: 'BlueBrowser(?:/(\d+[\.\d]+))?'
|
1875
|
+
name: 'Blue Browser'
|
1876
|
+
version: '$1'
|
1877
|
+
engine:
|
1878
|
+
default: 'WebKit'
|
1879
|
+
|
1880
|
+
# Japan Browser (https://play.google.com/store/apps/details?id=com.japan.browser.anti.blokir)
|
1881
|
+
- regex: 'JAPAN Browser(?:/(\d+[\.\d]+))?'
|
1882
|
+
name: 'Japan Browser'
|
1883
|
+
version: '$1'
|
1884
|
+
engine:
|
1885
|
+
default: 'WebKit'
|
1886
|
+
|
1887
|
+
- regex: 'OpenFin/(?:(\d+[\.\d]+))'
|
1888
|
+
name: 'OpenFin'
|
1889
|
+
version: '$1'
|
1890
|
+
engine:
|
1891
|
+
default: 'Blink'
|
1892
|
+
|
1893
|
+
# SuperBird
|
1894
|
+
- regex: 'SuperBird(?:/(\d+[\.\d]+))?'
|
1895
|
+
name: 'SuperBird'
|
1896
|
+
version: '$1'
|
1897
|
+
engine:
|
1898
|
+
default: 'WebKit'
|
1899
|
+
versions:
|
1900
|
+
28: 'Blink'
|
1901
|
+
|
1220
1902
|
# Chrome Webview
|
1221
1903
|
- regex: 'Version/.* Chrome(?:/(\d+[\.\d]+))?'
|
1222
1904
|
name: 'Chrome Webview'
|
@@ -1275,6 +1957,13 @@
|
|
1275
1957
|
- regex: '(?:Tizen|SLP) Browser(?:/(\d+[\.\d]+))?'
|
1276
1958
|
name: 'Tizen Browser'
|
1277
1959
|
version: '$1'
|
1960
|
+
- regex: 'Tizen (?:\d+[\.\d]+).+ Version/(\d+[\.\d]+) (?:TV|Mobile)'
|
1961
|
+
name: 'Tizen Browser'
|
1962
|
+
version: '$1'
|
1963
|
+
engine:
|
1964
|
+
default: 'WebKit'
|
1965
|
+
versions:
|
1966
|
+
'4': 'Blink'
|
1278
1967
|
|
1279
1968
|
#Palm Blazer
|
1280
1969
|
- regex: 'Blazer(?:/(\d+[\.\d]+))?'
|
@@ -1431,8 +2120,20 @@
|
|
1431
2120
|
engine:
|
1432
2121
|
default: 'Gecko'
|
1433
2122
|
|
1434
|
-
#Google Earth
|
1435
|
-
- regex: 'Google Earth(?:/(\d+[\.\d]+))?'
|
2123
|
+
# Google Earth Pro (https://www.google.se/intl/en/earth/versions/)
|
2124
|
+
- regex: 'Google Earth Pro(?:/(\d+[\.\d]+))?'
|
2125
|
+
name: 'Google Earth Pro'
|
2126
|
+
version: '$1'
|
2127
|
+
engine:
|
2128
|
+
default: 'WebKit'
|
2129
|
+
- regex: 'GoogleEarth/(\d+[\.\d]+).+client:(?:Plus|Pro)'
|
2130
|
+
name: 'Google Earth Pro'
|
2131
|
+
version: '$1'
|
2132
|
+
engine:
|
2133
|
+
default: 'WebKit'
|
2134
|
+
|
2135
|
+
# Google Earth (https://www.google.se/intl/en/earth/versions/)
|
2136
|
+
- regex: 'Google ?Earth(?:/v?(\d+[\.\d]+))?'
|
1436
2137
|
name: 'Google Earth'
|
1437
2138
|
version: '$1'
|
1438
2139
|
engine:
|
@@ -1448,7 +2149,7 @@
|
|
1448
2149
|
name: 'iCab Mobile'
|
1449
2150
|
version: '$1'
|
1450
2151
|
engine:
|
1451
|
-
|
2152
|
+
default: 'WebKit'
|
1452
2153
|
|
1453
2154
|
#iCab
|
1454
2155
|
- regex: 'iCab(?:[ /](\d+[\.\d]+))?'
|
@@ -1459,12 +2160,12 @@
|
|
1459
2160
|
versions:
|
1460
2161
|
4: 'WebKit'
|
1461
2162
|
|
1462
|
-
#
|
1463
|
-
- regex: '
|
1464
|
-
name: '
|
2163
|
+
# Crazy Browser
|
2164
|
+
- regex: 'Crazy Browser (\d+[\.\d]+)'
|
2165
|
+
name: 'Crazy Browser'
|
1465
2166
|
version: '$1'
|
1466
2167
|
engine:
|
1467
|
-
default: ''
|
2168
|
+
default: 'Trident'
|
1468
2169
|
|
1469
2170
|
#Internet Explorer
|
1470
2171
|
- regex: 'IEMobile[ /](\d+[\.\d]+)'
|
@@ -1479,22 +2180,22 @@
|
|
1479
2180
|
default: 'Trident'
|
1480
2181
|
- regex: 'MSIE.*Trident/4.0'
|
1481
2182
|
name: 'Internet Explorer'
|
1482
|
-
version: 8.0
|
2183
|
+
version: '8.0'
|
1483
2184
|
engine:
|
1484
2185
|
default: 'Trident'
|
1485
2186
|
- regex: 'MSIE.*Trident/5.0'
|
1486
2187
|
name: 'Internet Explorer'
|
1487
|
-
version: 9.0
|
2188
|
+
version: '9.0'
|
1488
2189
|
engine:
|
1489
2190
|
default: 'Trident'
|
1490
2191
|
- regex: 'MSIE.*Trident/6.0'
|
1491
2192
|
name: 'Internet Explorer'
|
1492
|
-
version: 10.0
|
2193
|
+
version: '10.0'
|
1493
2194
|
engine:
|
1494
2195
|
default: 'Trident'
|
1495
2196
|
- regex: 'Trident/[78].0'
|
1496
2197
|
name: 'Internet Explorer'
|
1497
|
-
version: 11.0
|
2198
|
+
version: '11.0'
|
1498
2199
|
engine:
|
1499
2200
|
default: 'Trident'
|
1500
2201
|
- regex: 'MSIE (\d+[\.\d]+)'
|
@@ -1579,16 +2280,11 @@
|
|
1579
2280
|
name: 'Off By One'
|
1580
2281
|
version: ''
|
1581
2282
|
|
1582
|
-
#Oregano
|
1583
|
-
- regex: 'Oregano(?:[ /](\d+[\.\d]+))?'
|
2283
|
+
#Oregano (https://oregan.net/)
|
2284
|
+
- regex: '(?:Oregano|OreganMediaBrowser)(?:[ /](\d+[\.\d]+))?'
|
1584
2285
|
name: 'Oregano'
|
1585
2286
|
version: '$1'
|
1586
2287
|
|
1587
|
-
#Otter Browser
|
1588
|
-
- regex: 'Otter(?:[ /](\d+[\.\d]+))?'
|
1589
|
-
name: 'Otter Browser'
|
1590
|
-
version: '$1'
|
1591
|
-
|
1592
2288
|
#Polaris
|
1593
2289
|
- regex: '(?:Polaris|Embider)(?:[/ ](\d+[\.\d]+))?'
|
1594
2290
|
name: 'Polaris'
|
@@ -1599,13 +2295,6 @@
|
|
1599
2295
|
name: 'SEMC-Browser'
|
1600
2296
|
version: '$1'
|
1601
2297
|
|
1602
|
-
#Seraphic Sraf
|
1603
|
-
- regex: 'Sraf(?:[/ ](\d+[\.\d]+))?'
|
1604
|
-
name: 'Seraphic Sraf'
|
1605
|
-
version: '$1'
|
1606
|
-
engine:
|
1607
|
-
default: 'Blink'
|
1608
|
-
|
1609
2298
|
#Shiira
|
1610
2299
|
- regex: 'Shiira(?:[/ ](\d+[\.\d]+))?'
|
1611
2300
|
name: 'Shiira'
|
@@ -1630,11 +2319,6 @@
|
|
1630
2319
|
name: 'Sunrise'
|
1631
2320
|
version: '$1'
|
1632
2321
|
|
1633
|
-
#SuperBird
|
1634
|
-
- regex: 'SuperBird(?:/(\d+[\.\d]+))?'
|
1635
|
-
name: 'SuperBird'
|
1636
|
-
version: '$1'
|
1637
|
-
|
1638
2322
|
#Vision Mobile Browser
|
1639
2323
|
- regex: 'Vision-Browser(?:/(\d+[\.\d]+))'
|
1640
2324
|
name: 'Vision Mobile Browser'
|
@@ -1655,11 +2339,6 @@
|
|
1655
2339
|
name: 'BlackBerry Browser'
|
1656
2340
|
version: ''
|
1657
2341
|
|
1658
|
-
#BriskBard
|
1659
|
-
- regex: 'BriskBard(?:/(\d+[\.\d]+))?'
|
1660
|
-
name: 'BriskBard'
|
1661
|
-
version: '$1'
|
1662
|
-
|
1663
2342
|
#Android Browser
|
1664
2343
|
- regex: 'Android'
|
1665
2344
|
name: 'Android Browser'
|
@@ -1671,11 +2350,11 @@
|
|
1671
2350
|
- regex: 'Coast(?:/(\d+[\.\d]+))?'
|
1672
2351
|
name: 'Coast'
|
1673
2352
|
version: '$1'
|
1674
|
-
|
1675
|
-
|
1676
|
-
- regex: 'qutebrowser(?:/(\d+[\.\d]+))?'
|
1677
|
-
name: 'Qutebrowser'
|
2353
|
+
- regex: 'Opera%20Coast/(\d+[\.\d]+)? CFNetwork/.+Darwin/.+(?!.*x86_64)'
|
2354
|
+
name: 'Coast'
|
1678
2355
|
version: '$1'
|
2356
|
+
engine:
|
2357
|
+
default: 'WebKit'
|
1679
2358
|
|
1680
2359
|
# surf (https://surf.suckless.org/)
|
1681
2360
|
- regex: 'Surf(?:/(\d+[\.\d]+))?'
|
@@ -1695,23 +2374,23 @@
|
|
1695
2374
|
version: '$1'
|
1696
2375
|
engine:
|
1697
2376
|
default: 'WebKit'
|
1698
|
-
- regex: '(?:iPod|iPhone|iPad)'
|
2377
|
+
- regex: '(?:iPod|(?<!Apple TV; U; CPU )iPhone|iPad)'
|
1699
2378
|
name: 'Mobile Safari'
|
1700
2379
|
version: ''
|
1701
2380
|
engine:
|
1702
2381
|
default: 'WebKit'
|
1703
|
-
- regex: 'Version/(\d+[\.\d]+).*Safari/|Safari
|
2382
|
+
- regex: 'Version/(\d+[\.\d]+).*Safari/|Safari/?\d+'
|
1704
2383
|
name: 'Safari'
|
1705
2384
|
version: '$1'
|
1706
2385
|
engine:
|
1707
2386
|
default: 'WebKit'
|
1708
|
-
|
1709
|
-
#Dorado
|
1710
|
-
- regex: 'Dorado WAP-Browser[/ ](\d+[\.\d]+)'
|
2387
|
+
|
2388
|
+
# Dorado
|
2389
|
+
- regex: 'Dorado WAP-Browser(?:[/ ](\d+[\.\d]+))?'
|
1711
2390
|
name: 'Dorado'
|
1712
2391
|
version: '$1'
|
1713
2392
|
|
1714
|
-
#NetSurf
|
2393
|
+
# NetSurf
|
1715
2394
|
- regex: 'NetSurf(?:/(\d+[\.\d]+))?'
|
1716
2395
|
name: 'NetSurf'
|
1717
2396
|
version: '$1'
|
@@ -1733,4 +2412,21 @@
|
|
1733
2412
|
name: 'Zvu'
|
1734
2413
|
version: '$1'
|
1735
2414
|
engine:
|
1736
|
-
default: 'Gecko'
|
2415
|
+
default: 'Gecko'
|
2416
|
+
|
2417
|
+
# GOG Galaxy
|
2418
|
+
- regex: 'GOGGalaxyClient/(\d+[\.\d]+)?'
|
2419
|
+
name: 'GOG Galaxy'
|
2420
|
+
version: '$1'
|
2421
|
+
|
2422
|
+
# MAUI Wap Browser
|
2423
|
+
- regex: 'WAP Browser/MAUI|(?:\w*)Maui Wap Browser|MAUI[- ]Browser'
|
2424
|
+
name: 'MAUI WAP Browser'
|
2425
|
+
version: ''
|
2426
|
+
|
2427
|
+
# SP Browser
|
2428
|
+
- regex: 'SP%20Browser/(\d+[\.\d]+)'
|
2429
|
+
name: 'SP Browser'
|
2430
|
+
version: '$1'
|
2431
|
+
engine:
|
2432
|
+
default: 'WebKit'
|