device_detector 1.0.0 → 1.1.3

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.
Files changed (89) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +58 -4
  3. data/README.md +57 -21
  4. data/lib/device_detector/bot.rb +2 -2
  5. data/lib/device_detector/browser.rb +691 -0
  6. data/lib/device_detector/client.rb +11 -2
  7. data/lib/device_detector/client_hint.rb +249 -0
  8. data/lib/device_detector/device.rb +1954 -23
  9. data/lib/device_detector/memory_cache.rb +26 -19
  10. data/lib/device_detector/metadata_extractor.rb +7 -8
  11. data/lib/device_detector/model_extractor.rb +3 -3
  12. data/lib/device_detector/name_extractor.rb +2 -2
  13. data/lib/device_detector/os.rb +289 -112
  14. data/lib/device_detector/parser.rb +49 -13
  15. data/lib/device_detector/vendor_fragment.rb +25 -0
  16. data/lib/device_detector/version.rb +3 -1
  17. data/lib/device_detector/version_extractor.rb +29 -2
  18. data/lib/device_detector.rb +192 -44
  19. data/regexes/bots.yml +3399 -91
  20. data/regexes/client/browser_engine.yml +28 -4
  21. data/regexes/client/browsers.yml +2697 -408
  22. data/regexes/client/feed_readers.yml +60 -22
  23. data/regexes/client/hints/apps.yml +150 -0
  24. data/regexes/client/hints/browsers.yml +292 -0
  25. data/regexes/client/libraries.yml +598 -4
  26. data/regexes/client/mediaplayers.yml +110 -5
  27. data/regexes/client/mobile_apps.yml +2451 -14
  28. data/regexes/client/pim.yml +128 -3
  29. data/regexes/device/cameras.yml +6 -6
  30. data/regexes/device/car_browsers.yml +39 -3
  31. data/regexes/device/consoles.yml +40 -6
  32. data/regexes/device/mobiles.yml +38844 -2907
  33. data/regexes/device/notebooks.yml +127 -0
  34. data/regexes/device/portable_media_player.yml +75 -12
  35. data/regexes/device/shell_tv.yml +145 -0
  36. data/regexes/device/televisions.yml +981 -40
  37. data/regexes/oss.yml +1560 -311
  38. data/regexes/vendorfragments.yml +6 -2
  39. metadata +31 -105
  40. data/.gitignore +0 -14
  41. data/.travis.yml +0 -18
  42. data/Gemfile +0 -8
  43. data/Rakefile +0 -79
  44. data/device_detector.gemspec +0 -26
  45. data/spec/device_detector/bot_fixtures_spec.rb +0 -30
  46. data/spec/device_detector/client_fixtures_spec.rb +0 -31
  47. data/spec/device_detector/concrete_user_agent_spec.rb +0 -136
  48. data/spec/device_detector/detector_fixtures_spec.rb +0 -60
  49. data/spec/device_detector/device_fixtures_spec.rb +0 -36
  50. data/spec/device_detector/device_spec.rb +0 -151
  51. data/spec/device_detector/memory_cache_spec.rb +0 -116
  52. data/spec/device_detector/model_extractor_spec.rb +0 -63
  53. data/spec/device_detector/os_fixtures_spec.rb +0 -26
  54. data/spec/device_detector/version_extractor_spec.rb +0 -80
  55. data/spec/device_detector_spec.rb +0 -198
  56. data/spec/fixtures/client/browser.yml +0 -1313
  57. data/spec/fixtures/client/feed_reader.yml +0 -187
  58. data/spec/fixtures/client/library.yml +0 -84
  59. data/spec/fixtures/client/mediaplayer.yml +0 -168
  60. data/spec/fixtures/client/mobile_app.yml +0 -30
  61. data/spec/fixtures/client/pim.yml +0 -96
  62. data/spec/fixtures/detector/bots.yml +0 -2418
  63. data/spec/fixtures/detector/camera.yml +0 -115
  64. data/spec/fixtures/detector/car_browser.yml +0 -20
  65. data/spec/fixtures/detector/console.yml +0 -267
  66. data/spec/fixtures/detector/desktop.yml +0 -4828
  67. data/spec/fixtures/detector/feature_phone.yml +0 -782
  68. data/spec/fixtures/detector/feed_reader.yml +0 -486
  69. data/spec/fixtures/detector/mediaplayer.yml +0 -179
  70. data/spec/fixtures/detector/mobile_apps.yml +0 -149
  71. data/spec/fixtures/detector/phablet.yml +0 -2140
  72. data/spec/fixtures/detector/portable_media_player.yml +0 -153
  73. data/spec/fixtures/detector/smart_display.yml +0 -58
  74. data/spec/fixtures/detector/smartphone-1.yml +0 -9469
  75. data/spec/fixtures/detector/smartphone-2.yml +0 -9414
  76. data/spec/fixtures/detector/smartphone-3.yml +0 -9396
  77. data/spec/fixtures/detector/smartphone-4.yml +0 -5742
  78. data/spec/fixtures/detector/smartphone.yml +0 -9411
  79. data/spec/fixtures/detector/tablet-1.yml +0 -9495
  80. data/spec/fixtures/detector/tablet-2.yml +0 -248
  81. data/spec/fixtures/detector/tablet.yml +0 -9484
  82. data/spec/fixtures/detector/tv.yml +0 -2582
  83. data/spec/fixtures/detector/unknown.yml +0 -3196
  84. data/spec/fixtures/device/camera.yml +0 -18
  85. data/spec/fixtures/device/car_browser.yml +0 -6
  86. data/spec/fixtures/device/console.yml +0 -78
  87. data/spec/fixtures/parser/oss.yml +0 -800
  88. data/spec/fixtures/parser/vendorfragments.yml +0 -162
  89. data/spec/spec_helper.rb +0 -9
@@ -1,438 +1,2682 @@
1
1
  ###############
2
2
  # Device Detector - The Universal Device Detection library for parsing User Agents
3
3
  #
4
- # @link http://piwik.org
4
+ # @link https://matomo.org
5
5
  # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
6
6
  ###############
7
7
 
8
- # Microsoft Edge (newer versions of IE)
9
- - regex: 'Edge[ /](\d+[\.\d]+)'
10
- name: 'Microsoft Edge'
8
+ # KUN (https://api.dcmys.kr/etc/historical/kun_3.0.1_cp_개발자_가이드_v1.1.pdf)
9
+ - regex: 'KUN/(\d+[\.\d]+)'
10
+ name: 'KUN'
11
+ version: '$1'
12
+
13
+ # Naenara Browser (https://en.wikipedia.org/wiki/Naenara_(browser))
14
+ - regex: 'NaenaraBrowser(?:/(\d+[\.\d]+))?'
15
+ name: 'Naenara Browser'
11
16
  version: '$1'
12
17
  engine:
13
- default: 'Edge'
18
+ default: 'Gecko'
14
19
 
15
- # 360 Browser
16
- - regex: 'QIHU 360[ES]E'
17
- name: '360 Browser'
18
- version: ''
20
+ # NOOK Browser
21
+ - regex: 'nook browser(?:/(\d+[\.\d]+))?'
22
+ name: 'NOOK Browser'
23
+ version: '$1'
19
24
 
20
- # 360 Phone Browser
21
- - regex: '360 Aphone Browser(?: \((\d+[\.\d]+)(?:beta)?\))?'
22
- name: '360 Phone Browser'
25
+ # Arachne (https://www.glennmcc.org/)
26
+ - regex: 'xChaos_Arachne/5\.(\d+\.[\.\d]+)'
27
+ name: 'Arachne'
23
28
  version: '$1'
24
- engine:
25
- default: 'WebKit'
26
29
 
27
- #SailfishBrowser
28
- - regex: 'SailfishBrowser(?:/(\d+[\.\d]+))?'
29
- name: 'Sailfish Browser'
30
+ # Weltweitimnetz Browser (https://sourceforge.net/projects/weltweitimnetz/ | https://web.archive.org/web/20111108155328/http://www.weltweitimnetz.de/browser_en.htm)
31
+ - regex: 'WeltweitimnetzBrowser/(\d+\.[\.\d]+)'
32
+ name: 'Weltweitimnetz Browser'
30
33
  version: '$1'
31
- engine:
32
- default: 'Gecko'
33
34
 
34
- # SeaMonkey
35
- - regex: '(Iceape|SeaMonkey|gnuzilla)(?:/(\d+[\.\d]+))?'
36
- name: '$1'
37
- version: '$2'
35
+ # Ladybird (https://www.ladybird.dev/)
36
+ - regex: '(?:Ladybird|LibWeb\+LibJS/.*Browser)/(\d+\.[\.\d]+)'
37
+ name: 'Ladybird'
38
+ version: '$1'
38
39
  engine:
39
- default: 'Gecko'
40
+ default: 'LibWeb'
40
41
 
41
- # Camino
42
- - regex: 'Camino(?:/(\d+[\.\d]+))?'
43
- name: 'Camino'
42
+ # Kitt (https://github.com/kitt-browser | https://web.archive.org/web/20141014085455/http://www.kitt.com/)
43
+ - regex: 'Kitt/(\d+\.[\.\d]+)'
44
+ name: 'Kitt'
45
+ version: '$1'
46
+
47
+ # BizBrowser (https://www.sppm.jp/option/bizbrowser/ | https://play.google.com/store/apps/details?id=jp.co.axseed.SppmBizApps.BizBrowser)
48
+ - regex: 'sppm_bizbrowser'
49
+ name: 'BizBrowser'
50
+ version: ''
51
+
52
+ # SkyLeap (https://sky-leap.jp/)
53
+ - regex: 'SkyLeap/(\d+\.[\.\d]+)'
54
+ name: 'SkyLeap'
55
+ version: '$1'
56
+
57
+ # MaxBrowser
58
+ - regex: 'MaxBrowser/(\d+\.[\.\d]+)'
59
+ name: 'MaxBrowser'
60
+ version: '$1'
61
+
62
+ # YouBrowser
63
+ - regex: 'YouBrowser/(\d+\.[\.\d]+)'
64
+ name: 'YouBrowser'
65
+ version: '$1'
66
+
67
+ # MixerBox AI (https://play.google.com/store/apps/details?id=com.mixerbox.browser)
68
+ - regex: 'MixerBox-Browser'
69
+ name: 'MixerBox AI'
70
+ version: ''
71
+
72
+ # EudoraWeb (https://palmdb.net/app/eudora-eis)
73
+ - regex: 'EudoraWeb (\d+[\.\d]+)'
74
+ name: 'EudoraWeb'
75
+ version: '$1'
76
+
77
+ # Eolie (https://wiki.gnome.org/Apps/Eolie)
78
+ - regex: 'Eolie'
79
+ name: 'Eolie'
80
+ version: ''
81
+
82
+ # w3m (https://w3m.sourceforge.net/)
83
+ - regex: '^w3m/(\d+[\.\d]+)'
84
+ name: 'w3m'
44
85
  version: '$1'
45
86
  engine:
46
- default: 'Gecko'
87
+ default: 'Text-based'
47
88
 
48
- #Fennec (Firefox for mobile)
49
- - regex: 'Fennec(?:/(\d+[\.\d]+))?'
50
- name: 'Fennec'
89
+ # Classilla (http://www.floodgap.com/software/classilla/)
90
+ - regex: 'Classilla/'
91
+ name: 'Classilla'
51
92
  version: '$1'
52
93
  engine:
53
- default: 'Gecko'
94
+ default: 'Clecko'
54
95
 
55
- #MicroB
56
- - regex: 'Firefox.*Tablet browser (\d+[\.\d]+)'
57
- name: 'MicroB'
96
+ # Webian Shell (https://www.webian.org/)
97
+ - regex: 'WebianShell/(\d+[\.\d]+)'
98
+ name: 'Webian Shell'
58
99
  version: '$1'
59
100
  engine:
60
101
  default: 'Gecko'
61
- - regex: 'Maemo Browser(?: (\d+[\.\d]+))?'
62
- name: 'MicroB'
102
+
103
+ # Vonkeror
104
+ - regex: 'Vonkeror(?:/(\d+[\.\d]+))?'
105
+ name: 'Vonkeror'
63
106
  version: '$1'
64
107
  engine:
65
108
  default: 'Gecko'
66
109
 
67
- #Deepnet Explorer
68
- - regex: 'Deepnet Explorer (\d+[\.\d]+)?'
69
- name: 'Deepnet Explorer'
110
+ # Wyzo (https://web.archive.org/web/20140225213818/http://www.wyzo.com/)
111
+ - regex: 'Wyzo/(\d+\.[\.\d]+)'
112
+ name: 'Wyzo'
70
113
  version: '$1'
71
114
 
115
+ # Liri Browser (https://liri.io/apps/browser/ | https://github.com/lirios/browser)
116
+ - regex: 'Liri/(\d+\.[\.\d]+)'
117
+ name: 'Liri Browser'
118
+ version: '$1'
72
119
 
73
- #Avant Browser
74
- - regex: 'Avant Browser'
75
- name: 'Avant Browser'
120
+ # Columbus Browser (https://web.archive.org/web/20140825160020/http://www.columbus-browser.com/screenshot.html)
121
+ - regex: 'Columbus/(\d+\.[\.\d]+)'
122
+ name: 'Columbus Browser'
123
+ version: '$1'
124
+
125
+ # GreenBrowser (http://www.morequick.com/indexen.htm)
126
+ - regex: 'GreenBrowser'
127
+ name: 'GreenBrowser'
76
128
  version: ''
77
129
  engine:
78
- default: '' # multiple
130
+ default: 'Trident'
79
131
 
80
- #Amigo
81
- - regex: 'Chrome/(\d+[\.\d]+).*MRCHROME'
82
- name: 'Amigo'
132
+ # K-Ninja (https://web.archive.org/web/20070305170639/https://www.headbanging-sasquatches.com/download.html)
133
+ - regex: 'K-Ninja/(\d+\.[\.\d]+)'
134
+ name: 'K-Ninja'
83
135
  version: '$1'
84
- engine:
85
- default: 'WebKit'
86
- versions:
87
- 28: 'Blink'
88
136
 
89
- #Atomic Web Browser
90
- - regex: 'AtomicBrowser(?:/(\d+[\.\d]+))?'
91
- name: 'Atomic Web Browser'
137
+ # PirateBrowser (https://web.archive.org/web/20150331033357/http://piratebrowser.com/)
138
+ - regex: '^PB(\d+\.[\.\d]+)'
139
+ name: 'PirateBrowser'
92
140
  version: '$1'
93
141
 
94
- #Bunjalloo
95
- - regex: 'Bunjalloo(?:/(\d+[\.\d]+))?'
96
- name: 'Bunjalloo'
142
+ # East Browser (https://web.archive.org/web/20180322162708/http://www.eastbrowser.com/)
143
+ - regex: 'EastBrowser/(\d+\.[\.\d]+)'
144
+ name: 'East Browser'
97
145
  version: '$1'
98
146
 
99
- #Brave
100
- - regex: 'Brave(?:/(\d+[\.\d]+))?'
101
- name: 'Brave'
147
+ # Qiyu (https://web.archive.org/web/20200904043500/https://qiyu.ruanmei.com/)
148
+ - regex: 'Qiyu/(\d+\.[\.\d]+)'
149
+ name: 'Qiyu'
102
150
  version: '$1'
103
- engine:
104
- default: 'Blink'
105
151
 
106
- #Iceweasel
107
- - regex: 'Iceweasel(?:/(\d+[\.\d]+))?'
108
- name: 'Iceweasel'
152
+ # WebDiscover (https://www.getwebdiscover.com/)
153
+ - regex: 'WebDiscover/(\d+\.[\.\d]+)'
154
+ name: 'WebDiscover'
109
155
  version: '$1'
110
- engine:
111
- default: 'Gecko'
112
156
 
113
- #WebPositive
114
- - regex: 'WebPositive'
115
- name: 'WebPositive'
157
+ # Legan Browser (https://www.legan.com/)
158
+ - regex: 'LeganBrowser/(\d+\.[\.\d]+)'
159
+ name: 'Legan Browser'
160
+ version: '$1'
161
+
162
+ # Acoo Browser (http://www.acoobrowser.com/)
163
+ - regex: 'Acoo Browser'
164
+ name: 'Acoo Browser'
116
165
  version: ''
117
166
  engine:
118
- default: 'WebKit'
167
+ default: 'Trident'
119
168
 
169
+ # Aplix (https://www.aplix.co.jp/)
170
+ - regex: 'Aplix_.*_browser/(\d+\.[\.\d]+)'
171
+ name: 'Aplix'
172
+ version: '$1'
120
173
 
121
- #Pale Moon
122
- - regex: 'PaleMoon(?:/(\d+[\.\d]+))?'
123
- name: 'Pale Moon'
174
+ # Mogok Browser (https://apps.apple.com/gb/app/mogok-browser-2/id1439011302)
175
+ - regex: 'Mogok/(\d+\.[\.\d]+)'
176
+ name: 'Mogok Browser'
124
177
  version: '$1'
125
- engine:
126
- default: 'Gecko'
127
178
 
128
- #CometBird
129
- - regex: 'CometBird(?:/(\d+[\.\d]+))?'
130
- name: 'CometBird'
179
+ # TrueLocation Browser (https://apps.apple.com/us/app/truelocation-browser/id1463071203)
180
+ - regex: '(?:IOS)?TrueLocationBrowser/(\d+\.[\.\d]+)'
181
+ name: 'TrueLocation Browser'
131
182
  version: '$1'
132
- engine:
133
- default: 'Gecko'
134
183
 
135
- #IceDragon
136
- - regex: 'IceDragon(?:/(\d+[\.\d]+))?'
137
- name: 'IceDragon'
184
+ # Diigo Browser (https://apps.apple.com/ca/app/diigo-browser/id933773981)
185
+ - regex: 'DiigoBrowser$'
186
+ name: 'Diigo Browser'
187
+ version: ''
188
+
189
+ # OnBrowser Lite (on.browser)
190
+ - regex: '.*OnBrowserLite(\d+\.[\.\d]+)'
191
+ name: 'OnBrowser Lite'
138
192
  version: '$1'
139
- engine:
140
- default: 'Gecko'
141
193
 
142
- #Flock
143
- - regex: 'Flock(?:/(\d+[\.\d]+))?'
144
- name: 'Flock'
194
+ # Bluefy (https://apps.apple.com/us/app/bluefy-web-ble-browser/id1492822055)
195
+ - regex: 'Bluefy/(\d+\.[\.\d]+)'
196
+ name: 'Bluefy'
145
197
  version: '$1'
146
- engine:
147
- default: 'Gecko'
148
- versions:
149
- 3: 'WebKit'
150
198
 
151
- #Jig Browser
152
- - regex: 'jig browser(?: web;|9i?)?(?:[/ ](\d+[\.\d]+))?'
153
- name: 'Jig Browser'
199
+ # Vision Mobile Browser (https://en.wikipedia.org/wiki/Vision_Mobile_Browser)
200
+ - regex: '(?:Novarra-Vision|Vision-Browser)(?:/(\d+[\.\d]+))?'
201
+ name: 'Vision Mobile Browser'
154
202
  version: '$1'
155
203
 
156
- #Kapiko
157
- - regex: 'Kapiko(?:/(\d+[\.\d]+))?'
158
- name: 'Kapiko'
204
+ # Surfy Browser (https://outcoder.com/apps/surfy/)
205
+ - regex: 'SurfyBrowser/(\d+[\.\d]+)'
206
+ name: 'Surfy Browser'
159
207
  version: '$1'
160
- engine:
161
- default: 'Gecko'
162
208
 
163
- #Kylo
164
- - regex: 'Kylo(?:/(\d+[\.\d]+))?'
165
- name: 'Kylo'
209
+ # 18+ Privacy Browser (https://play.google.com/store/apps/details?id=org.plus18.android)
210
+ - regex: '18\+/([\d\.]+)'
211
+ name: '18+ Privacy Browser'
166
212
  version: '$1'
167
- engine:
168
- default: 'Gecko'
169
213
 
170
- #Swiftfox
171
- - regex: 'Firefox/(\d+[\.\d]+).*\(Swiftfox\)'
172
- name: 'Swiftfox'
214
+ # GoKu (https://sites.google.com/view/goku-browser)
215
+ - regex: 'GoKu-iOS/(\d+[\.\d]+)'
216
+ name: 'GoKu'
173
217
  version: '$1'
174
218
  engine:
175
- default: 'Gecko'
219
+ default: 'WebKit'
176
220
 
177
- #Firefox
178
- - regex: 'Firefox(?:/(\d+[\.\d]+))?'
179
- name: 'Firefox'
221
+ # Ask.com (https://play.google.com/store/apps/details?id=com.ask.browser)
222
+ - regex: 'Ask\.com Mobile Browser'
223
+ name: 'Ask.com'
224
+ version: ''
225
+
226
+ # Bang (com.tencent.bang)
227
+ - regex: 'Bang/(\d+[\.\d]+)'
228
+ name: 'Bang'
229
+ version: '$1'
230
+
231
+ # Intune Managed Browser (https://learn.microsoft.com/en-us/mem/intune/apps/manage-microsoft-edge)
232
+ - regex: 'ManagedBrowser(?:/(\d+[\.\d]+))?'
233
+ name: 'Intune Managed Browser'
234
+ version: '$1'
235
+
236
+ # Lotus (https://play.google.com/store/apps/details?id=dev.sect.lotus.browser.videoapp)
237
+ - regex: 'Lotus/(\d+[\.\d]+)'
238
+ name: 'Lotus'
239
+ version: '$1'
240
+
241
+ # JUZI Browser (https://www.123juzi.com/)
242
+ - regex: 'JuziBrowser'
243
+ name: 'JUZI Browser'
244
+ version: ''
245
+
246
+ # Ninetails (https://github.com/MystPi/ninetails)
247
+ - regex: 'Ninetails(?:/(\d+[\.\d]+))?'
248
+ name: 'Ninetails'
249
+ version: '$1'
250
+
251
+ # Wexond (https://github.com/wexond/browser-base)
252
+ - regex: 'Wexond(?:/(\d+[\.\d]+))?'
253
+ name: 'Wexond'
254
+ version: '$1'
255
+
256
+ # Catalyst (https://github.com/CatalystDevOrg/Catalyst)
257
+ - regex: 'catalyst(?:/(\d+[\.\d]+))?'
258
+ name: 'Catalyst'
259
+ version: '$1'
260
+
261
+ # Impervious Browser (https://www.impervious.ai/)
262
+ - regex: 'Impervious(?:/(\d+[\.\d]+))?'
263
+ name: 'Impervious Browser'
180
264
  version: '$1'
181
265
  engine:
182
266
  default: 'Gecko'
183
- - regex: '(BonEcho|GranParadiso|Lorentz|Minefield|Namoroka|Shiretoko)/(\d+[\.\d]+)'
184
- name: 'Firefox'
185
- version: '$1 ($2)'
186
- engine:
187
- default: 'Gecko'
188
- - regex: 'FxiOS/(\d+[\.\d]+)'
189
- name: 'Firefox'
190
- version: 'iOS $1'
191
- engine:
192
- default: 'WebKit'
193
267
 
194
- #ANT Fresco
195
- - regex: 'ANTFresco(?:[/ ](\d+[\.\d]+))?'
196
- name: 'ANT Fresco'
268
+ # Rakuten Browser (https://play.google.com/store/apps/details?id=jp.co.rakuten.mobile.browser)
269
+ - regex: 'RakutenBrowser(?:/(\d+[\.\d]+))?'
270
+ name: 'Rakuten Browser'
197
271
  version: '$1'
198
272
 
199
- #ANTGalio
200
- - regex: 'ANTGalio(?:/(\d+[\.\d]+))?'
201
- name: 'ANTGalio'
273
+ # Rakuten Web Search (https://play.google.com/store/apps/details?id=jp.co.rakuten.toolbar.raws)
274
+ - regex: 'RakutenWebSearch(?:/(\d+[\.\d]+))?'
275
+ name: 'Rakuten Web Search'
202
276
  version: '$1'
203
277
 
204
- #Espial TV Browser
205
- - regex: '(?:Espial|Escape)(?:[/ ](\d+[\.\d]+))?'
206
- name: 'Espial TV Browser'
278
+ # VibeMate (https://www.vibemate.com/)
279
+ - regex: 'VibeMate(?:/(\d+[\.\d]+))?'
280
+ name: 'VibeMate'
207
281
  version: '$1'
208
282
 
209
- #RockMelt
210
- - regex: 'RockMelt(?:/(\d+[\.\d]+))?'
211
- name: 'RockMelt'
283
+ # Colom Browser
284
+ - regex: 'yixia\.browser/com\.donerbrowser\.app/'
285
+ name: 'Colom Browser'
286
+ version: ''
287
+
288
+ # tararia (https://apps.apple.com/us/app/tararia-multi-tab-webbrowser/id1599928209)
289
+ - regex: 'tararia/(\d+\.[\.\d]+)'
290
+ name: 'tararia'
291
+ version: '$1'
292
+
293
+ # SberBrowser
294
+ - regex: 'SberBrowser/(\d+\.[\.\d]+)'
295
+ name: 'SberBrowser'
212
296
  version: '$1'
213
297
  engine:
214
- default: 'WebKit'
298
+ default: 'Blink'
215
299
 
216
- #Fireweb Navigator
217
- - regex: 'Fireweb Navigator(?:/(\d+[\.\d]+))?'
218
- name: 'Fireweb Navigator'
300
+ # Raspbian Chromium (https://www.raspbian.org/)
301
+ - regex: 'Raspbian Chromium/(?:(\d+[\.\d]+))?'
302
+ name: 'Raspbian Chromium'
219
303
  version: '$1'
220
304
 
221
- #Fireweb
222
- - regex: 'Fireweb(?:/(\d+[\.\d]+))?'
223
- name: 'Fireweb'
305
+ # Quick Search TV (https://play.google.com/store/apps/details?id=com.aospstudio.tvsearch)
306
+ - regex: 'Quick Search TV(?:/(?:Wild Moon Edition )?(\d+[\.\d]+))?'
307
+ name: 'Quick Search TV'
224
308
  version: '$1'
225
309
 
226
- #Netscape
227
- - regex: '(?:Navigator|Netscape6?)(?:/(\d+[\.\d]+))?'
228
- name: 'Netscape'
310
+ # Skye (https://innatical.com/)
311
+ - regex: 'Skye/(\d+\.[\.\d]+)'
312
+ name: 'Skye'
229
313
  version: '$1'
230
314
  engine:
231
- default: '' # Mosaic in the first versions, then Gecko
315
+ default: 'Blink'
232
316
 
233
- #Opera
234
- - regex: '(?:Opera Tablet.*Version|Opera/.+Opera Mobi.+Version|Mobile.+OPR)/(\d+[\.\d]+)'
235
- name: 'Opera Mobile'
236
- version: '$1'
317
+ # VD Browser (vpn.video.downloader)
318
+ - regex: 'VD/\d+'
319
+ name: 'VD Browser'
320
+ version: ''
237
321
  engine:
238
- default: 'Presto'
239
- versions:
240
- 15: 'Blink'
241
- - regex: 'Opera Mini/(?:att/)?(\d+[\.\d]+)'
242
- name: 'Opera Mini'
243
- version: '$1'
322
+ default: 'Blink'
323
+
324
+ # SecureX (https://play.google.com/store/apps/details?id=com.securex.browser)
325
+ - regex: '\[(?:HB/29|PB/(?:66|81))\]'
326
+ name: 'SecureX'
327
+ version: ''
244
328
  engine:
245
- default: 'Presto'
246
- - regex: 'Opera.+Edition Next.+Version/(\d+[\.\d]+)'
247
- name: 'Opera Next'
248
- version: '$1'
329
+ default: 'Blink'
330
+
331
+ # HotBrowser (https://play.google.com/store/apps/details?id=com.hotsurf.browser)
332
+ - regex: '\[HS/\d+\]'
333
+ name: 'HotBrowser'
334
+ version: ''
249
335
  engine:
250
- default: 'Presto'
251
- versions:
252
- 15: 'Blink'
253
- - regex: '(?:Opera|OPR)[/ ](?:9.80.*Version/)?(\d+[\.\d]+).+Edition Next'
254
- name: 'Opera Next'
336
+ default: 'Blink'
337
+
338
+ # Proxy Browser (https://play.google.com/store/apps/details?id=proxy.browser.unblock.sites.proxybrowser.unblocksites)
339
+ - regex: '\[PB/\d+\]'
340
+ name: 'Proxy Browser'
341
+ version: ''
342
+ engine:
343
+ default: 'Blink'
344
+
345
+ # Onion Browser (https://apps.apple.com/us/app/onion-browser/id519296448)
346
+ - regex: '^Normalized (?:iPad|iPhone) \(iOS Safari\)'
347
+ name: 'Onion Browser'
348
+ version: ''
349
+ engine:
350
+ default: 'WebKit'
351
+
352
+ # fGet (https://apps.apple.com/us/app/fget-file-manager-browser/id1582654012)
353
+ - regex: 'fGet/'
354
+ name: 'fGet'
355
+ version: ''
356
+
357
+ # Nuviu (https://www.nuviu-browser.com/)
358
+ - regex: 'Nuviu/(?:(\d+[\.\d]+))?'
359
+ name: 'Nuviu'
360
+ version: '$1'
361
+
362
+ # DoCoMo (https://play.google.com/store/apps/details?id=com.airfind.browser)
363
+ - regex: 'DoCoMo/(?:(\d+[\.\d]+))?'
364
+ name: 'DoCoMo'
365
+ version: '$1'
366
+
367
+ # Airfind Secure Browser (https://play.google.com/store/apps/details?id=com.airfind.browser)
368
+ - regex: 'com\.airfind\.browser/(?:(\d+[\.\d]+))?'
369
+ name: 'Airfind Secure Browser'
255
370
  version: '$1'
256
371
  engine:
257
- default: 'Presto'
258
- versions:
259
- 15: 'Blink'
260
- - regex: '(?:Opera|OPR)[/ ]?(?:9.80.*Version/)?(\d+[\.\d]+)'
261
- name: 'Opera'
372
+ default: 'Blink'
373
+
374
+ # Arc (https://arc.net/)
375
+ - regex: 'ArcMobile2(?:/(\d+\.[\.\d]+);)?'
376
+ name: 'Arc'
262
377
  version: '$1'
263
378
  engine:
264
- default: ''
265
- versions:
266
- 3.5: 'Elektra'
267
- 7: 'Presto'
268
- 15: 'Blink'
379
+ default: 'WebKit'
269
380
 
270
- #Rekonq
271
- - regex: 'rekonq(?:/(\d+[\.\d]+))?'
272
- name: 'Rekonq'
381
+ # Nuanti Meta (http://meta.nuanti.com/)
382
+ - regex: 'Nuanti(?:Meta)?/(\d+\.[\.\d]+)'
383
+ name: 'Nuanti Meta'
273
384
  version: '$1'
274
385
  engine:
275
386
  default: 'WebKit'
276
387
 
277
- #CoolNovo (former ChromePlus)
278
- - regex: 'CoolNovo(?:/(\d+[\.\d]+))?'
279
- name: 'CoolNovo'
388
+ # Roku Browser (https://www.roku.com/)
389
+ - regex: 'RokuBrowser/(\d+\.[\.\d]+)'
390
+ name: 'Roku Browser'
280
391
  version: '$1'
281
392
  engine:
282
- default: '' # multi engine
393
+ default: 'Blink'
283
394
 
284
- #Comodo Dragon
285
- - regex: 'Comodo[ _]Dragon(?:/(\d+[\.\d]+))?'
286
- name: 'Comodo Dragon'
395
+ # PICO Browser (https://www.picoxr.com/)
396
+ - regex: 'PicoBrowser/(\d+\.[\.\d]+)'
397
+ name: 'PICO Browser'
287
398
  version: '$1'
288
399
  engine:
289
- default: 'WebKit'
290
- versions:
291
- 28: 'Blink'
400
+ default: 'Blink'
292
401
 
293
- #ChromePlus
294
- - regex: 'ChromePlus(?:/(\d+[\.\d]+))?'
295
- name: 'ChromePlus'
402
+ # ALVA (https://oyealva.com/)
403
+ - regex: 'Alva/(\d+\.[\.\d]+)'
404
+ name: 'ALVA'
296
405
  version: '$1'
297
406
  engine:
298
- default: '' # multi engine
407
+ default: 'Blink'
299
408
 
300
- #Conkeror
301
- - regex: 'Conkeror(?:/(\d+[\.\d]+))?'
409
+ # Norton Private Browser (https://norton.com/products/norton-private-browser)
410
+ - regex: 'Norton/(\d+\.[\.\d]+)'
411
+ name: 'Norton Private Browser'
412
+ version: '$1'
413
+ engine:
414
+ default: 'Blink'
415
+
416
+ # Odd Browser (https://play.google.com/store/apps/details?id=com.corproxy.browser)
417
+ - regex: 'Odd/(\d+\.[\.\d]+)'
418
+ name: 'Odd Browser'
419
+ version: '$1'
420
+ engine:
421
+ default: 'Blink'
422
+
423
+ # APN Browser
424
+ - regex: 'Safari/537\.36 (?:Browser|Navegador)'
425
+ name: 'APN Browser'
426
+ version: ''
427
+ engine:
428
+ default: 'Blink'
429
+
430
+ # YAGI (https://play.google.com/store/apps/details?id=in.nismah.yagi)
431
+ - regex: 'YAGI/(\d+\.[\.\d]+)'
432
+ name: 'YAGI'
433
+ version: '$1'
434
+ engine:
435
+ default: 'Blink'
436
+
437
+ # Inspect Browser (https://apps.apple.com/us/app/inspect-browser/id1203594958)
438
+ - regex: 'InspectBrowser'
439
+ name: 'Inspect Browser'
440
+ version: ''
441
+
442
+ # Keepsafe Browser (https://www.getkeepsafe.com/products/browser/)
443
+ - regex: 'Keepsafe Browser'
444
+ name: 'Keepsafe Browser'
445
+ version: ''
446
+
447
+ # Vast Browser (https://play.google.com/store/apps/details?id=com.vast.vpn.proxy.unblock)
448
+ - regex: '(.*)Vast Browser/(\d+\.[\.\d]+)'
449
+ name: 'Vast Browser'
450
+ version: '$2'
451
+ engine:
452
+ default: 'Blink'
453
+
454
+ # Bloket (https://play.google.com/store/apps/details?id=ai.blokee.browser.android)
455
+ - regex: 'bloket'
456
+ name: 'Bloket'
457
+ version: ''
458
+ engine:
459
+ default: 'Blink'
460
+
461
+ # U Browser (https://play.google.com/store/apps/details?id=com.u_browser)
462
+ - regex: '(.*)U Browser(\d+\.[\.\d]+)'
463
+ name: 'U Browser'
464
+ version: '$2'
465
+ engine:
466
+ default: 'Blink'
467
+
468
+ # Tesla Browser (https://www.teslabrowser.com/)
469
+ - regex: 'Chrome/(\d+\.[\.\d]+).+TeslaBrowser/'
470
+ name: 'Tesla Browser'
471
+ version: '$1'
472
+ engine:
473
+ default: 'Blink'
474
+
475
+ # Viasat Browser (https://browser.viasat.com/)
476
+ - regex: 'Chrome/(\d+\.[\.\d]+).+Sparrow'
477
+ name: 'Viasat Browser'
478
+ version: '$1'
479
+ engine:
480
+ default: 'WebKit'
481
+ versions:
482
+ 28: 'Blink'
483
+ - regex: 'Sparrow/.+CFNetwork'
484
+ name: 'Viasat Browser'
485
+ version: ''
486
+ engine:
487
+ default: 'WebKit'
488
+
489
+ # Lilo (https://play.google.com/store/apps/details?id=org.lilo.mobile.android2020)
490
+ - regex: 'Lilo/(\d+\.[\.\d]+)'
491
+ name: 'Lilo'
492
+ version: '$1'
493
+ engine:
494
+ default: 'Blink'
495
+ - regex: 'Lilo/.+CFNetwork'
496
+ name: 'Lilo'
497
+ version: ''
498
+ engine:
499
+ default: 'WebKit'
500
+
501
+ # Lexi Browser (https://play.google.com/store/apps/details?id=com.lexi.browser)
502
+ - regex: 'lexi/(\d+[\.\d]+)'
503
+ name: 'Lexi Browser'
504
+ version: '$1'
505
+ engine:
506
+ default: 'Blink'
507
+
508
+ # Floorp (https://floorp.ablaze.one/)
509
+ - regex: 'Floorp/(\d+[\.\d]+)'
510
+ name: 'Floorp'
511
+ version: '$1'
512
+ engine:
513
+ default: 'Gecko'
514
+
515
+ # Surf Browser (https://play.google.com/store/apps/details?id=com.gl9.cloudBrowser)
516
+ - regex: 'SurfBrowser/(\d+[\.\d]+)'
517
+ name: 'Surf Browser'
518
+ version: '$1'
519
+ engine:
520
+ default: 'Blink'
521
+
522
+ # Decentr (https://decentr.net/)
523
+ - regex: 'Decentr'
524
+ name: 'Decentr'
525
+ version: ''
526
+ engine:
527
+ default: 'Blink'
528
+
529
+ # YouCare (https://play.google.com/store/apps/details?id=com.youcare.browser)
530
+ - regex: 'youcare-android-app'
531
+ name: 'YouCare'
532
+ version: ''
533
+ engine:
534
+ default: 'Blink'
535
+ - regex: 'youcare-ios-app'
536
+ name: 'YouCare'
537
+ version: ''
538
+ engine:
539
+ default: 'WebKit'
540
+
541
+ # AdBlock Browser (https://play.google.com/store/apps/details?id=org.adblockplus.browser)
542
+ - regex: 'ABB/(\d+[\.\d]+)'
543
+ name: 'AdBlock Browser'
544
+ version: '$1'
545
+ engine:
546
+ default: 'Blink'
547
+
548
+ # BrowseHere
549
+ - regex: '\d+/tclwebkit(?:\d+[\.\d]*)'
550
+ name: 'BrowseHere'
551
+ version: ""
552
+
553
+ # Hi Browser (https://play.google.com/store/apps/details?id=com.talpa.hibrowser)
554
+ - regex: 'HiBrowser/v?(\d+[\.\d]+)'
555
+ name: 'Hi Browser'
556
+ version: '$1'
557
+ engine:
558
+ default: 'Blink'
559
+
560
+ # CYBrowser (https://www.cgl.ucsf.edu/cytoscape/utilities3/cybrowser.shtml)
561
+ - regex: 'CYBrowser/(\d+[\.\d]+)'
562
+ name: 'CyBrowser'
563
+ version: '$1'
564
+
565
+ # SiteKiosk (https://www.sitekiosk.com/)
566
+ - regex: 'Chrome/.+ SiteKiosk (\d+[\.\d]+)'
567
+ name: 'SiteKiosk'
568
+ version: '$1'
569
+ engine:
570
+ default: 'Blink'
571
+ - regex: 'SiteKiosk (\d+[\.\d]+)'
572
+ name: 'SiteKiosk'
573
+ version: '$1'
574
+
575
+ # Reqwireless WebViewer
576
+ - regex: 'ReqwirelessWeb/(\d+[\.\d]+)'
577
+ name: 'Reqwireless WebViewer'
578
+ version: '$1'
579
+
580
+ # T+Browser (https://t.chanjet.com/tplus/view/login/downloadBrowser.html | https://dad.chanapp.chanjet.com/tplusapp/TPlusBrowser.exe)
581
+ - regex: 'T\+Browser/(\d+[\.\d]+)'
582
+ name: 'T+Browser'
583
+ version: '$1'
584
+ engine:
585
+ default: 'Blink'
586
+
587
+ # SP Browser (https://play.google.com/store/apps/details?id=privatebrowser.securebrowser.com.klar)
588
+ - regex: 'Private Browser/(\d+[\.\d]+) Chrome/'
589
+ name: 'Secure Private Browser'
590
+ version: '$1'
591
+ engine:
592
+ default: 'Blink'
593
+
594
+ # ChanjetCloud (https://dad.chanapp.chanjet.com/tplusapp/HsySetup.exe)
595
+ - regex: 'ChanjetCloud/(\d+[\.\d]+)'
596
+ name: 'ChanjetCloud'
597
+ version: '$1'
598
+ engine:
599
+ default: 'Blink'
600
+
601
+ # Sushi Browser (https://sushi-browser.com/)
602
+ - regex: 'SushiBrowser/(\d+[\.\d]+)'
603
+ name: 'Sushi Browser'
604
+ version: '$1'
605
+ engine:
606
+ default: 'Blink'
607
+
608
+ # Peeps dBrowser (https://peepsx.com/dbrowser.html)
609
+ - regex: 'dBrowser/(\d+[\.\d]+)'
610
+ name: 'Peeps dBrowser'
611
+ version: '$1'
612
+ engine:
613
+ default: 'Blink'
614
+
615
+ # LT Browser (https://www.lambdatest.com/lt-browser)
616
+ - regex: 'LTBrowser/(\d+[\.\d]+)'
617
+ name: 'LT Browser'
618
+ version: '$1'
619
+ engine:
620
+ default: 'Blink'
621
+
622
+ # Lagatos Browser (https://lagatos.com/)
623
+ - regex: 'lagatos-browser/(\d+[\.\d]+)'
624
+ name: 'Lagatos Browser'
625
+ version: '$1'
626
+ engine:
627
+ default: 'Blink'
628
+
629
+ # PSI Secure Browser (https://tca.psiexams.com/portal/testdelivery/sb_rpnow_download.jsp?)
630
+ - regex: 'psi-secure-browser/(\d+[\.\d]+)'
631
+ name: 'PSI Secure Browser'
632
+ version: '$1'
633
+ engine:
634
+ default: 'Blink'
635
+
636
+ # Harman Browser (https://www.harman.com/)
637
+ - regex: 'Harman_Browser/(\d+[\.\d]+)'
638
+ name: 'Harman Browser'
639
+ version: '$1'
640
+ engine:
641
+ default: 'Blink'
642
+
643
+ # Bonsai (https://bonsaibrowser.com/)
644
+ - regex: 'bonsai-browser/(\d+[\.\d]+)'
645
+ name: 'Bonsai'
646
+ version: '$1'
647
+ engine:
648
+ default: 'Blink'
649
+
650
+ # Spectre Browser (https://spectrebots.com/products/spectre-desktop-browser)
651
+ - regex: 'spectre-browser/(\d+[\.\d]+)'
652
+ name: 'Spectre Browser'
653
+ version: '$1'
654
+ engine:
655
+ default: 'Blink'
656
+
657
+ # Flash Browser (https://github.com/asteroid-dev/FlashBrowser or https://github.com/radubirsan/FlashBrowser)
658
+ - regex: 'FlashBrowser/(\d+[\.\d]+)'
659
+ name: 'Flash Browser'
660
+ version: '$1'
661
+ engine:
662
+ default: 'Blink'
663
+
664
+ # Secure Browser (https://safertechnologies.io/)
665
+ - regex: 'Secure/(?:(\d+[\.\d]+))?'
666
+ name: 'Secure Browser'
667
+ version: '$1'
668
+ engine:
669
+ default: 'Blink'
670
+
671
+ # Arvin (https://play.google.com/store/apps/details?id=com.browser.arvin.anti.blokir&hl=sv&gl=US)
672
+ - regex: 'Arvin/(\d+[\.\d]+)'
673
+ name: 'Arvin'
674
+ version: '$1'
675
+ engine:
676
+ default: 'Blink'
677
+
678
+ # Edge Webview (https://docs.microsoft.com/en-us/microsoft-edge/webview2/)
679
+ - regex: 'Version/.+Chrome/.+EdgW/(\d+[\.\d]+)'
680
+ name: 'Edge WebView'
681
+ version: '$1'
682
+ engine:
683
+ default: 'Blink'
684
+
685
+ # Mandarin (https://mandarin-browser.com/)
686
+ - regex: 'Mandarin Browser/(\d+[\.\d]+)'
687
+ name: 'Mandarin'
688
+ version: '$1'
689
+ engine:
690
+ default: 'Blink'
691
+
692
+ # Maelstrom (https://www.bittorrent.com/)
693
+ - regex: 'Torrent/(\d+[\.\d]+)'
694
+ name: 'Maelstrom'
695
+ version: '$1'
696
+ engine:
697
+ default: 'Blink'
698
+
699
+ # Helio (https://developer.magicleap.com/en-us/learn/guides/lumin-os-release-notes-summary)
700
+ - regex: 'Helio/(\d+[\.\d]+)'
701
+ name: 'Helio'
702
+ version: '$1'
703
+ engine:
704
+ default: 'Blink'
705
+
706
+ # 7654 Browser (http://7654browser.shzhanmeng.com/)
707
+ - regex: '7654Browser/(\d+[\.\d]+)'
708
+ name: '7654 Browser'
709
+ version: '$1'
710
+ engine:
711
+ default: 'Blink'
712
+
713
+ # Qazweb (http://www.qazweb.com/)
714
+ - regex: 'Qazweb/(\d+[\.\d]+)'
715
+ name: 'Qazweb'
716
+ version: '$1'
717
+ engine:
718
+ default: 'Gecko'
719
+
720
+ # deg-degan (https://degdegan.com/)
721
+ - regex: 'Degdegan/(\d+[\.\d]+)'
722
+ name: 'deg-degan'
723
+ version: '$1'
724
+ engine:
725
+ default: 'Blink'
726
+
727
+ # JavaFX (https://docs.oracle.com/javase/8/javafx/embedded-browser-tutorial/overview.htm)
728
+ - regex: 'JavaFX/(\d+[\.\d]+)'
729
+ name: 'JavaFX'
730
+ version: '$1'
731
+ engine:
732
+ default: 'WebKit'
733
+
734
+ # Chedot (https://landing.chedot.com/)
735
+ - regex: 'Chedot/(\d+[\.\d]+)'
736
+ name: 'Chedot'
737
+ version: '$1'
738
+ engine:
739
+ default: 'Blink'
740
+
741
+ # Chromium GOST (https://github.com/deemru/chromium-gost)
742
+ - regex: 'Chrome/(\d+\.[\.\d]+) .*\(Chromium GOST\)'
743
+ name: 'Chromium GOST'
744
+ version: '$1'
745
+ engine:
746
+ default: 'WebKit'
747
+ versions:
748
+ 28: 'Blink'
749
+
750
+ # Deledao (https://www.deledao.com/)
751
+ - regex: '(?:DeledaoPersonal|DeledaoFamily)/(\d+[\.\d]+)'
752
+ name: 'Deledao'
753
+ version: '$1'
754
+ engine:
755
+ default: 'Blink'
756
+
757
+ # HasBrowser (https://browser.hascoding.com)
758
+ - regex: 'HasBrowser/(\d+[\.\d]+)'
759
+ name: 'HasBrowser'
760
+ version: '$1'
761
+ engine:
762
+ default: 'Blink'
763
+
764
+ # Byffox (https://byffox.sourceforge.io/index.php)
765
+ - regex: 'Byffox/(\d+[\.\d]+)'
766
+ name: 'Byffox'
767
+ version: '$1'
768
+ engine:
769
+ default: 'Gecko'
770
+
771
+ # CoolBrowser (https://play.google.com/store/apps/details?id=com.easybrowser.browser.coolbrowser)
772
+ - regex: 'Chrome/(\d+\.[\.\d]+) .*AgentWeb.+UCBrowser'
773
+ name: 'CoolBrowser'
774
+ version: '$1'
775
+ engine:
776
+ default: 'Blink'
777
+
778
+ # Dot Browser (https://dothq.co/)
779
+ - regex: 'DotBrowser/(\d+[\.\d]+)'
780
+ name: 'Dot Browser'
781
+ version: '$1'
782
+ engine:
783
+ default: 'Blink'
784
+
785
+ # Craving Explorer (https://www.crav-ing.com/)
786
+ - regex: 'CravingExplorer/(\d+[\.\d]+)'
787
+ name: 'Craving Explorer'
788
+ version: '$1'
789
+ engine:
790
+ default: 'Blink'
791
+
792
+ # DeskBrowse (https://web.archive.org/web/20170614060014/http://deskbrowse.org/)
793
+ - regex: 'DeskBrowse/(\d+[\.\d]+)'
794
+ name: 'DeskBrowse'
795
+ version: '$1'
796
+
797
+ # Lolifox
798
+ - regex: 'Lolifox/(\d+[\.\d]+)'
799
+ name: 'Lolifox'
800
+ version: '$1'
801
+
802
+ # PiBrowser (https://play.google.com/store/apps/details?id=pi.browser)
803
+ - regex: 'PiBrowser/(\d+[\.\d]+)'
804
+ name: 'Pi Browser'
805
+ version: '$1'
806
+ engine:
807
+ default: 'Blink'
808
+
809
+ # Qutebrowser (https://qutebrowser.org/)
810
+ - regex: 'qutebrowser/(\d+\.[\.\d]+) .*Chrome'
811
+ name: 'Qutebrowser'
812
+ version: '$1'
813
+ engine:
814
+ default: 'Blink'
815
+ - regex: 'qutebrowser(?:/(\d+[\.\d]+))?'
816
+ name: 'Qutebrowser'
817
+ version: '$1'
818
+
819
+ # Flast (https://github.com/FascodeNet/Flast)
820
+ - regex: 'flast/(\d+[\.\d]+)'
821
+ name: 'Flast'
822
+ version: '$1'
823
+ engine:
824
+ default: 'Blink'
825
+
826
+ # PolyBrowser (https://github.com/PolySuite/PolyBrowser)
827
+ - regex: 'PolyBrowser/(\d+[\.\d]+)'
828
+ name: 'PolyBrowser'
829
+ version: '$1'
830
+ engine:
831
+ default: 'Gecko'
832
+
833
+ # BriskBard (https://www.briskbard.com/)
834
+ - regex: 'Chrome.+BriskBard/(\d+[\.\d]+)'
835
+ name: 'BriskBard'
836
+ version: '$1'
837
+ engine:
838
+ default: 'Blink'
839
+ - regex: 'BriskBard(?:/(\d+[\.\d]+))?'
840
+ name: 'BriskBard'
841
+ version: '$1'
842
+
843
+ # GinxDroid Browser (https://play.google.com/store/apps/details?id=ginxdroid.gdm)
844
+ - regex: 'GinxDroid(?:Browser)?/(\d+[\.\d]+)'
845
+ name: 'GinxDroid Browser'
846
+ version: '$1'
847
+ engine:
848
+ default: 'Blink'
849
+
850
+ # Avira Secure Browser (https://www.avira.com/en/avira-secure-browser)
851
+ - regex: 'Avira(?:Scout)?/(\d+[\.\d]+)'
852
+ name: 'Avira Secure Browser'
853
+ version: '$1'
854
+ engine:
855
+ default: 'Blink'
856
+
857
+ # Venus Browser (https://play.google.com/store/apps/details?id=com.venus.browser)
858
+ - regex: 'VenusBrowser/(\d+[\.\d]+)'
859
+ name: 'Venus Browser'
860
+ version: '$1'
861
+ engine:
862
+ default: 'Blink'
863
+
864
+ # Otter Browser (https://github.com/OtterBrowser/otter-browser)
865
+ - regex: 'Chrome.+Otter(?:[ /](\d+[\.\d]+))?'
866
+ name: 'Otter Browser'
867
+ version: '$1'
868
+ engine:
869
+ default: 'Blink'
870
+ - regex: 'Otter(?:[ /](\d+[\.\d]+))?'
871
+ name: 'Otter Browser'
872
+ version: '$1'
873
+
874
+ # Smooz (https://smoozapp.com/)
875
+ - regex: 'Chrome.+Smooz/(\d+[\.\d]+)'
876
+ name: 'Smooz'
877
+ version: '$1'
878
+ engine:
879
+ default: 'Blink'
880
+ - regex: 'Smooz/(\d+[\.\d]+)'
881
+ name: 'Smooz'
882
+ version: '$1'
883
+
884
+ # Bangla Browser (https://play.google.com/store/apps/details?id=com.w3engineers.banglabrowser)
885
+ - regex: 'BanglaBrowser/(\d+\.[.\d]+)'
886
+ name: 'Bangla Browser'
887
+ version: '$1'
888
+ engine:
889
+ default: 'Blink'
890
+
891
+ # Cornowser (https://github.com/xdevs23/Cornowser)
892
+ - regex: 'Cornowser/(\d+[\.\d]+)'
893
+ name: 'Cornowser'
894
+ version: '$1'
895
+ engine:
896
+ default: 'Blink'
897
+
898
+ # Orca (http://www.orcabrowser.com)
899
+ - regex: 'Orca/(\d+[\.\d]+)'
900
+ name: 'Orca'
901
+ version: '$1'
902
+
903
+ # Flow Browser (https://play.google.com/store/apps/details?id=org.flow.browser)
904
+ - regex: 'Android (?:[\d\.]+;) ?(?:[^;]+;)? Flow\) AppleWebKit/537.+Chrome/\d{3}'
905
+ name: 'Flow Browser'
906
+ version: ''
907
+ engine:
908
+ default: 'Blink'
909
+ # Flow (https://www.ekioh.com/)
910
+ - regex: 'Flow/(?:(\d+[\.\d]+))'
911
+ name: 'Flow'
912
+ version: '$1'
913
+ engine:
914
+ default: 'EkiohFlow'
915
+ - regex: 'Ekioh/(?:(\d+[\.\d]+))'
916
+ name: 'Flow'
917
+ version: '$1'
918
+ engine:
919
+ default: 'EkiohFlow'
920
+
921
+ # xStand (https://www.adnx.com/)
922
+ - regex: 'xStand/(\d+[\.\d]+)'
923
+ name: 'xStand'
924
+ version: '$1'
925
+ engine:
926
+ default: 'WebKit'
927
+
928
+ # Biyubi (http://www.biyubi.com/)
929
+ - regex: 'Biyubi/(\d+[\.\d]+)'
930
+ name: 'Biyubi'
931
+ version: '$1'
932
+
933
+ # Perfect Browser (http://www.perfectbrowser.com/)
934
+ - regex: '(?:Perfect%20Browser(?:-iPad)?|Perfect(?:BrowserPro)?)/(\d+[\.\d]+)'
935
+ name: 'Perfect Browser'
936
+ version: '$1'
937
+ engine:
938
+ default: 'WebKit'
939
+
940
+ # Phantom Browser (https://www.lg.com/)
941
+ - regex: 'Browser/Phantom/V(\d+[\.\d]+)'
942
+ name: 'Phantom Browser'
943
+ version: '$1'
944
+
945
+ # AwoX (https://www.awox.com.tr/)
946
+ - regex: 'AwoX(?:/(\d+[\.\d]+))? Browser'
947
+ name: 'AwoX'
948
+ version: '$1'
949
+
950
+ # Zetakey (https://www.zetakey.com/)
951
+ - regex: 'Zetakey/(\d+[\.\d]+)'
952
+ name: 'Zetakey'
953
+ version: '$1'
954
+ engine:
955
+ default: 'WebKit'
956
+
957
+ # PlayFree Browser
958
+ - regex: 'PlayFreeBrowser/(?:(\d+[\.\d]+))?'
959
+ name: 'PlayFree Browser'
960
+ version: '$1'
961
+
962
+ # Chim Lac (https://chimlac.com.vn/)
963
+ - regex: '(?:chimlac_browser|chimlac)/(?:(\d+[\.\d]+))'
964
+ name: 'Chim Lac'
965
+ version: '$1'
966
+ engine:
967
+ default: 'Blink'
968
+
969
+ # Odin (https://www.hisense.com/)
970
+ - regex: 'Odin/(?:(\d+[\.\d]+))'
971
+ name: 'Odin'
972
+ version: '$1'
973
+ engine:
974
+ default: 'Blink'
975
+
976
+ # T-Browser and new BrowseHere (https://play.google.com/store/apps/details?id=com.tcl.browser)
977
+ - regex: 'Tbrowser/(\d+[\.\d]+)'
978
+ name: 'T-Browser'
979
+ version: '$1'
980
+ engine:
981
+ default: 'Blink'
982
+ - regex: 'com\.tcl\.browser'
983
+ name: 'BrowseHere'
984
+ version: '$1'
985
+ engine:
986
+ default: 'Blink'
987
+
988
+ # SFive (https://sfive.vn/)
989
+ - regex: 'SFive(?:_Android)?/.+ Chrome/(\d+[\.\d]+)'
990
+ name: 'SFive'
991
+ version: '$1'
992
+ engine:
993
+ default: 'Blink'
994
+ - regex: 'SFive_IOS/(\d+[\.\d]+)'
995
+ name: 'SFive'
996
+ version: '$1'
997
+
998
+ # Navigateur Web
999
+ - regex: 'Navigateur web/(?:(\d+[\.\d]+))?'
1000
+ name: 'Navigateur Web'
1001
+ version: '$1'
1002
+
1003
+ #Seraphic Sraf (https://www.seraphic-corp.com/)
1004
+ - regex: 'Sraf(?:[/ ](\d+[\.\d]+))?'
1005
+ name: 'Seraphic Sraf'
1006
+ version: '$1'
1007
+ engine:
1008
+ default: 'Blink'
1009
+
1010
+ # Seewo Browser (http://e.seewo.com/)
1011
+ - regex: 'SeewoBrowser/(?:(\d+[\.\d]+))?'
1012
+ name: 'Seewo Browser'
1013
+ version: '$1'
1014
+ engine:
1015
+ default: 'Blink'
1016
+
1017
+ # 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)
1018
+ - regex: '(?:Kode(?:iOS)?/(?:(\d+[\.\d]+))?|TansoDL)'
1019
+ name: 'Kode Browser'
1020
+ version: '$1'
1021
+
1022
+ # UR Browser (https://www.ur-browser.com/)
1023
+ - regex: 'UR/(?:(\d+[\.\d]+))'
1024
+ name: 'UR Browser'
1025
+ version: '$1'
1026
+ engine:
1027
+ default: 'Blink'
1028
+
1029
+ # OceanHero (https://oceanhero.today)
1030
+ - regex: 'OceanHero/([\.\d]+)'
1031
+ name: 'OceanHero'
1032
+ version: '$1'
1033
+ engine:
1034
+ default: 'Blink'
1035
+
1036
+ # Smart Lenovo Browser (https://www.lenovo.com.cn/)
1037
+ - regex: 'Chrome/.+ SLBrowser/(?:(\d+[\.\d]+))?'
1038
+ name: 'Smart Lenovo Browser'
1039
+ version: '$1'
1040
+ engine:
1041
+ default: 'Blink'
1042
+ - regex: 'SLBrowser/(?:(\d+[\.\d]+))?'
1043
+ name: 'Smart Lenovo Browser'
1044
+ version: '$1'
1045
+
1046
+ # Browzar (https://www.browzar.com/)
1047
+ - regex: 'Browzar'
1048
+ name: 'Browzar'
1049
+ version: ''
1050
+
1051
+ # Stargon (http://www.stargon.org/ | https://play.google.com/store/apps/details?id=net.onecook.browser)
1052
+ - regex: 'Stargon/(?:(\d+[\.\d]+))?'
1053
+ name: 'Stargon'
1054
+ version: '$1'
1055
+ engine:
1056
+ default: 'Blink'
1057
+
1058
+ # NFS Browser (https://github.com/nfschina/nfs-browser)
1059
+ - regex: 'NFSBrowser/(?:(\d+[\.\d]+))?'
1060
+ name: 'NFS Browser'
1061
+ version: '$1'
1062
+ engine:
1063
+ default: 'Blink'
1064
+
1065
+ # Borealis Navigator (https://binaryoutcast.com/projects/borealis/)
1066
+ - regex: 'Borealis/(\d+[\.\d]+)'
1067
+ name: 'Borealis Navigator'
1068
+ version: '$1'
1069
+
1070
+ # Yolo Browser
1071
+ - regex: 'YoloBrowser/(?:(\d+[\.\d]+))?'
1072
+ name: 'Yolo Browser'
1073
+ version: '$1'
1074
+ engine:
1075
+ default: 'Blink'
1076
+
1077
+ # Phoenix Browser (http://phoenix-browser.com/ | https://play.google.com/store/apps/details?id=com.transsion.phoenix)
1078
+ - regex: 'PHX/(?:(\d+[\.\d]+))?'
1079
+ name: 'Phoenix Browser'
1080
+ version: '$1'
1081
+
1082
+ # PrivacyWall (https://play.google.com/store/apps/details?id=org.privacywall.browser)
1083
+ - regex: 'PrivacyWall/(?:(\d+[\.\d]+))?'
1084
+ name: 'PrivacyWall'
1085
+ version: '$1'
1086
+
1087
+ # Ghostery Privacy Browser (https://www.ghostery.com/)
1088
+ - regex: 'Ghostery:?(\d+[\.\d]+)?'
1089
+ name: 'Ghostery Privacy Browser'
1090
+ version: '$1'
1091
+
1092
+ # Cliqz (https://www.cliqz.com/)
1093
+ - regex: 'Cliqz'
1094
+ name: 'Cliqz'
1095
+ version: ''
1096
+
1097
+ # Yaani Browser
1098
+ - regex: 'Firefox/.*(?:Turkcell-)?YaaniBrowser(?:/(\d+[\.\d]+))?'
1099
+ name: 'Yaani Browser'
1100
+ version: '$1'
1101
+ engine:
1102
+ default: 'Gecko'
1103
+ - regex: '(?:Turkcell-)?YaaniBrowser(?:/(\d+[\.\d]+))?'
1104
+ name: 'Yaani Browser'
1105
+ version: '$1'
1106
+ engine:
1107
+ default: 'Blink'
1108
+
1109
+ # Safe Exam Browser (https://safeexambrowser.org/)
1110
+ - regex: 'SEB/(?:(\d+[\.\d]+))?'
1111
+ name: 'Safe Exam Browser'
1112
+ version: '$1'
1113
+
1114
+ # Colibri (https://colibri.opqr.co/)
1115
+ - regex: 'Colibri/(?:(\d+[\.\d]+))?'
1116
+ name: 'Colibri'
1117
+ version: '$1'
1118
+
1119
+ # Xvast (https://www.xvast.com/)
1120
+ - regex: 'Xvast/(?:(\d+[\.\d]+))?'
1121
+ name: 'Xvast'
1122
+ version: '$1'
1123
+
1124
+ # Tungsten (https://en.tungsten-start.net/)
1125
+ - regex: 'TungstenBrowser/(?:(\d+[\.\d]+))?'
1126
+ name: 'Tungsten'
1127
+ version: '$1'
1128
+
1129
+ # Lulumi (https://github.com/LulumiProject/lulumi-browser)
1130
+ - regex: 'Lulumi-browser/(?:(\d+[\.\d]+))?'
1131
+ name: 'Lulumi'
1132
+ version: '$1'
1133
+
1134
+ # Yahoo! Japan Browser (https://promo-ybrowser.yahoo.co.jp/)
1135
+ - regex: 'ybrowser/(?:(\d+[\.\d]+))?'
1136
+ name: 'Yahoo! Japan Browser'
1137
+ version: '$1'
1138
+
1139
+ # Lunascape Lite (https://www.lunascape.tv/)
1140
+ - regex: 'iLunascapeLite/(?:(\d+\.[.\d]+))?'
1141
+ name: 'Lunascape Lite'
1142
+ version: '$1'
1143
+
1144
+ # Lunascape
1145
+ - regex: 'Chrome/.+ i?Lunascape(?:[/ ](\d+\.[.\d]+))?'
1146
+ name: 'Lunascape'
1147
+ version: '$1'
1148
+ engine:
1149
+ default: 'Blink'
1150
+ - regex: 'i?Lunascape(?:[/ ](\d+\.[.\d]+))?'
1151
+ name: 'Lunascape'
1152
+ version: '$1'
1153
+ engine:
1154
+ default: '' # multi engine
1155
+
1156
+ # Polypane (https://polypane.app/)
1157
+ - regex: 'Polypane/(?:(\d+[\.\d]+))?'
1158
+ name: 'Polypane'
1159
+ version: '$1'
1160
+
1161
+ # OhHai Browser (https://ohhaibrowser.com/)
1162
+ - regex: 'OhHaiBrowser/(?:(\d+[\.\d]+))?'
1163
+ name: 'OhHai Browser'
1164
+ version: '$1'
1165
+
1166
+ # Sizzy (https://sizzy.co/)
1167
+ - regex: 'Sizzy/(?:(\d+[\.\d]+))?'
1168
+ name: 'Sizzy'
1169
+ version: '$1'
1170
+
1171
+ # Glass Browser (https://github.com/mitchas/glass-browser)
1172
+ - regex: 'GlassBrowser/(?:(\d+[\.\d]+))?'
1173
+ name: 'Glass Browser'
1174
+ version: '$1'
1175
+
1176
+ # ToGate (https://tmaxanc.com/#!/product-introduce/ToGate)
1177
+ - regex: 'ToGate/(?:(\d+[\.\d]+))?'
1178
+ name: 'ToGate'
1179
+ version: '$1'
1180
+ engine:
1181
+ default: 'WebKit'
1182
+ versions:
1183
+ 28: 'Blink'
1184
+
1185
+ # VMware AirWatch (https://www.air-watch.com/)
1186
+ - regex: '(?:AirWatch Browser v|AirWatchBrowser/)(?:(\d+[\.\d]+))?'
1187
+ name: 'VMware AirWatch'
1188
+ version: '$1'
1189
+
1190
+ # AOL Explorer
1191
+ - regex: 'AOL (\d+[\.\d]+)'
1192
+ name: 'AOL Explorer'
1193
+ version: '$1'
1194
+ engine:
1195
+ default: 'Trident'
1196
+
1197
+ # AOL Desktop (https://beta.aol.com/projects/desktop/windows)
1198
+ - regex: 'ADG/(?:(\d+[\.\d]+))?'
1199
+ name: 'AOL Desktop'
1200
+ version: '$1'
1201
+
1202
+ # Elements Browser (https://elementsbrowser.com/)
1203
+ - regex: 'Elements Browser/(?:(\d+[\.\d]+))?'
1204
+ name: 'Elements Browser'
1205
+ version: '$1'
1206
+
1207
+ # Light (https://sourceforge.net/projects/lightfirefox/)
1208
+ - regex: 'Light/(\d+[\.\d]+)'
1209
+ name: 'Light'
1210
+ version: '$1'
1211
+
1212
+ # Steam (https://www.valvesoftware.com/)
1213
+ - regex: 'Valve Steam GameOverlay/(?:(\d+[\.\d]+))?'
1214
+ name: 'Steam In-Game Overlay'
1215
+ version: '$1'
1216
+
1217
+ # 115 Browser (https://pc.115.com/)
1218
+ - regex: '115Browser/(?:(\d+[\.\d]+))?'
1219
+ name: '115 Browser'
1220
+ version: '$1'
1221
+
1222
+ # Atom (https://browser.ru/)
1223
+ - regex: 'Atom/(?:(\d+[\.\d]+))?'
1224
+ name: 'Atom'
1225
+ version: '$1'
1226
+ engine:
1227
+ default: 'Blink'
1228
+
1229
+ # Wolvic VR Browser
1230
+ - regex: 'Wolvic/(\d+\.[.\d]+)'
1231
+ name: 'Wolvic'
1232
+ version: '$1'
1233
+ engine:
1234
+ default: 'Gecko'
1235
+
1236
+ # Firefox Reality (https://mixedreality.mozilla.org/firefox-reality/)
1237
+ - regex: 'Mobile VR.+Firefox'
1238
+ name: 'Firefox Reality'
1239
+ version: ''
1240
+
1241
+ # AVG Secure Browser (https://www.avg.com/en-us/secure-browser | https://play.google.com/store/apps/details?id=com.avg.android.secure.browser)
1242
+ - regex: 'AVG(?:/(\d+[\.\d]+))?'
1243
+ name: 'AVG Secure Browser'
1244
+ version: '$1'
1245
+ engine:
1246
+ default: 'WebKit'
1247
+ versions:
1248
+ 28: 'Blink'
1249
+ - regex: 'AT/(\d+[\.\d]+)'
1250
+ name: 'AVG Secure Browser'
1251
+ version: '$1'
1252
+ engine:
1253
+ default: 'Blink'
1254
+
1255
+ # START Internet Browser (https://play.google.com/store/apps/details?id=fyi.start.web.browser)
1256
+ - regex: 'Start/(?:(\d+[\.\d]+))?'
1257
+ name: 'START Internet Browser'
1258
+ version: '$1'
1259
+
1260
+ # Lovense Browser (https://www.lovense.com/cam-model/download)
1261
+ - regex: 'Lovense(?:/(\d+[\.\d]+))?'
1262
+ name: 'Lovense Browser'
1263
+ version: '$1'
1264
+
1265
+ # Delta Browser (https://play.google.com/store/apps/details?id=com.airfind.deltabrowser)
1266
+ - regex: '(?:com\.airfind\.deltabrowser|AirSearch)(?:/(\d+[\.\d]+))?'
1267
+ name: 'Delta Browser'
1268
+ version: '$1'
1269
+ engine:
1270
+ default: 'Blink'
1271
+
1272
+ # Ordissimo (https://www.ordissimo.fr/)
1273
+ - regex: '(?:Ordissimo|webissimo3)(?:/(\d+[\.\d]+))?'
1274
+ name: 'Ordissimo'
1275
+ version: '$1'
1276
+
1277
+ # CCleaner (https://www.ccleaner.com/ccleaner/browser)
1278
+ - regex: 'CCleaner(?:/(\d+[\.\d]+))?'
1279
+ name: 'CCleaner'
1280
+ version: '$1'
1281
+ engine:
1282
+ default: 'WebKit'
1283
+ versions:
1284
+ 28: 'Blink'
1285
+
1286
+ # Aloha Browser Lite (https://play.google.com/store/apps/details?id=com.alohamobile.browser.lite)
1287
+ - regex: 'AlohaLite(?:/(\d+[\.\d]+))?'
1288
+ name: 'Aloha Browser Lite'
1289
+ version: '$1'
1290
+ engine:
1291
+ default: 'Blink'
1292
+
1293
+ # Tao Browser (https://browser.taobao.com/)
1294
+ - regex: 'TaoBrowser(?:/(\d+[\.\d]+))?'
1295
+ name: 'Tao Browser'
1296
+ version: '$1'
1297
+
1298
+ # Falkon (https://www.falkon.org/)
1299
+ - regex: 'Falkon(?:/(\d+[\.\d]+))?'
1300
+ name: 'Falkon'
1301
+ version: '$1'
1302
+
1303
+ # mCent (http://mcentbrowser.com/)
1304
+ - regex: 'mCent(?:/(\d+[\.\d]+))?'
1305
+ name: 'mCent'
1306
+ version: '$1'
1307
+
1308
+ # SalamWeb (https://salamweb.com/)
1309
+ - regex: 'SalamWeb(?:/(\d+[\.\d]+))?'
1310
+ name: 'SalamWeb'
1311
+ version: '$1'
1312
+
1313
+ # BlackHawk (http://www.netgate.sk/blackhawk/)
1314
+ - regex: 'BlackHawk(?:/(\d+[\.\d]+))?'
1315
+ name: 'BlackHawk'
1316
+ version: '$1'
1317
+
1318
+ # Minimo (https://www-archive.mozilla.org/projects/minimo/)
1319
+ - regex: 'Minimo(?:/(\d+[\.\d]+))?'
1320
+ name: 'Minimo'
1321
+ version: '$1'
1322
+
1323
+ # Wear Internet Browser (https://play.google.com/store/apps/details?id=com.appfour.wearbrowser)
1324
+ - regex: 'WIB(?:/(\d+[\.\d]+))?'
1325
+ name: 'Wear Internet Browser'
1326
+ version: '$1'
1327
+
1328
+ # Origyn Web Browser (https://en.wikipedia.org/wiki/Origyn_Web_Browser)
1329
+ - regex: 'Origyn Web Browser'
1330
+ name: 'Origyn Web Browser'
1331
+ version: ''
1332
+
1333
+ # Kinza (https://www.kinza.jp/en/)
1334
+ - regex: 'Kinza(?:/(\d+[\.\d]+))?'
1335
+ name: 'Kinza'
1336
+ version: '$1'
1337
+
1338
+ # Beamrise (https://web.archive.org/web/20170520043839/http://beamrise.com/)
1339
+ - regex: 'Beamrise(?:/(\d+[\.\d]+))?'
1340
+ name: 'Beamrise'
1341
+ version: '$1'
1342
+ engine:
1343
+ default: 'WebKit'
1344
+ versions:
1345
+ 28: 'Blink'
1346
+
1347
+ # Faux Browser (https://apps.apple.com/us/app/faux-browser/id472250940)
1348
+ - regex: 'Faux(?:/(\d+[\.\d]+))?'
1349
+ name: 'Faux Browser'
1350
+ version: '$1'
1351
+
1352
+ # Splash (https://www.zyte.com/splash/)
1353
+ - regex: 'splash Version(?:/(\d+[\.\d]+))?'
1354
+ name: 'Splash'
1355
+ version: '$1'
1356
+
1357
+ # Meizu Browser (https://www.meizu.com/)
1358
+ - regex: 'MZBrowser(?:/(\d+[\.\d]+))?'
1359
+ name: 'Meizu Browser'
1360
+ version: '$1'
1361
+
1362
+ # COS Browser (https://sj.qq.com/myapp/detail.htm?apkName=com.qcloud.cos.client)
1363
+ - regex: 'COSBrowser(?:/(\d+[\.\d]+))?'
1364
+ name: 'COS Browser'
1365
+ version: '$1'
1366
+
1367
+ # Crusta (https://github.com/Crusta/CrustaBrowser)
1368
+ - regex: 'Crusta(?:/(\d+[\.\d]+))?'
1369
+ name: 'Crusta'
1370
+ version: '$1'
1371
+
1372
+ # Hawk Turbo Browser
1373
+ - regex: 'Hawk/TurboBrowser(?:/v?(\d+[\.\d]+))?'
1374
+ name: 'Hawk Turbo Browser'
1375
+ version: '$1'
1376
+ engine:
1377
+ default: 'Blink'
1378
+
1379
+ # Hawk Quick Browser
1380
+ - regex: 'Hawk/QuickBrowser(?:/v?(\d+[\.\d]+))?'
1381
+ name: 'Hawk Quick Browser'
1382
+ version: '$1'
1383
+ engine:
1384
+ default: 'Blink'
1385
+
1386
+ # FreeU (https://freeu.online/)
1387
+ - regex: 'FreeU(?:/(\d+[\.\d]+))?'
1388
+ name: 'FreeU'
1389
+ version: '$1'
1390
+ engine:
1391
+ default: 'Blink'
1392
+
1393
+ # Nox Browser (https://play.google.com/store/apps/details?id=com.noxgroup.app.browser)
1394
+ - regex: 'NoxBrowser(?:/(\d+[\.\d]+))?'
1395
+ name: 'Nox Browser'
1396
+ version: '$1'
1397
+ engine:
1398
+ default: 'Blink'
1399
+
1400
+ # Basilisk (https://www.basilisk-browser.org/)
1401
+ - regex: 'Basilisk(?:/(\d+[\.\d]+))?'
1402
+ name: 'Basilisk'
1403
+ version: '$1'
1404
+ engine:
1405
+ default: 'Goanna'
1406
+
1407
+ # Sputnik Browser (https://play.google.com/store/apps/details?id=ru.sputnik.browser)
1408
+ - regex: 'SputnikBrowser(?:/(\d+[\.\d]+))?'
1409
+ name: 'Sputnik Browser'
1410
+ version: '$1'
1411
+ engine:
1412
+ default: 'Blink'
1413
+
1414
+ # K.Browser (https://play.google.com/store/apps/details?id=com.tnsua.browser)
1415
+ - regex: 'TNSBrowser(?:/(\d+[\.\d]+))?'
1416
+ name: 'K.Browser'
1417
+ version: '$1'
1418
+ engine:
1419
+ default: 'Blink'
1420
+
1421
+ # Oculus Browser (https://developer.oculus.com/documentation/oculus-browser/latest/concepts/)
1422
+ - regex: 'OculusBrowser(?:/(\d+[\.\d]+))?'
1423
+ name: 'Oculus Browser'
1424
+ version: '$1'
1425
+ engine:
1426
+ default: 'Blink'
1427
+
1428
+ # JioSphere (https://www.jio.com/jcms/apps/jiosphere/ | https://play.google.com/store/apps/details?id=com.jio.web)
1429
+ - regex: 'Jio(?:Browser|Pages|Sphere)(?:/(\d+[\.\d]+))?'
1430
+ name: 'JioSphere'
1431
+ version: '$1'
1432
+ engine:
1433
+ default: 'Blink'
1434
+
1435
+ # https://play.google.com/store/apps/details?id=app.stampy.browser
1436
+ - regex: 'SY/(\d+[\.\d]+) Chrome/'
1437
+ name: 'Stampy Browser'
1438
+ version: '$1'
1439
+ engine:
1440
+ default: 'Blink'
1441
+
1442
+ # hola! Browser (https://hola.org/browser)
1443
+ - regex: 'Chrome/.+ Hola(?:/(\d+[\.\d]+))?'
1444
+ name: 'hola! Browser'
1445
+ version: '$1'
1446
+ engine:
1447
+ default: 'Blink'
1448
+
1449
+ # SlimBoat (https://web.archive.org/web/20160308081217/https://www.slimboat.com/en/)
1450
+ - regex: 'SlimBoat/(?:(\d+[\.\d]+))'
1451
+ name: 'SlimBoat'
1452
+ version: '$1'
1453
+ engine:
1454
+ default: 'Blink'
1455
+
1456
+ # Slimjet (https://slimjet.com)
1457
+ - regex: 'Slimjet/(?:(\d+[\.\d]+))'
1458
+ name: 'Slimjet'
1459
+ version: '$1'
1460
+ engine:
1461
+ default: 'Blink'
1462
+
1463
+ # 7Star
1464
+ - regex: '7Star/(?:(\d+[\.\d]+))'
1465
+ name: '7Star'
1466
+ version: '$1'
1467
+ engine:
1468
+ default: 'Blink'
1469
+
1470
+ # MxNitro
1471
+ - regex: 'MxNitro/(?:(\d+[\.\d]+))'
1472
+ name: 'MxNitro'
1473
+ version: '$1'
1474
+ engine:
1475
+ default: 'Blink'
1476
+
1477
+ # Huawei Browser Mobile
1478
+ - regex: 'HuaweiBrowser(?:/(\d+[\.\d]+))?'
1479
+ name: 'Huawei Browser Mobile'
1480
+ version: '$1'
1481
+ engine:
1482
+ default: 'Blink'
1483
+
1484
+ # Huawei Browser
1485
+ - regex: 'HBPC/(\d+[\.\d]+)'
1486
+ name: 'Huawei Browser'
1487
+ version: '$1'
1488
+ engine:
1489
+ default: 'Blink'
1490
+
1491
+ # vivo Browser
1492
+ - regex: 'VivoBrowser(?:/(\d+[\.\d]+))?'
1493
+ name: 'vivo Browser'
1494
+ version: '$1'
1495
+
1496
+ # Realme Browser
1497
+ - regex: 'RealmeBrowser(?:/(\d+[\.\d]+))?'
1498
+ name: 'Realme Browser'
1499
+ version: '$1'
1500
+
1501
+ # Beaker distributed web browser (https://beakerbrowser.com/)
1502
+ - regex: 'Beaker ?Browser(?:[/ ](\d+[\.\d]+))?'
1503
+ name: 'Beaker Browser'
1504
+ version: '$1'
1505
+ engine:
1506
+ default: 'Blink'
1507
+
1508
+ # Qwant Mobile
1509
+ - regex: 'QwantiOS/(\d+[\.\d]+)'
1510
+ name: 'Qwant Mobile'
1511
+ version: '$1'
1512
+ engine:
1513
+ default: 'WebKit'
1514
+ - regex: 'Chrome/.*QwantMobile(?:/(\d+[\.\d]+))?'
1515
+ name: 'Qwant Mobile'
1516
+ version: '$1'
1517
+ engine:
1518
+ default: 'Blink'
1519
+ - regex: 'QwantMobile(?:/(\d+[\.\d]+))?'
1520
+ name: 'Qwant Mobile'
1521
+ version: '$1'
1522
+ engine:
1523
+ default: '' # multiple (Gecko on Android, WebKit on iOS)
1524
+ - regex: 'Qwant/(\d+[\.\d]+)'
1525
+ name: 'Qwant Mobile'
1526
+ version: '$1'
1527
+ engine:
1528
+ default: 'Gecko'
1529
+
1530
+ # TenFourFox
1531
+ - regex: 'TenFourFox(?:/(\d+[\.\d]+))?'
1532
+ name: 'TenFourFox'
1533
+ version: '$1'
1534
+ engine:
1535
+ default: 'Gecko'
1536
+
1537
+ # AOL Shield Pro
1538
+ - regex: 'Chrome/.+ AOLShield(?:/(\d+[\.\d]+))?'
1539
+ name: 'AOL Shield Pro'
1540
+ version: '$1'
1541
+ engine:
1542
+ default: 'Blink'
1543
+
1544
+ # AOL Shield
1545
+ - regex: 'AOLShield(?:/(\d+[\.\d]+))?'
1546
+ name: 'AOL Shield'
1547
+ version: '$1'
1548
+ engine:
1549
+ default: 'Gecko'
1550
+
1551
+ # Microsoft Edge (Spartan Edge)
1552
+ - regex: '(?<!motorola |; )Edge[ /](\d+[\.\d]+)'
1553
+ name: 'Microsoft Edge'
1554
+ version: '$1'
1555
+ engine:
1556
+ default: 'Edge'
1557
+
1558
+ # Microsoft Edge for iOS
1559
+ - regex: 'EdgiOS[ /](\d+[\.\d]+)'
1560
+ name: 'Microsoft Edge'
1561
+ version: '$1'
1562
+ engine:
1563
+ default: 'WebKit'
1564
+
1565
+ # Microsoft Edge for Android
1566
+ - regex: 'EdgA[ /](\d+[\.\d]+)'
1567
+ name: 'Microsoft Edge'
1568
+ version: '$1'
1569
+ engine:
1570
+ default: 'Blink'
1571
+
1572
+ # Microsoft Edge (Anaheim Edge)
1573
+ - regex: 'Edg[ /](\d+[\.\d]+)'
1574
+ name: 'Microsoft Edge'
1575
+ version: '$1'
1576
+ engine:
1577
+ default: 'Blink'
1578
+
1579
+ # 360 Secure Browser
1580
+ - regex: 'QIHU 360[ES]E|QihooBrowserHD/(\d+[.\d]+)'
1581
+ name: '360 Secure Browser'
1582
+ version: '$1'
1583
+ - regex: 'Chrome.+Safari/537\.36/(\d+[.\d]+)$'
1584
+ name: '360 Secure Browser'
1585
+ version: '$1'
1586
+
1587
+ # 360 Browser
1588
+ - regex: '360 Aphone Browser(?:[ /]?\(?(\d+[.\d]+)(?:beta)?\)?)?'
1589
+ name: '360 Phone Browser'
1590
+ version: '$1'
1591
+
1592
+ #SailfishBrowser
1593
+ - regex: 'SailfishBrowser(?:/(\d+[\.\d]+))?'
1594
+ name: 'Sailfish Browser'
1595
+ version: '$1'
1596
+ engine:
1597
+ default: ''
1598
+
1599
+ # IceCat
1600
+ - regex: 'IceCat(?:/(\d+[\.\d]+))?'
1601
+ name: 'IceCat'
1602
+ version: '$1'
1603
+ engine:
1604
+ default: 'Gecko'
1605
+
1606
+ # Mobicip
1607
+ - regex: 'Mobicip'
1608
+ name: 'Mobicip'
1609
+ version: ''
1610
+ engine:
1611
+ default: 'Gecko'
1612
+
1613
+ # Camino
1614
+ - regex: 'Camino(?:/(\d+[\.\d]+))?'
1615
+ name: 'Camino'
1616
+ version: '$1'
1617
+ engine:
1618
+ default: 'Gecko'
1619
+
1620
+ # Waterfox
1621
+ - regex: 'Waterfox(?:/(\d+[\.\d]+))?'
1622
+ name: 'Waterfox'
1623
+ version: '$1'
1624
+ engine:
1625
+ default: 'Gecko'
1626
+
1627
+ # VertexSurf
1628
+ - regex: 'VertexSurf/(\d+\.[.\d]+)'
1629
+ name: 'Vertex Surf'
1630
+ version: '$1'
1631
+ engine:
1632
+ default: 'Blink'
1633
+
1634
+ #AlohaBrowser
1635
+ - regex: 'Chrome/.+ AlohaBrowser(?:/(\d+[\.\d]+))?'
1636
+ name: 'Aloha Browser'
1637
+ version: '$1'
1638
+ engine:
1639
+ default: 'Blink'
1640
+ - regex: 'AlohaBrowser(?:App)?(?:/(\d+[\.\d]+))?'
1641
+ name: 'Aloha Browser'
1642
+ version: '$1'
1643
+ - regex: 'Aloha/'
1644
+ name: 'Aloha Browser'
1645
+ version: ''
1646
+
1647
+ # Avast Secure Browser | Avast SafeZone Browser (https://www.avast.com/)
1648
+ - regex: 'Chrome.+(?:Avast(?:SecureBrowser)?|ASW|Safer)(?:/(\d+[\.\d]+))?'
1649
+ name: 'Avast Secure Browser'
1650
+ version: '$1'
1651
+ engine:
1652
+ default: 'Blink'
1653
+ - regex: '(?:Avast(?:SecureBrowser)?|ASW|Safer)(?:/(\d+[\.\d]+))?'
1654
+ name: 'Avast Secure Browser'
1655
+ version: '$1'
1656
+ engine:
1657
+ default: 'WebKit'
1658
+
1659
+ #Epic
1660
+ - regex: 'Epic(?:/(\d+[\.\d]+))'
1661
+ name: 'Epic'
1662
+ version: '$1'
1663
+ engine:
1664
+ default: 'Gecko'
1665
+
1666
+ #Fennec (Firefox for mobile)
1667
+ - regex: 'Fennec(?:/(\d+[\.\d]+))?'
1668
+ name: 'Fennec'
1669
+ version: '$1'
1670
+ engine:
1671
+ default: 'Gecko'
1672
+
1673
+ #MicroB
1674
+ - regex: 'Firefox.*Tablet browser (\d+[\.\d]+)'
1675
+ name: 'MicroB'
1676
+ version: '$1'
1677
+ engine:
1678
+ default: 'Gecko'
1679
+ - regex: 'Maemo Browser(?: (\d+[\.\d]+))?'
1680
+ name: 'MicroB'
1681
+ version: '$1'
1682
+ engine:
1683
+ default: 'Gecko'
1684
+
1685
+ #Deepnet Explorer
1686
+ - regex: 'Deepnet Explorer (\d+[\.\d]+)?'
1687
+ name: 'Deepnet Explorer'
1688
+ version: '$1'
1689
+
1690
+
1691
+ #Avant Browser
1692
+ - regex: 'Avant ?Browser'
1693
+ name: 'Avant Browser'
1694
+ version: ''
1695
+ engine:
1696
+ default: '' # multiple
1697
+
1698
+ #Oppo Browser
1699
+ - regex: 'OppoBrowser(?:/(\d+[\.\d]+))?'
1700
+ name: 'Oppo Browser'
1701
+ version: '$1'
1702
+
1703
+ #Amigo
1704
+ - regex: 'Chrome/(\d+\.[\.\d]+) .*MRCHROME'
1705
+ name: 'Amigo'
1706
+ version: '$1'
1707
+ engine:
1708
+ default: 'WebKit'
1709
+ versions:
1710
+ '28': 'Blink'
1711
+
1712
+ #Atomic Web Browser
1713
+ - regex: 'AtomicBrowser(?:/(\d+[\.\d]+))?'
1714
+ name: 'Atomic Web Browser'
1715
+ version: '$1'
1716
+
1717
+ #Bunjalloo
1718
+ - regex: 'Bunjalloo(?:/(\d+[\.\d]+))?'
1719
+ name: 'Bunjalloo'
1720
+ version: '$1'
1721
+
1722
+ #Brave
1723
+ - regex: 'Chrome/(\d+\.[\.\d]+).*Brave/'
1724
+ name: 'Brave'
1725
+ version: '$1'
1726
+ engine:
1727
+ default: 'Blink'
1728
+ - regex: 'Brave(?:/(\d+[\.\d]+))?'
1729
+ name: 'Brave'
1730
+ version: '$1'
1731
+ engine:
1732
+ default: 'Blink'
1733
+
1734
+ #Iridium (https://iridiumbrowser.de/)
1735
+ - regex: 'Iridium(?:/(\d+[\.\d]+))?'
1736
+ name: 'Iridium'
1737
+ version: '$1'
1738
+ engine:
1739
+ default: 'WebKit'
1740
+ versions:
1741
+ '28': 'Blink'
1742
+
1743
+ #Iceweasel
1744
+ - regex: 'Iceweasel(?:/(\d+[\.\d]+))?'
1745
+ name: 'Iceweasel'
1746
+ version: '$1'
1747
+ engine:
1748
+ default: 'Gecko'
1749
+
1750
+ #WebPositive
1751
+ - regex: 'WebPositive'
1752
+ name: 'WebPositive'
1753
+ version: ''
1754
+ engine:
1755
+ default: 'WebKit'
1756
+
1757
+ #Pale Moon
1758
+ - regex: '.*Goanna.*PaleMoon(?:/(\d+[\.\d]+))?'
1759
+ name: 'Pale Moon'
1760
+ version: '$1'
1761
+ engine:
1762
+ default: 'Goanna'
1763
+ - regex: 'PaleMoon(?:/(\d+[\.\d]+))?'
1764
+ name: 'Pale Moon'
1765
+ version: '$1'
1766
+ engine:
1767
+ default: 'Gecko'
1768
+
1769
+ #CometBird
1770
+ - regex: 'CometBird(?:/(\d+[\.\d]+))?'
1771
+ name: 'CometBird'
1772
+ version: '$1'
1773
+ engine:
1774
+ default: 'Gecko'
1775
+
1776
+ #IceDragon
1777
+ - regex: 'IceDragon(?:/(\d+[\.\d]+))?'
1778
+ name: 'IceDragon'
1779
+ version: '$1'
1780
+ engine:
1781
+ default: 'Gecko'
1782
+
1783
+ #Flock
1784
+ - regex: 'Flock(?:/(\d+[\.\d]+))?'
1785
+ name: 'Flock'
1786
+ version: '$1'
1787
+ engine:
1788
+ default: 'Gecko'
1789
+ versions:
1790
+ '3': 'WebKit'
1791
+
1792
+ # Jig Browser Plus (https://jig.jp/)
1793
+ - regex: 'JigBrowserPlus/(?:(\d+[\.\d]+))?'
1794
+ name: 'Jig Browser Plus'
1795
+ version: '$1'
1796
+
1797
+ #Jig Browser
1798
+ - regex: 'jig browser(?: web;|9i?)?(?:[/ ](\d+[\.\d]+))?'
1799
+ name: 'Jig Browser'
1800
+ version: '$1'
1801
+
1802
+ #Kapiko
1803
+ - regex: 'Kapiko(?:/(\d+[\.\d]+))?'
1804
+ name: 'Kapiko'
1805
+ version: '$1'
1806
+ engine:
1807
+ default: 'Gecko'
1808
+
1809
+ #Kylo
1810
+ - regex: 'Kylo(?:/(\d+[\.\d]+))?'
1811
+ name: 'Kylo'
1812
+ version: '$1'
1813
+ engine:
1814
+ default: 'Gecko'
1815
+
1816
+ # Origin (https://www.origin.com/)
1817
+ - regex: 'Origin/(?:(\d+[\.\d]+))?'
1818
+ name: 'Origin In-Game Overlay'
1819
+ version: '$1'
1820
+
1821
+ #Cunaguaro
1822
+ - regex: 'Cunaguaro(?:/(\d+[\.\d]+))?'
1823
+ name: 'Cunaguaro'
1824
+ version: '$1'
1825
+
1826
+ # t-online.de Browser (https://www.t-online.de/computer/browser/)
1827
+ - regex: '(?:TO-Browser/TOB|DT-Browser/DTB)(\d+[\.\d]+)'
1828
+ name: 't-online.de Browser'
1829
+ version: '$1'
1830
+
1831
+ #Kazehakase
1832
+ - regex: 'Kazehakase(?:/(\d+[\.\d]+))?'
1833
+ name: 'Kazehakase'
1834
+ version: '$1'
1835
+ engine:
1836
+ default: '' # multi engine
1837
+
1838
+ # ArcticFox (https://github.com/wicknix/Arctic-Fox)
1839
+ - regex: 'ArcticFox(?:/(\d+[\.\d]+))?'
1840
+ name: 'Arctic Fox'
1841
+ version: '$1'
1842
+ engine:
1843
+ default: 'Goanna'
1844
+
1845
+ # Mypal (https://github.com/Feodor2/Mypal)
1846
+ - regex: 'Mypal(?:/(\d+[\.\d]+))?'
1847
+ name: 'Mypal'
1848
+ version: '$1'
1849
+ engine:
1850
+ default: 'Goanna'
1851
+
1852
+ # Centaury (https://github.com/Feodor2/Centaury)
1853
+ - regex: 'Centaury(?:/(\d+[\.\d]+))?'
1854
+ name: 'Centaury'
1855
+ version: '$1'
1856
+ engine:
1857
+ default: 'Goanna'
1858
+
1859
+ #Firefox Focus / Firefox Klar
1860
+ - regex: '(?:Focus|Klar)(?:/(\d+[\.\d]+))'
1861
+ name: 'Firefox Focus'
1862
+ version: '$1'
1863
+
1864
+ #Cyberfox
1865
+ - regex: 'Cyberfox(?:/(\d+[\.\d]+))?'
1866
+ name: 'Cyberfox'
1867
+ version: '$1'
1868
+ engine:
1869
+ default: 'Gecko'
1870
+
1871
+ #Swiftfox
1872
+ - regex: 'Firefox/(\d+\.[\.\d]+).*\(Swiftfox\)'
1873
+ name: 'Swiftfox'
1874
+ version: '$1'
1875
+ engine:
1876
+ default: 'Gecko'
1877
+
1878
+ # UC Browser HD
1879
+ - regex: 'UCBrowserHD/(\d[\d\.]+)'
1880
+ name: 'UC Browser HD'
1881
+ version: '$1'
1882
+
1883
+ #UC Browser Mini
1884
+ - regex: 'UCMini(?:[ /]?(\d+[\.\d]+))?'
1885
+ name: 'UC Browser Mini'
1886
+ version: '$1'
1887
+ - regex: 'UC[ ]?Browser.* \(UCMini\)'
1888
+ name: 'UC Browser Mini'
1889
+ version: ''
1890
+ - regex: 'Chrome.+uc mini browser(\d+[\.\d]+)?'
1891
+ name: 'UC Browser Mini'
1892
+ version: '$1'
1893
+ engine:
1894
+ default: 'Blink'
1895
+
1896
+ # UC Browser Turbo
1897
+ - regex: 'UCTurbo(?:[ /]?(\d+[\.\d]+))?'
1898
+ name: 'UC Browser Turbo'
1899
+ version: '$1'
1900
+ - regex: 'UC[ ]?Browser.* \(UCTurbo\)'
1901
+ name: 'UC Browser Turbo'
1902
+ version: ''
1903
+
1904
+ #UC Browser
1905
+ - regex: 'UC[ ]?Browser(?:[ /]?(\d+[\.\d]+))?'
1906
+ name: 'UC Browser'
1907
+ version: '$1'
1908
+ - regex: 'UCWEB(?:[ /]?(\d+[\.\d]+))?'
1909
+ name: 'UC Browser'
1910
+ version: '$1'
1911
+ - regex: 'UC AppleWebKit'
1912
+ name: 'UC Browser'
1913
+ version: ''
1914
+ - regex: 'UC%20Browser/(\d+[\.\d]+)? CFNetwork/.+Darwin/.+(?!.*x86_64)'
1915
+ name: 'UC Browser'
1916
+ version: '$1'
1917
+ engine:
1918
+ default: 'WebKit'
1919
+ - regex: 'Chrome.+UC Browser(\d+[\.\d]+)'
1920
+ name: 'UC Browser'
1921
+ version: '$1'
1922
+ engine:
1923
+ default: 'Blink'
1924
+ - regex: 'Firefox.+UCKai/(\d+[\.\d]+)'
1925
+ name: 'UC Browser'
1926
+ version: '$1'
1927
+ engine:
1928
+ default: 'Gecko'
1929
+
1930
+ #Firefox Mobile
1931
+ - regex: '(?:Mobile|Tablet).*Servo.*Firefox(?:/(\d+[\.\d]+))?'
1932
+ name: 'Firefox Mobile'
1933
+ version: '$1'
1934
+ engine:
1935
+ default: 'Servo'
1936
+ - regex: '(?:Mobile|Tablet).*Firefox(?:/(\d+[\.\d]+))?'
1937
+ name: 'Firefox Mobile'
1938
+ version: '$1'
1939
+ engine:
1940
+ default: 'Gecko'
1941
+ - regex: 'FxiOS/(\d+[\.\d]+)'
1942
+ name: 'Firefox Mobile iOS'
1943
+ version: '$1'
1944
+ engine:
1945
+ default: 'WebKit'
1946
+
1947
+ #Firefox
1948
+ - regex: '.*Servo.*Firefox(?:/(\d+[\.\d]+))?'
1949
+ name: 'Firefox'
1950
+ version: '$1'
1951
+ engine:
1952
+ default: 'Servo'
1953
+ - regex: '(?!.*Opera[ /])Firefox(?:[ /](\d+[\.\d]+))?'
1954
+ name: 'Firefox'
1955
+ version: '$1'
1956
+ engine:
1957
+ default: 'Gecko'
1958
+ - regex: '(?:BonEcho|GranParadiso|Lorentz|Minefield|Namoroka|Shiretoko)[ /](\d+[\.\d]+)'
1959
+ name: 'Firefox'
1960
+ version: '$1'
1961
+ engine:
1962
+ default: 'Gecko'
1963
+
1964
+ #ANT Fresco
1965
+ - regex: 'ANTFresco(?:[/ ](\d+[\.\d]+))?'
1966
+ name: 'ANT Fresco'
1967
+ version: '$1'
1968
+
1969
+ #ANTGalio
1970
+ - regex: 'ANTGalio(?:/(\d+[\.\d]+))?'
1971
+ name: 'ANTGalio'
1972
+ version: '$1'
1973
+
1974
+ #Espial TV Browser
1975
+ - regex: '(?:Espial|Escape)(?:[/ ](\d+[\.\d]+))?'
1976
+ name: 'Espial TV Browser'
1977
+ version: '$1'
1978
+
1979
+ #RockMelt
1980
+ - regex: 'RockMelt(?:/(\d+[\.\d]+))?'
1981
+ name: 'RockMelt'
1982
+ version: '$1'
1983
+ engine:
1984
+ default: 'WebKit'
1985
+
1986
+ #Fireweb Navigator
1987
+ - regex: 'Fireweb Navigator(?:/(\d+[\.\d]+))?'
1988
+ name: 'Fireweb Navigator'
1989
+ version: '$1'
1990
+
1991
+ #Fireweb
1992
+ - regex: 'Fireweb(?:/(\d+[\.\d]+))?'
1993
+ name: 'Fireweb'
1994
+ version: '$1'
1995
+
1996
+ #Netscape
1997
+ - regex: '(?:Navigator|Netscape6?)(?:/(\d+[\.\d]+))?'
1998
+ name: 'Netscape'
1999
+ version: '$1'
2000
+ engine:
2001
+ default: '' # Mosaic in the first versions, then Gecko
2002
+
2003
+ #Polarity
2004
+ - regex: '(?:Polarity)(?:[/ ](\d+[\.\d]+))?'
2005
+ name: 'Polarity'
2006
+ version: '$1'
2007
+
2008
+ #QupZilla
2009
+ - regex: '(?:QupZilla)(?:[/ ](\d+[\.\d]+))?'
2010
+ name: 'QupZilla'
2011
+ version: '$1'
2012
+
2013
+ #Dooble
2014
+ - regex: '(?:Dooble)(?:[/ ](\d+[\.\d]+))?'
2015
+ name: 'Dooble'
2016
+ version: '$1'
2017
+
2018
+ # Whale
2019
+ - regex: 'Whale/(\d+[\.\d]+)'
2020
+ name: 'Whale Browser'
2021
+ version: '$1'
2022
+ engine:
2023
+ default: 'Blink'
2024
+
2025
+ #Obigo
2026
+ - regex: 'Obigo[ ]?(?:InternetBrowser|Browser)?(?:[ /]([a-z0-9]*))?'
2027
+ name: 'Obigo'
2028
+ version: '$1'
2029
+ - regex: 'Obigo|Teleca'
2030
+ name: 'Obigo'
2031
+ version: ''
2032
+
2033
+ # Opera GX (https://www.opera.com/gx#start | http://ftp.opera.com/pub/opera_gx/)
2034
+ - regex: 'Chrome/.+ OP(?:RG)?X(?:/(\d+[\.\d]+))?'
2035
+ name: 'Opera GX'
2036
+ version: '$1'
2037
+ engine:
2038
+ default: 'Blink'
2039
+
2040
+ - regex: 'OP(?:RG)?X(?:/(\d+[\.\d]+))?'
2041
+ name: 'Opera GX'
2042
+ version: '$1'
2043
+ engine:
2044
+ default: 'WebKit'
2045
+ - regex: 'Opera%20GX/.+CFNetwork/.+Darwin/'
2046
+ name: 'Opera GX'
2047
+ version: ''
2048
+ engine:
2049
+ default: 'WebKit'
2050
+
2051
+ #Opera
2052
+ - regex: '(?:Opera Tablet.*Version|Opera/.+(?<!SymbOS; )Opera Mobi.+Version|Mobile.+OPR)/(\d+[\.\d]+)'
2053
+ name: 'Opera Mobile'
2054
+ version: '$1'
2055
+ engine:
2056
+ default: 'Presto'
2057
+ versions:
2058
+ 15: 'Blink'
2059
+ - regex: 'MMS/(\d+[\.\d]+)'
2060
+ name: 'Opera Neon'
2061
+ version: '$1'
2062
+ engine:
2063
+ default: 'Blink'
2064
+ - regex: 'OMI/(\d+[\.\d]+)'
2065
+ name: 'Opera Devices'
2066
+ version: '$1'
2067
+ engine:
2068
+ default: 'Blink'
2069
+ - regex: 'Opera%20Touch/(\d+[\.\d]+)? CFNetwork/.+Darwin/.+(?!.*x86_64)'
2070
+ name: 'Opera Touch'
2071
+ version: '$1'
2072
+ engine:
2073
+ default: 'WebKit'
2074
+ - regex: 'Opera%20Touch/.+CFNetwork/.+Darwin/.+(?!.*x86_64)'
2075
+ name: 'Opera Touch'
2076
+ version: ''
2077
+ engine:
2078
+ default: 'WebKit'
2079
+ - regex: 'OPT/(\d+[\.\d]+)'
2080
+ name: 'Opera Touch'
2081
+ version: '$1'
2082
+ - regex: 'Opera/(\d+\.[\.\d]+) .*(?<!SymbOS; )Opera Mobi'
2083
+ name: 'Opera Mobile'
2084
+ version: '$1'
2085
+ engine:
2086
+ default: 'Presto'
2087
+ versions:
2088
+ 15: 'Blink'
2089
+ - regex: 'Opera ?Mini/(?:att/)?(\d+[\.\d]+)'
2090
+ name: 'Opera Mini'
2091
+ version: '$1'
2092
+ engine:
2093
+ default: 'Presto'
2094
+ - regex: 'Opera ?Mini.+Version/(\d+[\.\d]+)'
2095
+ name: 'Opera Mini'
2096
+ version: '$1'
2097
+ engine:
2098
+ default: 'Presto'
2099
+ - regex: 'OPiOS/(\d+[\.\d]+)'
2100
+ name: 'Opera Mini iOS'
2101
+ version: '$1'
2102
+ engine:
2103
+ default: 'WebKit'
2104
+ - regex: 'Opera%20Mini/(\d+[\.\d]+) CFNetwork'
2105
+ name: 'Opera Mini iOS'
2106
+ version: '$1'
2107
+ engine:
2108
+ default: 'WebKit'
2109
+
2110
+ - regex: 'Opera.+Edition Next.+Version/(\d+[\.\d]+)'
2111
+ name: 'Opera Next'
2112
+ version: '$1'
2113
+ engine:
2114
+ default: 'Presto'
2115
+ versions:
2116
+ 15: 'Blink'
2117
+ - regex: '(?:Opera|OPR)[/ ](?:9\.80.*Version/)?(\d+\.[\.\d]+) .*Edition Next'
2118
+ name: 'Opera Next'
2119
+ version: '$1'
2120
+ engine:
2121
+ default: 'Presto'
2122
+ versions:
2123
+ 15: 'Blink'
2124
+ - regex: '(?:Opera[/ ]?|OPR[/ ])(?:9\.80.*Version/)?(\d+[\.\d]+)'
2125
+ name: 'Opera'
2126
+ version: '$1'
2127
+ engine:
2128
+ default: ''
2129
+ versions:
2130
+ '3.5': 'Elektra'
2131
+ '7': 'Presto'
2132
+ '15': 'Blink'
2133
+ - regex: 'Opera/.+CFNetwork'
2134
+ name: 'Opera'
2135
+ version: ''
2136
+ engine:
2137
+ default: 'WebKit'
2138
+ - regex: 'Chrome.+Opera/'
2139
+ name: 'Opera'
2140
+ version: ''
2141
+ engine:
2142
+ default: 'Blink'
2143
+
2144
+ #Rekonq
2145
+ - regex: 'rekonq(?:/(\d+[\.\d]+))?'
2146
+ name: 'Rekonq'
2147
+ version: '$1'
2148
+ engine:
2149
+ default: 'WebKit'
2150
+
2151
+ #CoolNovo (former ChromePlus)
2152
+ - regex: 'CoolNovo(?:/(\d+[\.\d]+))?'
2153
+ name: 'CoolNovo'
2154
+ version: '$1'
2155
+ engine:
2156
+ default: '' # multi engine
2157
+
2158
+ #Comodo Dragon
2159
+ - regex: '(?:Comodo[ _])?Dragon/(\d+[\.\d]+)'
2160
+ name: 'Comodo Dragon'
2161
+ version: '$1'
2162
+ engine:
2163
+ default: 'WebKit'
2164
+ versions:
2165
+ '28': 'Blink'
2166
+
2167
+ #ChromePlus
2168
+ - regex: 'ChromePlus(?:/(\d+[\.\d]+))?'
2169
+ name: 'ChromePlus'
2170
+ version: '$1'
2171
+ engine:
2172
+ default: '' # multi engine
2173
+
2174
+ #Conkeror
2175
+ - regex: 'Conkeror(?:/(\d+[\.\d]+))?'
302
2176
  name: 'Conkeror'
303
2177
  version: '$1'
304
- engine:
305
- default: 'Gecko'
2178
+ engine:
2179
+ default: 'Gecko'
2180
+
2181
+ #Konqueror
2182
+ - regex: 'Konqueror(?:/(\d+[\.\d]+))?'
2183
+ name: 'Konqueror'
2184
+ version: '$1'
2185
+ engine:
2186
+ default: 'KHTML'
2187
+ versions:
2188
+ 4: '' # multiple (KHTML or WebKit)
2189
+
2190
+ #Baidu Browser
2191
+ - regex: '(?:baidubrowser|bdbrowser(?:(?:hd)?_i18n)?|FlyFlow|BaiduHD)(?:[/ ](\d+[\.\d]*))?'
2192
+ name: 'Baidu Browser'
2193
+ version: '$1'
2194
+
2195
+ #Baidu Spark
2196
+ - regex: '(?:(?:BD)?Spark(?:Safe)?|BIDUBrowser)[/ ](\d+[\.\d]*)'
2197
+ name: 'Baidu Spark'
2198
+ version: '$1'
2199
+
2200
+ # Yandex Browser
2201
+ - regex: 'YaBrowser(?:/(\d+[\.\d]*)) YaApp_iOS'
2202
+ name: 'Yandex Browser'
2203
+ version: '$1'
2204
+ engine:
2205
+ default: 'WebKit'
2206
+ - regex: 'iP(?:hone|ad).*YaBrowser(?:/(\d+[\.\d]*))'
2207
+ name: 'Yandex Browser'
2208
+ version: '$1'
2209
+ engine:
2210
+ default: 'WebKit'
2211
+ - regex: 'YaBrowser(?:/(\d+[\.\d]*)) \(lite\)?'
2212
+ name: 'Yandex Browser Lite'
2213
+ version: '$1'
2214
+ engine:
2215
+ default: 'Blink'
2216
+ #Yandex Browser
2217
+ - regex: 'YaBrowser(?:/(\d+[\.\d]*))(?: \((alpha|beta)\))?'
2218
+ name: 'Yandex Browser'
2219
+ version: '$1 $2'
2220
+ engine:
2221
+ default: 'Blink'
2222
+ # Yandex Browser + voice assistant alisa
2223
+ - regex: 'Ya(?:ndex)?SearchBrowser(?:/(\d+[\.\d]*))'
2224
+ name: 'Yandex Browser'
2225
+ version: '$1'
2226
+ engine:
2227
+ default: 'Blink'
2228
+
2229
+ #Vivaldi
2230
+ - regex: 'Viv(?:aldi)?/(\d+[\.\d]+)'
2231
+ name: 'Vivaldi'
2232
+ version: '$1'
2233
+ engine:
2234
+ default: 'Blink'
2235
+
2236
+ #TweakStyle
2237
+ - regex: 'TweakStyle(?:/(\d+[\.\d]+))?'
2238
+ name: 'TweakStyle'
2239
+ version: '$1'
2240
+ engine:
2241
+ default: 'Blink'
2242
+
2243
+ # Midori
2244
+ - regex: 'Chrome.+Midori Browser/(\d+[\.\d]+)'
2245
+ name: 'Midori'
2246
+ version: '$1'
2247
+ engine:
2248
+ default: 'Blink'
2249
+ - regex: 'Midori(?:[ /](\d+[\.\d]+))?'
2250
+ name: 'Midori'
2251
+ version: '$1'
2252
+ engine:
2253
+ default: 'WebKit'
2254
+
2255
+ #Mercury
2256
+ - regex: 'Mercury/(?:(\d+[\.\d]+))?'
2257
+ name: 'Mercury'
2258
+ version: '$1'
2259
+
2260
+ #Maxthon
2261
+ - regex: 'Chrome.+Maxthon/\d{4}'
2262
+ name: 'Maxthon'
2263
+ version: ''
2264
+ engine:
2265
+ default: 'Blink'
2266
+ - regex: 'Chrome.+(?:MxBrowser|Maxthon)(?:.+\(portable\))?/(\d+\.[\.\d]+)'
2267
+ name: 'Maxthon'
2268
+ version: '$1'
2269
+ engine:
2270
+ default: 'WebKit'
2271
+ versions:
2272
+ '4.2': 'Blink'
2273
+ - regex: '(?:Maxthon(?:%20Browser)?|MxBrowser(?:-inhouse|-iPhone)?|MXiOS)[ /](\d+[\.\d]+)?'
2274
+ name: 'Maxthon'
2275
+ version: '$1'
2276
+ engine:
2277
+ default: '' # Trident and WebKit
2278
+ versions:
2279
+ 3: 'WebKit'
2280
+
2281
+ - regex: '(?:Maxthon|MyIE2)'
2282
+ name: 'Maxthon'
2283
+ version: ''
2284
+ engine:
2285
+ default: '' # Trident and WebKit
2286
+
2287
+ #Puffin
2288
+ - regex: 'Puffin(?:/(\d+[\.\d]+))?'
2289
+ name: 'Puffin'
2290
+ version: '$1'
2291
+
2292
+ #MobileIron
2293
+ - regex: 'MobileIron(?:/(\d+[\.\d]+))?'
2294
+ name: 'Iron Mobile'
2295
+ version: '$1'
2296
+ engine:
2297
+ default: 'Blink'
2298
+
2299
+ # Iron
2300
+ - regex: 'Chrome(?:/(\d+\.[\.\d]+) )?.*Iron'
2301
+ name: 'Iron'
2302
+ version: '$1'
2303
+ engine:
2304
+ default: 'WebKit'
2305
+ versions:
2306
+ 28: 'Blink'
2307
+
2308
+ - regex: 'Iron/(\d+[\.\d]+)'
2309
+ name: 'Iron'
2310
+ version: '$1'
2311
+ engine:
2312
+ default: 'WebKit'
2313
+ versions:
2314
+ 28: 'Blink'
2315
+
2316
+ #GNOME Web
2317
+ - regex: 'Epiphany(?:/(\d+[\.\d]+))?'
2318
+ name: 'GNOME Web'
2319
+ version: '$1'
2320
+ engine:
2321
+ default: 'Gecko'
2322
+ versions:
2323
+ '2.9.16': '' # multi engine
2324
+ '2.28': 'WebKit'
2325
+
2326
+ # LieBaoFast
2327
+ - regex: 'LieBaoFast(?:[ /](\d+[\.\d]+))?'
2328
+ name: 'LieBaoFast'
2329
+ version: '$1'
2330
+
2331
+ # Cheetah Browser
2332
+ - regex: 'LBBrowser(?:[ /](\d+[\.\d]+))?'
2333
+ name: 'Cheetah Browser'
2334
+ version: '$1'
2335
+
2336
+ # Sogou Explorer
2337
+ - regex: 'SE (\d+[\.\d]+)'
2338
+ name: 'Sogou Explorer'
2339
+ version: '$1'
2340
+
2341
+ # QQ Browser Lite
2342
+ - regex: 'QQBrowserLite/([\d\.]+)'
2343
+ name: 'QQ Browser Lite'
2344
+ version: '$1'
2345
+
2346
+ # QQ Browser Mini
2347
+ - regex: 'M?QQBrowser/Mini([\.\d]+)?'
2348
+ name: 'QQ Browser Mini'
2349
+ version: '$1'
2350
+ engine:
2351
+ default: '' # multi engine -- WebKit or Blink
2352
+
2353
+ # QQ Browser
2354
+ - regex: 'M?QQ(?:Browser|浏览器)(?:/([\.\d]+))?'
2355
+ name: 'QQ Browser'
2356
+ version: '$1'
2357
+ engine:
2358
+ default: '' # multi engine -- WebKit or Blink
2359
+
2360
+ # MIUI Browser
2361
+ - regex: '(?:MIUIBrowser|MiuiBrowser)(?:/(\d+[\.\d]+))?'
2362
+ name: 'MIUI Browser'
2363
+ version: '$1'
2364
+ engine:
2365
+ default: '' # multi engine -- WebKit or Blink
2366
+
2367
+ # Coc Coc
2368
+ # This browser (http://coccoc.vn/) is built on top of Chromium with
2369
+ # additional features for Vietnamese users. Its regex has to be placed
2370
+ # before generic Chrome regex, or Chrome regex will match first and
2371
+ # the browser is mistaken as 'Chrome".
2372
+ - regex: '(?:coc_coc_browser|coccocbrowser|CocCoc)(?:/(\d+[\.\d]+))?'
2373
+ name: 'Coc Coc'
2374
+ version: '$1'
2375
+ engine:
2376
+ default: 'WebKit'
2377
+ versions:
2378
+ 28: 'Blink'
2379
+
2380
+ # DuckDuckGo Privacy Browser
2381
+ - regex: 'DuckDuckGo/(\d+[\.\d]*)'
2382
+ name: 'DuckDuckGo Privacy Browser'
2383
+ version: '$1'
2384
+ - regex: '(?:DDG-Android-|ddg_android/)(\d+[\.\d]*)'
2385
+ name: 'DuckDuckGo Privacy Browser'
2386
+ version: '$1'
2387
+ engine:
2388
+ default: 'Blink'
2389
+
2390
+ #Samsung Browser
2391
+ - regex: 'Samsung ?Browser(?:[/ ](\d+[\.\d]+))?'
2392
+ name: 'Samsung Browser'
2393
+ version: '$1'
2394
+
2395
+ # Super Fast Browser (https://play.google.com/store/apps/details?id=com.browser.tssomas)
2396
+ - regex: '(?:SFB(?:rowser)?)/(\d+[\.\d]+)'
2397
+ name: 'Super Fast Browser'
2398
+ version: '$1'
2399
+ - regex: 'com\.browser\.tssomas(?:/(\d+[\.\d]+))?'
2400
+ name: 'Super Fast Browser'
2401
+ version: '$1'
2402
+
2403
+ # EUI Browser
2404
+ - regex: 'EUI Browser(?:/(\d+[\.\d]+))?'
2405
+ name: 'EUI Browser'
2406
+ version: '$1'
2407
+
2408
+ # UBrowser (https://callumprentice.github.io/)
2409
+ - regex: 'UBrowser(?:/(\d+[\.\d]+))?'
2410
+ name: 'UBrowser'
2411
+ version: '$1'
2412
+ engine:
2413
+ default: 'Blink'
2414
+
2415
+ #Streamy (Chromium based)
2416
+ - regex: 'Streamy(?:/(\d+[\.\d]+))?'
2417
+ name: 'Streamy'
2418
+ version: '$1'
2419
+ engine:
2420
+ default: ''
2421
+
2422
+ #Isivioo (Android version is Chrome based)
2423
+ - regex: 'isivioo'
2424
+ name: 'Isivioo'
2425
+ version: ''
2426
+ engine:
2427
+ default: ''
2428
+
2429
+ #It should be checked before Chrome since the UA contains the Chrome
2430
+
2431
+ #Tenta Browser (https://play.google.com/store/apps/details?id=com.tenta.android)
2432
+ - regex: 'Chrome/.+Tenta/(\d+[\.\d]+)'
2433
+ name: 'Tenta Browser'
2434
+ version: '$1'
2435
+ engine:
2436
+ default: 'Blink'
2437
+ - regex: 'Tenta/(\d+[\.\d]+)'
2438
+ name: 'Tenta Browser'
2439
+ version: '$1'
2440
+ engine:
2441
+ default: 'WebKit'
2442
+
2443
+ # Firefox Rocket
2444
+ - regex: 'Rocket/(\d+[\.\d]+)'
2445
+ name: 'Firefox Rocket'
2446
+ version: '$1'
2447
+ engine:
2448
+ default: 'Blink'
2449
+
2450
+ # Web Explorer
2451
+ - regex: 'Web Explorer/(\d+\.[\.\d]+) .*Chrome'
2452
+ name: 'Web Explorer'
2453
+ version: '$1'
2454
+ engine:
2455
+ default: 'Blink'
2456
+ - regex: 'webexplorer/(\d+)'
2457
+ name: 'Web Explorer'
2458
+ version: '$1'
2459
+ engine:
2460
+ default: ''
2461
+
2462
+ # Seznam Browser
2463
+ - regex: 'Chrome.+SznProhlizec/(\d+[\.\d]+)'
2464
+ name: 'Seznam Browser'
2465
+ version: '$1'
2466
+ engine:
2467
+ default: 'Blink'
2468
+ - regex: 'SznProhlizec/(\d+[\.\d]+)'
2469
+ name: 'Seznam Browser'
2470
+ version: '$1'
2471
+ engine:
2472
+ default: 'WebKit'
2473
+
2474
+ # SogouMobileBrowser
2475
+ - regex: 'SogouMobileBrowser/(\d+[\.\d]+)'
2476
+ name: 'Sogou Mobile Browser'
2477
+ version: '$1'
2478
+ engine:
2479
+ default: '' # multi engine -- WebKit or Blink
2480
+
2481
+ # Mint Browser
2482
+ - regex: 'Mint Browser/(\d+[\.\d]+)'
2483
+ name: 'Mint Browser'
2484
+ version: '$1'
2485
+ engine:
2486
+ default: '' # multi engine -- WebKit or Blink
2487
+
2488
+ # Ecosia
2489
+ - regex: 'Ecosia (?:android|ios)@(\d+[\.\d]+)'
2490
+ name: 'Ecosia'
2491
+ version: '$1'
2492
+ engine:
2493
+ default: '' # multi engine -- WebKit or Blink
2494
+ versions:
2495
+ 28: 'Blink'
2496
+
2497
+ # CM Browser
2498
+ - regex: 'ACHEETAHI'
2499
+ name: 'CM Browser'
2500
+ version: ''
2501
+ engine:
2502
+ default: '' # multi engine -- WebKit or Blink
2503
+
2504
+ # Lenovo Browser
2505
+ - regex: 'Chrome/.+ (?:LeBrowser|MobileLenovoBrowser)(?:/(\d+[\.\d]+))?'
2506
+ name: 'Lenovo Browser'
2507
+ version: '$1'
2508
+ engine:
2509
+ default: 'Blink'
2510
+ - regex: 'LeBrowser(?:/(\d+[\.\d]+))?'
2511
+ name: 'Lenovo Browser'
2512
+ version: '$1'
2513
+ engine:
2514
+ default: 'WebKit'
2515
+
2516
+ # Kiwi Browser
2517
+ - regex: 'Kiwi Chrome'
2518
+ name: 'Kiwi'
2519
+ version: ''
2520
+ engine:
2521
+ default: '' # multi engine -- WebKit or Blink
2522
+
2523
+ # 2345 Browser
2524
+ - regex: 'Mb2345Browser/(\d+[\.\d]+)'
2525
+ name: '2345 Browser'
2526
+ version: '$1'
2527
+ engine:
2528
+ default: '' # multi engine -- WebKit or Blink
2529
+
2530
+ #Mobile Silk
2531
+ - regex: 'Silk/(\d+[\.\d]+) like Chrome'
2532
+ name: 'Mobile Silk'
2533
+ version: '$1'
2534
+ engine:
2535
+ default: 'Blink'
2536
+ - regex: 'Silk(?:/(\d+[\.\d]+))?'
2537
+ name: 'Mobile Silk'
2538
+ version: '$1'
2539
+ engine:
2540
+ default: 'WebKit'
2541
+
2542
+ # iBrowser Mini
2543
+ - regex: 'iBrowser/Mini(\d+\.\d+)'
2544
+ name: 'iBrowser Mini'
2545
+ version: '$1'
2546
+
2547
+ # iBrowser
2548
+ - regex: 'iBrowser/(\d+\.[.\d]+)?'
2549
+ name: 'iBrowser'
2550
+ version: '$1'
2551
+
2552
+ #IBrowse
2553
+ - regex: 'IBrowse(?:[ /](\d+[\.\d]+))?'
2554
+ name: 'IBrowse'
2555
+ version: '$1'
2556
+
2557
+ #Openwave Mobile Browser
2558
+ - regex: 'UP\.Browser(?:/(\d+[\.\d]+))?'
2559
+ name: 'Openwave Mobile Browser'
2560
+ version: '$1'
2561
+ - regex: 'Openwave(?:/(\d+[\.\d]+))?'
2562
+ name: 'Openwave Mobile Browser'
2563
+ version: '$1'
2564
+
2565
+ #ONE Browser
2566
+ - regex: 'OneBrowser(?:[ /](\d+[\.\d]+))?'
2567
+ name: 'ONE Browser'
2568
+ version: '$1'
2569
+ engine:
2570
+ default: 'WebKit'
2571
+
2572
+ # GoBrowser
2573
+ - regex: 'GoBrowser(?:/(\d+[\.\d]+))?'
2574
+ name: 'GoBrowser'
2575
+ version: '$1'
2576
+
2577
+ #Nokia Browser
2578
+ - regex: '(?:NokiaBrowser|BrowserNG|WicKed)(?:/(\d+[\.\d]+))?'
2579
+ name: 'Nokia Browser'
2580
+ version: '$1'
2581
+ - regex: 'Series60/5\.0'
2582
+ name: 'Nokia Browser'
2583
+ version: '7.0'
2584
+ - regex: 'Series60/(\d+[\.\d]+)'
2585
+ name: 'Nokia OSS Browser'
2586
+ version: '$1'
2587
+ - regex: 'S40OviBrowser/(\d+[\.\d]+)'
2588
+ name: 'Nokia Ovi Browser'
2589
+ version: '$1'
2590
+ - regex: '^Nokia|Nokia[EN]?\d+'
2591
+ name: 'Nokia Browser'
2592
+ version: ''
306
2593
 
307
- #Konqueror
308
- - regex: 'Konqueror(?:/(\d+[\.\d]+))?'
309
- name: 'Konqueror'
2594
+ #Sleipnir
2595
+ - regex: 'Sleipnir(?:(?:%20Browser)?[ /](\d+[\.\d]+))?'
2596
+ name: 'Sleipnir'
310
2597
  version: '$1'
311
2598
  engine:
312
- default: 'KHTML'
313
- versions:
314
- 4: '' # multiple (KHTML or WebKit)
2599
+ default: '' # multi engine
315
2600
 
316
- #Baidu Browser
317
- - regex: 'baidubrowser(?:[/ ](\d+[\.\d]*))?'
318
- name: 'Baidu Browser'
2601
+ # NTENT Browser
2602
+ - regex: 'NTENTBrowser(?:/(\d+[\.\d]+))?'
2603
+ name: 'NTENT Browser'
319
2604
  version: '$1'
320
2605
 
321
- #Baidu Spark
322
- - regex: '(?:(?:BD)?Spark|BIDUBrowser)[/ ](\d+[\.\d]*)'
323
- name: 'Baidu Spark'
2606
+ # TV Bro
2607
+ - regex: 'TV Bro/(\d+[\.\d]+)'
2608
+ name: 'TV Bro'
324
2609
  version: '$1'
325
2610
 
326
- #Yandex Browser
327
- - regex: 'YaBrowser(?:/(\d+[\.\d]*))?'
328
- name: 'Yandex Browser'
2611
+ # Quark
2612
+ - regex: 'Quark(?:/(\d+[\.\d]+))?'
2613
+ name: 'Quark'
329
2614
  version: '$1'
330
- engine:
331
- default: 'Blink'
332
2615
 
333
- #Vivaldi
334
- - regex: 'Vivaldi(?:/(\d+[\.\d]+))?'
335
- name: 'Vivaldi'
2616
+ # Monument Browser
2617
+ - regex: 'MonumentBrowser(?:/(\d+[\.\d]+))?'
2618
+ name: 'Monument Browser'
336
2619
  version: '$1'
337
2620
  engine:
338
2621
  default: 'Blink'
339
2622
 
340
- #TweakStyle
341
- - regex: 'TweakStyle(?:/(\d+[\.\d]+))?'
342
- name: 'TweakStyle'
2623
+ # Blue Browser
2624
+ - regex: 'BlueBrowser(?:/(\d+[\.\d]+))?'
2625
+ name: 'Blue Browser'
343
2626
  version: '$1'
344
2627
  engine:
345
2628
  default: 'Blink'
346
2629
 
347
- #Midori
348
- - regex: 'Midori(?:/(\d+[\.\d]+))?'
349
- name: 'Midori'
2630
+ # Japan Browser (https://play.google.com/store/apps/details?id=com.japan.browser.anti.blokir)
2631
+ - regex: 'JAPAN Browser(?:/(\d+[\.\d]+))?'
2632
+ name: 'Japan Browser'
350
2633
  version: '$1'
351
2634
  engine:
352
- default: 'WebKit'
353
-
354
- #Mercury
355
- - regex: 'Mercury(?:/(\d+[\.\d]+))?'
356
- name: 'Mercury'
357
- version: '$1'
2635
+ default: 'Blink'
358
2636
 
359
- #Maxthon
360
- - regex: '(?:Maxthon|MxBrowser)[ /](\d+[\.\d]+)'
361
- name: 'Maxthon'
2637
+ - regex: 'OpenFin/(?:(\d+[\.\d]+))'
2638
+ name: 'OpenFin'
362
2639
  version: '$1'
363
2640
  engine:
364
- default: '' # Trident and WebKit
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'
377
- version: '$1'
2641
+ default: 'Blink'
378
2642
 
379
- #Iron
380
- - regex: 'Iron(?:/(\d+[\.\d]+))?'
381
- name: 'Iron'
2643
+ # SuperBird
2644
+ - regex: 'SuperBird(?:/(\d+[\.\d]+))?'
2645
+ name: 'SuperBird'
382
2646
  version: '$1'
383
2647
  engine:
384
2648
  default: 'WebKit'
385
2649
  versions:
386
2650
  28: 'Blink'
387
2651
 
388
- #Epiphany
389
- - regex: 'Epiphany(?:/(\d+[\.\d]+))?'
390
- name: 'Epiphany'
391
- version: '$1'
2652
+ # Soul Browser (https://play.google.com/store/apps/details?id=com.mycompany.app.soulbrowser)
2653
+ - regex: 'Soul(?:Browser)?$|Soul/'
2654
+ name: 'Soul Browser'
2655
+ version: ''
392
2656
  engine:
393
- default: 'Gecko'
394
- versions:
395
- 2.9.16: '' # multi engine
396
- 2.28: 'WebKit'
397
-
398
- # Liebao
399
- - regex: 'LBBrowser(?:[ /](\d+[\.\d]+))?'
400
- name: 'Liebao'
401
- version: '$1'
402
-
403
- # Sogou Explorer
404
- - regex: 'SE (\d+[\.\d]+)'
405
- name: 'Sogou Explorer'
406
- version: '$1'
2657
+ default: 'Blink'
407
2658
 
408
- # QQ Browser
409
- - regex: 'M?QQBrowser(?:/(?:Mini)?([\.\d]+))?'
410
- name: 'QQ Browser'
2659
+ # LG Browser
2660
+ - regex: 'LG Browser(?:/(\d+[\.\d]+))'
2661
+ name: 'LG Browser'
411
2662
  version: '$1'
412
2663
 
413
- # MIUI Browser
414
- - regex: 'MIUIBrowser(?:/(\d+[\.\d]+))?'
415
- name: 'MIUI Browser'
2664
+ # QtWebEngine should be placed after LG Browser
2665
+ - regex: 'QtWebEngine/(\d+[\.\d]+)'
2666
+ name: 'QtWebEngine'
416
2667
  version: '$1'
2668
+ engine:
2669
+ default: '' # multi engine -- WebKit or Blink
417
2670
 
418
- # Coc Coc
419
- # This browser (http://coccoc.vn/) is built on top of Chromium with
420
- # additional features for Vietnamese users. Its regex has to be placed
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'
2671
+ # Chrome Webview
2672
+ - regex: '(?: wv\)|Version/).* Chrome(?:/(\d+[\.\d]+))?'
2673
+ name: 'Chrome Webview'
425
2674
  version: '$1'
426
2675
  engine:
427
2676
  default: 'WebKit'
428
2677
  versions:
429
2678
  28: 'Blink'
430
2679
 
431
- #Samsung Browser
432
- - regex: 'Samsung ?Browser(?:[/ ](\d+[\.\d]+))?'
433
- name: 'Samsung Browser'
434
- version: '$1'
435
-
436
2680
  #Chrome
437
2681
  - regex: 'CrMo(?:/(\d+[\.\d]+))?'
438
2682
  name: 'Chrome Mobile'
@@ -465,26 +2709,44 @@
465
2709
  default: 'WebKit'
466
2710
  versions:
467
2711
  28: 'Blink'
468
- - regex: 'Chrome(?:/(\d+[\.\d]+))?'
469
- name: 'Chrome'
2712
+ - regex: '.*Chromium(?:_(\d+[\.\d]+))?'
2713
+ name: 'Chromium'
470
2714
  version: '$1'
471
2715
  engine:
472
2716
  default: 'WebKit'
473
2717
  versions:
474
2718
  28: 'Blink'
475
-
476
- #UC Browser
477
- - regex: 'UC[ ]?Browser(?:[ /]?(\d+[\.\d]+))?'
478
- name: 'UC Browser'
2719
+ - regex: 'HeadlessChrome(?:/(\d+[\.\d]+))?'
2720
+ name: 'Headless Chrome'
479
2721
  version: '$1'
480
- - regex: 'UCWEB(?:[ /]?(\d+[\.\d]+))?'
481
- name: 'UC Browser'
2722
+ engine:
2723
+ default: 'Blink'
2724
+ - regex: 'Chrome(?!book)(?:/(\d+[\.\d]+))?'
2725
+ name: 'Chrome'
482
2726
  version: '$1'
2727
+ engine:
2728
+ default: 'WebKit'
2729
+ versions:
2730
+ 28: 'Blink'
2731
+
2732
+ # PocketBook Browser
2733
+ - regex: 'PocketBook/'
2734
+ name: 'PocketBook Browser'
2735
+ version: ''
2736
+ engine:
2737
+ default: 'WebKit'
483
2738
 
484
2739
  #Tizen Browser
485
- - regex: '(?:Tizen|SLP) Browser(?:/(\d+[\.\d]+))?'
2740
+ - regex: '(?:Tizen|SLP) ?Browser(?:/(\d+[\.\d]+))?'
2741
+ name: 'Tizen Browser'
2742
+ version: '$1'
2743
+ - regex: 'Tizen (?:\d+\.[\.\d]+)[^\.\d].* Version/(\d+[\.\d]+) (?:TV|Mobile|like)'
486
2744
  name: 'Tizen Browser'
487
2745
  version: '$1'
2746
+ engine:
2747
+ default: 'WebKit'
2748
+ versions:
2749
+ '4': 'Blink'
488
2750
 
489
2751
  #Palm Blazer
490
2752
  - regex: 'Blazer(?:/(\d+[\.\d]+))?'
@@ -560,6 +2822,13 @@
560
2822
  engine:
561
2823
  default: 'Gecko'
562
2824
 
2825
+ #B-Line
2826
+ - regex: 'bline(?:/(\d+[\.\d]+))?'
2827
+ name: 'B-Line'
2828
+ version: '$1'
2829
+ engine:
2830
+ default: 'WebKit'
2831
+
563
2832
  #BrowseX
564
2833
  - regex: 'BrowseX \((\d+[\.\d]+)'
565
2834
  name: 'BrowseX'
@@ -575,6 +2844,13 @@
575
2844
  name: 'Cheshire'
576
2845
  version: '$1'
577
2846
 
2847
+ #dbrowser
2848
+ - regex: 'dbrowser'
2849
+ name: 'dbrowser'
2850
+ version: ''
2851
+ engine:
2852
+ default: 'WebKit'
2853
+
578
2854
  #Dillo
579
2855
  - regex: 'Dillo(?:/(\d+[\.\d]+))?'
580
2856
  name: 'Dillo'
@@ -590,7 +2866,7 @@
590
2866
  default: 'WebKit'
591
2867
 
592
2868
  #Elinks
593
- - regex: 'Elinks(?:/(\d+[\.\d]+))?'
2869
+ - regex: 'Elinks(?:[ /](\d+[\.\d]+))?'
594
2870
  name: 'Elinks'
595
2871
  version: '$1'
596
2872
  engine:
@@ -601,6 +2877,11 @@
601
2877
  name: 'Element Browser'
602
2878
  version: '$1'
603
2879
 
2880
+ # eZ Browser (https://play.google.com/store/apps/details?id=com.asc.csbrowser)
2881
+ - regex: 'eZBrowser(?:/(\d+[\.\d]+))?'
2882
+ name: 'eZ Browser'
2883
+ version: '$1'
2884
+
604
2885
  #Firebird
605
2886
  - regex: 'Firebird(?! Build)(?:/(\d+[\.\d]+))?'
606
2887
  name: 'Firebird'
@@ -622,8 +2903,20 @@
622
2903
  engine:
623
2904
  default: 'Gecko'
624
2905
 
625
- #Google Earth
626
- - regex: 'Google Earth(?:/(\d+[\.\d]+))?'
2906
+ # Google Earth Pro (https://www.google.se/intl/en/earth/versions/)
2907
+ - regex: '(?:Google Earth Pro|Google%20Earth%20Pro)(?:/(\d+[\.\d]+))?'
2908
+ name: 'Google Earth Pro'
2909
+ version: '$1'
2910
+ engine:
2911
+ default: 'WebKit'
2912
+ - regex: 'GoogleEarth/(\d+\.[\.\d]+)[^\.\d].*client:(?:Plus|Pro)'
2913
+ name: 'Google Earth Pro'
2914
+ version: '$1'
2915
+ engine:
2916
+ default: 'WebKit'
2917
+
2918
+ # Google Earth (https://www.google.se/intl/en/earth/versions/)
2919
+ - regex: 'Google ?Earth(?:/v?(\d+[\.\d]+))?'
627
2920
  name: 'Google Earth'
628
2921
  version: '$1'
629
2922
  engine:
@@ -634,10 +2927,12 @@
634
2927
  name: 'HotJava'
635
2928
  version: '$1'
636
2929
 
637
- #IBrowse
638
- - regex: 'IBrowse(?:[ /](\d+[\.\d]+))?'
639
- name: 'IBrowse'
2930
+ #iCabMobile
2931
+ - regex: 'iCabMobile(?:[ /](\d+[\.\d]+))?'
2932
+ name: 'iCab Mobile'
640
2933
  version: '$1'
2934
+ engine:
2935
+ default: 'WebKit'
641
2936
 
642
2937
  #iCab
643
2938
  - regex: 'iCab(?:[ /](\d+[\.\d]+))?'
@@ -648,19 +2943,12 @@
648
2943
  versions:
649
2944
  4: 'WebKit'
650
2945
 
651
- #Sleipnir
652
- - regex: 'Sleipnir(?:[ /](\d+[\.\d]+))?'
653
- name: 'Sleipnir'
654
- version: '$1'
655
- engine:
656
- default: '' # multi engine
657
-
658
- #Lunascape
659
- - regex: 'Lunascape(?:[/ ](\d+[\.\d]+))?'
660
- name: 'Lunascape'
2946
+ # Crazy Browser
2947
+ - regex: 'Crazy Browser (\d+[\.\d]+)'
2948
+ name: 'Crazy Browser'
661
2949
  version: '$1'
662
2950
  engine:
663
- default: '' # multi engine
2951
+ default: 'Trident'
664
2952
 
665
2953
  #Internet Explorer
666
2954
  - regex: 'IEMobile[ /](\d+[\.\d]+)'
@@ -668,29 +2956,29 @@
668
2956
  version: '$1'
669
2957
  engine:
670
2958
  default: 'Trident'
671
- - regex: 'MSIE (\d+[\.\d]+).*XBLWP7'
2959
+ - regex: 'MSIE (\d+\.[\.\d]+)[^\.\d].*XBLWP7'
672
2960
  name: 'IE Mobile'
673
2961
  version: '$1'
674
2962
  engine:
675
2963
  default: 'Trident'
676
- - regex: 'MSIE.*Trident/4.0'
2964
+ - regex: 'MSIE.*Trident/4\.0'
677
2965
  name: 'Internet Explorer'
678
- version: 8.0
2966
+ version: '8.0'
679
2967
  engine:
680
2968
  default: 'Trident'
681
- - regex: 'MSIE.*Trident/5.0'
2969
+ - regex: 'MSIE.*Trident/5\.0'
682
2970
  name: 'Internet Explorer'
683
- version: 9.0
2971
+ version: '9.0'
684
2972
  engine:
685
2973
  default: 'Trident'
686
- - regex: 'MSIE.*Trident/6.0'
2974
+ - regex: 'MSIE.*Trident/6\.0'
687
2975
  name: 'Internet Explorer'
688
- version: 10.0
2976
+ version: '10.0'
689
2977
  engine:
690
2978
  default: 'Trident'
691
- - regex: 'Trident/7.0'
2979
+ - regex: 'Trident/[78]\.0'
692
2980
  name: 'Internet Explorer'
693
- version: 11.0
2981
+ version: '11.0'
694
2982
  engine:
695
2983
  default: 'Trident'
696
2984
  - regex: 'MSIE (\d+[\.\d]+)'
@@ -698,19 +2986,12 @@
698
2986
  version: '$1'
699
2987
  engine:
700
2988
  default: 'Trident'
701
- - regex: 'IE[ /](\d+[\.\d]++)'
2989
+ - regex: 'IE[ /](\d+[\.\d]+)'
702
2990
  name: 'Internet Explorer'
703
2991
  version: '$1'
704
2992
  engine:
705
2993
  default: 'Trident'
706
2994
 
707
- #Kazehakase
708
- - regex: 'Kazehakase(?:/(\d+[\.\d]+))?'
709
- name: 'Kazehakase'
710
- version: '$1'
711
- engine:
712
- default: '' # multi engine
713
-
714
2995
  #Kindle Browser
715
2996
  - regex: 'Kindle/(\d+[\.\d]+)'
716
2997
  name: 'Kindle Browser'
@@ -730,24 +3011,11 @@
730
3011
  engine:
731
3012
  default: 'Text-based'
732
3013
 
733
- # LG Browser
734
- - regex: 'LG Browser(?:/(\d+[\.\d]+))'
735
- name: 'LG Browser'
736
- version: '$1'
737
-
738
3014
  # LuaKit
739
3015
  - regex: 'LuaKit(?:/(\d+[\.\d]+))?'
740
3016
  name: 'LuaKit'
741
3017
  version: '$1'
742
3018
 
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
3019
  #OmniWeb
752
3020
  - regex: 'OmniWeb(?:/[v]?(\d+[\.\d]+))?'
753
3021
  name: 'OmniWeb'
@@ -760,13 +3028,6 @@
760
3028
  name: 'Phoenix'
761
3029
  version: '$1'
762
3030
 
763
- #Mobile Silk
764
- - regex: 'Silk(?:/(\d+[\.\d]+))?'
765
- name: 'Mobile Silk'
766
- version: '$1'
767
- engine:
768
- default: 'Blink'
769
-
770
3031
  #NetFront
771
3032
  - regex: 'NetFrontLifeBrowser(?:/(\d+[\.\d]+))?'
772
3033
  name: 'NetFront Life'
@@ -778,7 +3039,7 @@
778
3039
  version: '$1'
779
3040
  engine:
780
3041
  default: 'NetFront'
781
- - regex: 'PLAYSTATION|NINTENDO 3|AppleWebKit.+ NX/\d+\.\d+\.\d+'
3042
+ - regex: 'PLAYSTATION|NINTENDO 3|AppleWebKit.+ N[XF]/\d+\.\d+\.\d+'
782
3043
  name: 'NetFront'
783
3044
  version: ''
784
3045
 
@@ -787,14 +3048,6 @@
787
3048
  name: 'NetPositive'
788
3049
  version: '$1'
789
3050
 
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
3051
  #Odyssey Web Browser
799
3052
  - regex: 'Odyssey Web Browser(?:.*OWB/(\d+[\.\d]+))?'
800
3053
  name: 'Odyssey Web Browser'
@@ -805,23 +3058,11 @@
805
3058
  name: 'Off By One'
806
3059
  version: ''
807
3060
 
808
- #ONE Browser
809
- - regex: 'OneBrowser(?:[ /](\d+[\.\d]+))?'
810
- name: 'ONE Browser'
811
- version: '$1'
812
- engine:
813
- default: 'WebKit'
814
-
815
- #Oregano
816
- - regex: 'Oregano(?:[ /](\d+[\.\d]+))?'
3061
+ #Oregano (https://oregan.net/)
3062
+ - regex: '(?:Oregano|OreganMediaBrowser)(?:[ /](\d+[\.\d]+))?'
817
3063
  name: 'Oregano'
818
3064
  version: '$1'
819
3065
 
820
- #Otter Browser
821
- - regex: 'Otter(?:[ /](\d+[\.\d]+))?'
822
- name: 'Otter Browser'
823
- version: '$1'
824
-
825
3066
  #Polaris
826
3067
  - regex: '(?:Polaris|Embider)(?:[/ ](\d+[\.\d]+))?'
827
3068
  name: 'Polaris'
@@ -832,13 +3073,6 @@
832
3073
  name: 'SEMC-Browser'
833
3074
  version: '$1'
834
3075
 
835
- #Seraphic Sraf
836
- - regex: 'Sraf(?:[/ ](\d+[\.\d]+))?'
837
- name: 'Seraphic Sraf'
838
- version: '$1'
839
- engine:
840
- default: 'Blink'
841
-
842
3076
  #Shiira
843
3077
  - regex: 'Shiira(?:[/ ](\d+[\.\d]+))?'
844
3078
  name: 'Shiira'
@@ -863,16 +3097,6 @@
863
3097
  name: 'Sunrise'
864
3098
  version: '$1'
865
3099
 
866
- #SuperBird
867
- - regex: 'SuperBird(?:/(\d+[\.\d]+))?'
868
- name: 'SuperBird'
869
- version: '$1'
870
-
871
- #Vision Mobile Browser
872
- - regex: 'Vision-Browser(?:/(\d+[\.\d]+))'
873
- name: 'Vision Mobile Browser'
874
- version: '$1'
875
-
876
3100
  #WeTab Browser
877
3101
  - regex: 'WeTab-Browser'
878
3102
  name: 'WeTab Browser'
@@ -883,53 +3107,118 @@
883
3107
  name: 'Xiino'
884
3108
  version: '$1'
885
3109
 
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
3110
  #BlackBerry Browser
904
3111
  - regex: 'BlackBerry|PlayBook|BB10'
905
3112
  name: 'BlackBerry Browser'
906
3113
  version: ''
907
3114
 
3115
+ # Browlser (https://play.google.com/store/apps/details?id=com.browlser | https://browlser.io/)
3116
+ - regex: 'Browlser/(\d+[\.\d]+)'
3117
+ name: 'Browlser'
3118
+ version: '$1'
3119
+
908
3120
  #Android Browser
909
- - regex: 'Android'
3121
+ - regex: '(?<! like )Android'
910
3122
  name: 'Android Browser'
911
3123
  version: ''
912
3124
  engine:
913
3125
  default: 'WebKit'
914
3126
 
3127
+ #Coast
3128
+ - regex: 'Coast(?:/(\d+[\.\d]+))?'
3129
+ name: 'Coast'
3130
+ version: '$1'
3131
+ - regex: 'Opera%20Coast/(\d+[\.\d]+)? CFNetwork/.+Darwin/.+(?!.*x86_64)'
3132
+ name: 'Coast'
3133
+ version: '$1'
3134
+ engine:
3135
+ default: 'WebKit'
3136
+
3137
+ # surf (https://surf.suckless.org/)
3138
+ - regex: 'Surf(?:/(\d+[\.\d]+))?'
3139
+ name: 'surf'
3140
+ version: '$1'
3141
+ engine:
3142
+ default: 'WebKit'
3143
+
3144
+ # Safari Technology Preview (https://developer.apple.com/safari/technology-preview/)
3145
+ - regex: 'Safari%20Technology%20Preview/(\d+[\.\d]+)'
3146
+ name: 'Safari Technology Preview'
3147
+ version: '$1'
3148
+ engine:
3149
+ default: 'WebKit'
3150
+
915
3151
  #Safari
916
3152
  - regex: '(?:(?:iPod|iPad|iPhone).+Version|MobileSafari)/(\d+[\.\d]+)'
917
3153
  name: 'Mobile Safari'
918
3154
  version: '$1'
919
3155
  engine:
920
3156
  default: 'WebKit'
921
- - regex: 'Version/(\d+[\.\d]+).*Mobile.*Safari/'
3157
+ - regex: '(?:Version/(\d+\.[\.\d]+) .*)?Mobile.*Safari/'
922
3158
  name: 'Mobile Safari'
923
3159
  version: '$1'
924
3160
  engine:
925
3161
  default: 'WebKit'
926
- - regex: '(?:iPod|iPhone|iPad)'
3162
+ - regex: '(?!^AppleCoreMedia/1\.0\.0)(?:iPod|(?<!Apple TV; U; CPU )iPhone|iPad)'
927
3163
  name: 'Mobile Safari'
928
3164
  version: ''
929
3165
  engine:
930
3166
  default: 'WebKit'
931
- - regex: 'Version/(\d+[\.\d]+).*Safari/|Safari/\d+'
3167
+ - regex: 'Version/(\d+\.[\.\d]+) .*Safari/|(?:Safari|Safari(?:%20)?%E6%B5%8F%E8%A7%88%E5%99%A8)/?\d+'
932
3168
  name: 'Safari'
933
3169
  version: '$1'
934
3170
  engine:
935
3171
  default: 'WebKit'
3172
+
3173
+ # Dorado
3174
+ - regex: '(?:\w{1,5}[_ ])?Dorado WAP-Browser(?:[/ ](\d+[\.\d]+))?'
3175
+ name: 'Dorado'
3176
+ version: '$1'
3177
+
3178
+ # NetSurf
3179
+ - regex: 'NetSurf(?:/(\d+[\.\d]+))?'
3180
+ name: 'NetSurf'
3181
+ version: '$1'
3182
+ engine:
3183
+ default: 'NetSurf'
3184
+
3185
+ # Uzbl (https://www.uzbl.org/)
3186
+ - regex: 'Uzbl'
3187
+ name: 'Uzbl'
3188
+ version: ''
3189
+
3190
+ # SimpleBrowser (https://github.com/SimpleBrowserDotNet/SimpleBrowser)
3191
+ - regex: 'SimpleBrowser'
3192
+ name: 'SimpleBrowser'
3193
+ version: ''
3194
+
3195
+ # Zvu
3196
+ - regex: 'Zvu(?:/(\d+[\.\d]+))?'
3197
+ name: 'Zvu'
3198
+ version: '$1'
3199
+ engine:
3200
+ default: 'Gecko'
3201
+
3202
+ # GOG Galaxy
3203
+ - regex: 'GOGGalaxyClient/(\d+[\.\d]+)?'
3204
+ name: 'GOG Galaxy'
3205
+ version: '$1'
3206
+
3207
+ # MAUI Wap Browser
3208
+ - regex: 'WAP Browser/MAUI|(?:\w*)Maui Wap Browser|MAUI[- ]Browser'
3209
+ name: 'MAUI WAP Browser'
3210
+ version: ''
3211
+
3212
+ # SP Browser
3213
+ - regex: 'SP%20Browser/(\d+[\.\d]+)'
3214
+ name: 'SP Browser'
3215
+ version: '$1'
3216
+ engine:
3217
+ default: 'WebKit'
3218
+
3219
+ # Firefox
3220
+ - regex: '(?<!like )Gecko(?!/\d+ SlimerJS)'
3221
+ name: 'Firefox'
3222
+ version: ''
3223
+ engine:
3224
+ default: 'Gecko'