device_detector 1.0.7 → 1.1.1

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.
@@ -5,6 +5,158 @@
5
5
  # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
6
6
  ###############
7
7
 
8
+ # APN Browser
9
+ - regex: 'Safari/537.36 (?:Browser|Navegador)'
10
+ name: 'APN Browser'
11
+ version: ''
12
+ engine:
13
+ default: 'Blink'
14
+
15
+ # YAGI (https://play.google.com/store/apps/details?id=in.nismah.yagi)
16
+ - regex: 'YAGI/(\d+\.[\.\d]+)'
17
+ name: 'YAGI'
18
+ version: '$1'
19
+ engine:
20
+ default: 'Blink'
21
+
22
+ # Inspect Browser (https://apps.apple.com/us/app/inspect-browser/id1203594958)
23
+ - regex: 'InspectBrowser'
24
+ name: 'Inspect Browser'
25
+ version: ''
26
+
27
+ # Keepsafe Browser (https://www.getkeepsafe.com/products/browser/)
28
+ - regex: 'Keepsafe Browser'
29
+ name: 'Keepsafe Browser'
30
+ version: ''
31
+
32
+ # Vast Browser (https://play.google.com/store/apps/details?id=com.vast.vpn.proxy.unblock)
33
+ - regex: '(.*)Vast Browser/(\d+\.[\.\d]+)'
34
+ name: 'Vast Browser'
35
+ version: '$2'
36
+ engine:
37
+ default: 'Blink'
38
+
39
+ # Bloket (https://play.google.com/store/apps/details?id=ai.blokee.browser.android)
40
+ - regex: 'bloket'
41
+ name: 'Bloket'
42
+ version: ''
43
+ engine:
44
+ default: 'Blink'
45
+
46
+ # U Browser (https://play.google.com/store/apps/details?id=com.u_browser)
47
+ - regex: '(.*)U Browser(\d+\.[\.\d]+)'
48
+ name: 'U Browser'
49
+ version: '$2'
50
+ engine:
51
+ default: 'Blink'
52
+
53
+ # Tesla Browser (https://www.teslabrowser.com/)
54
+ - regex: 'Chrome/(\d+\.[\.\d]+).+TeslaBrowser/'
55
+ name: 'Tesla Browser'
56
+ version: '$1'
57
+ engine:
58
+ default: 'Blink'
59
+
60
+ # Viasat Browser (https://browser.viasat.com/)
61
+ - regex: 'Chrome/(\d+\.[\.\d]+).+Sparrow'
62
+ name: 'Viasat Browser'
63
+ version: '$1'
64
+ engine:
65
+ default: 'WebKit'
66
+ versions:
67
+ 28: 'Blink'
68
+ - regex: 'Sparrow/.+CFNetwork'
69
+ name: 'Viasat Browser'
70
+ version: ''
71
+ engine:
72
+ default: 'WebKit'
73
+
74
+ # Lilo (https://play.google.com/store/apps/details?id=org.lilo.mobile.android2020)
75
+ - regex: 'Lilo/(\d+\.[\.\d]+)'
76
+ name: 'Lilo'
77
+ version: '$1'
78
+ engine:
79
+ default: 'Blink'
80
+
81
+ # Lexi Browser (https://play.google.com/store/apps/details?id=com.lexi.browser)
82
+ - regex: 'lexi/(\d+[\.\d]+)'
83
+ name: 'Lexi Browser'
84
+ version: '$1'
85
+ engine:
86
+ default: 'Blink'
87
+
88
+ # Floorp (https://floorp.ablaze.one/)
89
+ - regex: 'Floorp/(\d+[\.\d]+)'
90
+ name: 'Floorp'
91
+ version: '$1'
92
+ engine:
93
+ default: 'Gecko'
94
+
95
+ # Surf Browser (https://play.google.com/store/apps/details?id=com.gl9.cloudBrowser)
96
+ - regex: 'SurfBrowser/(\d+[\.\d]+)'
97
+ name: 'Surf Browser'
98
+ version: '$1'
99
+ engine:
100
+ default: 'Blink'
101
+
102
+ # Decentr (https://decentr.net/)
103
+ - regex: 'Decentr'
104
+ name: 'Decentr'
105
+ version: ''
106
+ engine:
107
+ default: 'Blink'
108
+
109
+ # YouCare (https://play.google.com/store/apps/details?id=com.youcare.browser)
110
+ - regex: 'youcare-android-app'
111
+ name: 'YouCare'
112
+ version: ''
113
+ engine:
114
+ default: 'Blink'
115
+ - regex: 'youcare-ios-app'
116
+ name: 'YouCare'
117
+ version: ''
118
+ engine:
119
+ default: 'WebKit'
120
+
121
+ # AdBlock Browser (https://play.google.com/store/apps/details?id=org.adblockplus.browser)
122
+ - regex: 'ABB/(\d+[\.\d]+)'
123
+ name: 'AdBlock Browser'
124
+ version: '$1'
125
+ engine:
126
+ default: 'Blink'
127
+
128
+ # BrowseHere
129
+ - regex: '\d+/tclwebkit(?:\d+[\.\d]*)'
130
+ name: 'BrowseHere'
131
+ version: ""
132
+
133
+ # Hi Browser (https://play.google.com/store/apps/details?id=com.talpa.hibrowser)
134
+ - regex: 'HiBrowser/(\d+[\.\d]+)'
135
+ name: 'Hi Browser'
136
+ version: '$1'
137
+ engine:
138
+ default: 'Blink'
139
+
140
+ # CYBrowser (https://www.cgl.ucsf.edu/cytoscape/utilities3/cybrowser.shtml)
141
+ - regex: 'CYBrowser/(\d+[\.\d]+)'
142
+ name: 'CyBrowser'
143
+ version: '$1'
144
+
145
+ # SiteKiosk (https://www.sitekiosk.com/)
146
+ - regex: 'Chrome/.+ SiteKiosk (\d+[\.\d]+)'
147
+ name: 'SiteKiosk'
148
+ version: '$1'
149
+ engine:
150
+ default: 'Blink'
151
+ - regex: 'SiteKiosk (\d+[\.\d]+)'
152
+ name: 'SiteKiosk'
153
+ version: '$1'
154
+
155
+ # Reqwireless WebViewer
156
+ - regex: 'ReqwirelessWeb/(\d+[\.\d]+)'
157
+ name: 'Reqwireless WebViewer'
158
+ version: '$1'
159
+
8
160
  # T+Browser (https://t.chanjet.com/tplus/view/login/downloadBrowser.html | https://dad.chanapp.chanjet.com/tplusapp/TPlusBrowser.exe)
9
161
  - regex: 'T\+Browser/(\d+[\.\d]+)'
10
162
  name: 'T+Browser'
@@ -12,6 +164,13 @@
12
164
  engine:
13
165
  default: 'Blink'
14
166
 
167
+ # SP Browser (https://play.google.com/store/apps/details?id=privatebrowser.securebrowser.com.klar)
168
+ - regex: 'Private Browser/(\d+[\.\d]+) Chrome/'
169
+ name: 'Secure Private Browser'
170
+ version: '$1'
171
+ engine:
172
+ default: 'Blink'
173
+
15
174
  # ChanjetCloud (https://dad.chanapp.chanjet.com/tplusapp/HsySetup.exe)
16
175
  - regex: 'ChanjetCloud/(\d+[\.\d]+)'
17
176
  name: 'ChanjetCloud'
@@ -160,11 +319,13 @@
160
319
  default: 'Blink'
161
320
 
162
321
  # Chromium GOST (https://github.com/deemru/chromium-gost)
163
- - regex: 'Chrome/(\d+[\.\d]+) \(Chromium GOST\)'
322
+ - regex: 'Chrome/(\d+\.[\.\d]+) .*\(Chromium GOST\)'
164
323
  name: 'Chromium GOST'
165
324
  version: '$1'
166
325
  engine:
167
- default: 'Blink'
326
+ default: 'WebKit'
327
+ versions:
328
+ 28: 'Blink'
168
329
 
169
330
  # Deledao (https://www.deledao.com/)
170
331
  - regex: '(?:DeledaoPersonal|DeledaoFamily)/(\d+[\.\d]+)'
@@ -188,7 +349,7 @@
188
349
  default: 'Gecko'
189
350
 
190
351
  # CoolBrowser (https://play.google.com/store/apps/details?id=com.easybrowser.browser.coolbrowser)
191
- - regex: 'Chrome/(\d+[\.\d]+).+AgentWeb.+UCBrowser'
352
+ - regex: 'Chrome/(\d+\.[\.\d]+) .*AgentWeb.+UCBrowser'
192
353
  name: 'CoolBrowser'
193
354
  version: '$1'
194
355
  engine:
@@ -218,8 +379,15 @@
218
379
  name: 'Lolifox'
219
380
  version: '$1'
220
381
 
382
+ # PiBrowser (https://play.google.com/store/apps/details?id=pi.browser)
383
+ - regex: 'PiBrowser/(\d+[\.\d]+)'
384
+ name: 'Pi Browser'
385
+ version: '$1'
386
+ engine:
387
+ default: 'Blink'
388
+
221
389
  # Qutebrowser (https://qutebrowser.org/)
222
- - regex: 'qutebrowser/(\d+[\.\d]+).+Chrome'
390
+ - regex: 'qutebrowser/(\d+\.[\.\d]+) .*Chrome'
223
391
  name: 'Qutebrowser'
224
392
  version: '$1'
225
393
  engine:
@@ -293,6 +461,13 @@
293
461
  name: 'Smooz'
294
462
  version: '$1'
295
463
 
464
+ # Bangla Browser (https://play.google.com/store/apps/details?id=com.w3engineers.banglabrowser)
465
+ - regex: 'BanglaBrowser/(\d+\.[.\d]+)'
466
+ name: 'Bangla Browser'
467
+ version: '$1'
468
+ engine:
469
+ default: 'Blink'
470
+
296
471
  # Cornowser (https://github.com/xdevs23/Cornowser)
297
472
  - regex: 'Cornowser/(\d+[\.\d]+)'
298
473
  name: 'Cornowser'
@@ -305,6 +480,12 @@
305
480
  name: 'Orca'
306
481
  version: '$1'
307
482
 
483
+ # Flow Browser (https://play.google.com/store/apps/details?id=org.flow.browser)
484
+ - regex: 'Android (?:[\d\.]+;) ?(?:[^;]+;)? Flow\) AppleWebKit/537.+Chrome/\d{3}'
485
+ name: 'Flow Browser'
486
+ version: ''
487
+ engine:
488
+ default: 'Blink'
308
489
  # Flow (https://www.ekioh.com/)
309
490
  - regex: 'Flow/(?:(\d+[\.\d]+))'
310
491
  name: 'Flow'
@@ -472,6 +653,8 @@
472
653
  - regex: 'PHX/(?:(\d+[\.\d]+))?'
473
654
  name: 'Phoenix Browser'
474
655
  version: '$1'
656
+ engine:
657
+ default: 'Blink'
475
658
 
476
659
  # PrivacyWall (https://play.google.com/store/apps/details?id=org.privacywall.browser)
477
660
  - regex: 'PrivacyWall/(?:(\d+[\.\d]+))?'
@@ -566,6 +749,10 @@
566
749
  - regex: 'ToGate/(?:(\d+[\.\d]+))?'
567
750
  name: 'ToGate'
568
751
  version: '$1'
752
+ engine:
753
+ default: 'WebKit'
754
+ versions:
755
+ 28: 'Blink'
569
756
 
570
757
  # VMware AirWatch (https://www.air-watch.com/)
571
758
  - regex: 'AirWatch Browser v(?:(\d+[\.\d]+))?'
@@ -601,6 +788,15 @@
601
788
  - regex: 'Atom/(?:(\d+[\.\d]+))?'
602
789
  name: 'Atom'
603
790
  version: '$1'
791
+ engine:
792
+ default: 'Blink'
793
+
794
+ # Wolvic VR Browser
795
+ - regex: 'Wolvic/(\d+\.[.\d]+)'
796
+ name: 'Wolvic'
797
+ version: '$1'
798
+ engine:
799
+ default: 'Gecko'
604
800
 
605
801
  # Firefox Reality (https://mixedreality.mozilla.org/firefox-reality/)
606
802
  - regex: 'Mobile VR.+Firefox'
@@ -611,6 +807,10 @@
611
807
  - regex: 'AVG(?:/(\d+[\.\d]+))?'
612
808
  name: 'AVG Secure Browser'
613
809
  version: '$1'
810
+ engine:
811
+ default: 'WebKit'
812
+ versions:
813
+ 28: 'Blink'
614
814
 
615
815
  # START Internet Browser (https://play.google.com/store/apps/details?id=fyi.start.web.browser)
616
816
  - regex: 'Start/(?:(\d+[\.\d]+))?'
@@ -623,9 +823,11 @@
623
823
  version: '$1'
624
824
 
625
825
  # Delta Browser (https://play.google.com/store/apps/details?id=com.airfind.deltabrowser)
626
- - regex: 'com.airfind.deltabrowser(?:/(\d+[\.\d]+))?'
826
+ - regex: '(?:com.airfind.deltabrowser|AirSearch)(?:/(\d+[\.\d]+))?'
627
827
  name: 'Delta Browser'
628
828
  version: '$1'
829
+ engine:
830
+ default: 'Blink'
629
831
 
630
832
  # Ordissimo (https://www.ordissimo.fr/)
631
833
  - regex: '(?:Ordissimo|webissimo3)(?:/(\d+[\.\d]+))?'
@@ -636,6 +838,10 @@
636
838
  - regex: 'CCleaner(?:/(\d+[\.\d]+))?'
637
839
  name: 'CCleaner'
638
840
  version: '$1'
841
+ engine:
842
+ default: 'WebKit'
843
+ versions:
844
+ 28: 'Blink'
639
845
 
640
846
  # Aloha Browser Lite (https://play.google.com/store/apps/details?id=com.alohamobile.browser.lite)
641
847
  - regex: 'AlohaLite(?:/(\d+[\.\d]+))?'
@@ -703,7 +909,7 @@
703
909
  name: 'Faux Browser'
704
910
  version: '$1'
705
911
 
706
- # Splash (https://scrapinghub.com/splash)
912
+ # Splash (https://www.zyte.com/splash/)
707
913
  - regex: 'splash Version(?:/(\d+[\.\d]+))?'
708
914
  name: 'Splash'
709
915
  version: '$1'
@@ -776,6 +982,8 @@
776
982
  - regex: 'OculusBrowser(?:/(\d+[\.\d]+))?'
777
983
  name: 'Oculus Browser'
778
984
  version: '$1'
985
+ engine:
986
+ default: 'Blink'
779
987
 
780
988
  # Jio Browser (https://play.google.com/store/apps/details?id=com.jio.web)
781
989
  - regex: 'Jio(?:Browser|Pages)(?:/(\d+[\.\d]+))?'
@@ -874,6 +1082,13 @@
874
1082
  engine:
875
1083
  default: 'Gecko'
876
1084
 
1085
+ # AOL Shield Pro
1086
+ - regex: 'Chrome/.+ AOLShield(?:/(\d+[\.\d]+))?'
1087
+ name: 'AOL Shield Pro'
1088
+ version: '$1'
1089
+ engine:
1090
+ default: 'Blink'
1091
+
877
1092
  # AOL Shield
878
1093
  - regex: 'AOLShield(?:/(\d+[\.\d]+))?'
879
1094
  name: 'AOL Shield'
@@ -910,16 +1125,14 @@
910
1125
  default: 'Blink'
911
1126
 
912
1127
  # 360 Browser
913
- - regex: 'QIHU 360[ES]E'
1128
+ - regex: 'QIHU 360[ES]E|QihooBrowserHD/(\d+[.\d]+)'
914
1129
  name: '360 Browser'
915
- version: ''
1130
+ version: '$1'
916
1131
 
917
- # 360 Phone Browser
918
- - regex: '360 Aphone Browser(?: \((\d+[\.\d]+)(?:beta)?\))?'
1132
+ # 360 Browser
1133
+ - regex: '360 Aphone Browser(?:[ /]?\(?(\d+[.\d]+)(?:beta)?\)?)?'
919
1134
  name: '360 Phone Browser'
920
1135
  version: '$1'
921
- engine:
922
- default: 'WebKit'
923
1136
 
924
1137
  #SailfishBrowser
925
1138
  - regex: 'SailfishBrowser(?:/(\d+[\.\d]+))?'
@@ -962,14 +1175,24 @@
962
1175
  version: '$1'
963
1176
  engine:
964
1177
  default: 'Blink'
965
- - regex: 'AlohaBrowser(?:/(\d+[\.\d]+))?'
1178
+ - regex: 'AlohaBrowser(?:App)?(?:/(\d+[\.\d]+))?'
966
1179
  name: 'Aloha Browser'
967
1180
  version: '$1'
1181
+ - regex: 'Aloha/'
1182
+ name: 'Aloha Browser'
1183
+ version: ''
968
1184
 
969
1185
  # Avast Secure Browser | Avast SafeZone Browser (https://www.avast.com/)
1186
+ - regex: 'Chrome.+(?:Avast(?:SecureBrowser)?|ASW|Safer)(?:/(\d+[\.\d]+))?'
1187
+ name: 'Avast Secure Browser'
1188
+ version: '$1'
1189
+ engine:
1190
+ default: 'Blink'
970
1191
  - regex: '(?:Avast(?:SecureBrowser)?|ASW|Safer)(?:/(\d+[\.\d]+))?'
971
1192
  name: 'Avast Secure Browser'
972
1193
  version: '$1'
1194
+ engine:
1195
+ default: 'WebKit'
973
1196
 
974
1197
  #Epic
975
1198
  - regex: 'Epic(?:/(\d+[\.\d]+))'
@@ -1016,7 +1239,7 @@
1016
1239
  version: '$1'
1017
1240
 
1018
1241
  #Amigo
1019
- - regex: 'Chrome/(\d+[\.\d]+).*MRCHROME'
1242
+ - regex: 'Chrome/(\d+\.[\.\d]+) .*MRCHROME'
1020
1243
  name: 'Amigo'
1021
1244
  version: '$1'
1022
1245
  engine:
@@ -1041,10 +1264,14 @@
1041
1264
  engine:
1042
1265
  default: 'Blink'
1043
1266
 
1044
- #Iridium
1267
+ #Iridium (https://iridiumbrowser.de/)
1045
1268
  - regex: 'Iridium(?:/(\d+[\.\d]+))?'
1046
1269
  name: 'Iridium'
1047
1270
  version: '$1'
1271
+ engine:
1272
+ default: 'WebKit'
1273
+ versions:
1274
+ '28': 'Blink'
1048
1275
 
1049
1276
  #Iceweasel
1050
1277
  - regex: 'Iceweasel(?:/(\d+[\.\d]+))?'
@@ -1060,7 +1287,6 @@
1060
1287
  engine:
1061
1288
  default: 'WebKit'
1062
1289
 
1063
-
1064
1290
  #Pale Moon
1065
1291
  - regex: '.*Goanna.*PaleMoon(?:/(\d+[\.\d]+))?'
1066
1292
  name: 'Pale Moon'
@@ -1176,7 +1402,7 @@
1176
1402
  default: 'Gecko'
1177
1403
 
1178
1404
  #Swiftfox
1179
- - regex: 'Firefox/(\d+[\.\d]+).*\(Swiftfox\)'
1405
+ - regex: 'Firefox/(\d+\.[\.\d]+) .*\(Swiftfox\)'
1180
1406
  name: 'Swiftfox'
1181
1407
  version: '$1'
1182
1408
  engine:
@@ -1205,12 +1431,12 @@
1205
1431
  version: '$1'
1206
1432
  engine:
1207
1433
  default: 'Servo'
1208
- - regex: '(?!.*Opera[ /])Firefox(?:/(\d+[\.\d]+))?'
1434
+ - regex: '(?!.*Opera[ /])Firefox(?:[ /](\d+[\.\d]+))?'
1209
1435
  name: 'Firefox'
1210
1436
  version: '$1'
1211
1437
  engine:
1212
1438
  default: 'Gecko'
1213
- - regex: '(?:BonEcho|GranParadiso|Lorentz|Minefield|Namoroka|Shiretoko)/(\d+[\.\d]+)'
1439
+ - regex: '(?:BonEcho|GranParadiso|Lorentz|Minefield|Namoroka|Shiretoko)[ /](\d+[\.\d]+)'
1214
1440
  name: 'Firefox'
1215
1441
  version: '$1'
1216
1442
  engine:
@@ -1297,6 +1523,11 @@
1297
1523
  - regex: 'UC[ ]?Browser.* \(UCMini\)'
1298
1524
  name: 'UC Browser Mini'
1299
1525
  version: ''
1526
+ - regex: 'Chrome.+uc mini browser(\d+[\.\d]+)?'
1527
+ name: 'UC Browser Mini'
1528
+ version: '$1'
1529
+ engine:
1530
+ default: 'Blink'
1300
1531
 
1301
1532
  # UC Browser Turbo
1302
1533
  - regex: 'UCTurbo(?:[ /]?(\d+[\.\d]+))?'
@@ -1318,6 +1549,11 @@
1318
1549
  version: '$1'
1319
1550
  engine:
1320
1551
  default: 'WebKit'
1552
+ - regex: 'Opera%20GX/.+CFNetwork/.+Darwin/'
1553
+ name: 'Opera GX'
1554
+ version: ''
1555
+ engine:
1556
+ default: 'WebKit'
1321
1557
 
1322
1558
  #Opera
1323
1559
  - regex: '(?:Opera Tablet.*Version|Opera/.+Opera Mobi.+Version|Mobile.+OPR)/(\d+[\.\d]+)'
@@ -1352,7 +1588,7 @@
1352
1588
  version: '$1'
1353
1589
  engine:
1354
1590
  default: 'Blink'
1355
- - regex: 'Opera/(\d+[\.\d]+).+Opera Mobi'
1591
+ - regex: 'Opera/(\d+\.[\.\d]+) .*Opera Mobi'
1356
1592
  name: 'Opera Mobile'
1357
1593
  version: '$1'
1358
1594
  engine:
@@ -1387,7 +1623,7 @@
1387
1623
  default: 'Presto'
1388
1624
  versions:
1389
1625
  15: 'Blink'
1390
- - regex: '(?:Opera|OPR)[/ ](?:9.80.*Version/)?(\d+[\.\d]+).+Edition Next'
1626
+ - regex: '(?:Opera|OPR)[/ ](?:9.80.*Version/)?(\d+\.[\.\d]+) .*Edition Next'
1391
1627
  name: 'Opera Next'
1392
1628
  version: '$1'
1393
1629
  engine:
@@ -1403,6 +1639,16 @@
1403
1639
  '3.5': 'Elektra'
1404
1640
  '7': 'Presto'
1405
1641
  '15': 'Blink'
1642
+ - regex: 'Opera/.+CFNetwork'
1643
+ name: 'Opera'
1644
+ version: ''
1645
+ engine:
1646
+ default: 'WebKit'
1647
+ - regex: 'Chrome.+Opera/'
1648
+ name: 'Opera'
1649
+ version: ''
1650
+ engine:
1651
+ default: 'Blink'
1406
1652
 
1407
1653
  #Rekonq
1408
1654
  - regex: 'rekonq(?:/(\d+[\.\d]+))?'
@@ -1460,7 +1706,17 @@
1460
1706
  name: 'Baidu Spark'
1461
1707
  version: '$1'
1462
1708
 
1463
- # Yandex Browser Lite
1709
+ # Yandex Browser
1710
+ - regex: 'YaBrowser(?:/(\d+[\.\d]*)) YaApp_iOS'
1711
+ name: 'Yandex Browser'
1712
+ version: '$1'
1713
+ engine:
1714
+ default: 'WebKit'
1715
+ - regex: 'iP(?:hone|ad);.+YaBrowser(?:/(\d+[\.\d]*)) Mobile'
1716
+ name: 'Yandex Browser'
1717
+ version: '$1'
1718
+ engine:
1719
+ default: 'WebKit'
1464
1720
  - regex: 'YaBrowser(?:/(\d+[\.\d]*)) \(lite\)?'
1465
1721
  name: 'Yandex Browser Lite'
1466
1722
  version: '$1'
@@ -1493,13 +1749,13 @@
1493
1749
  engine:
1494
1750
  default: 'Blink'
1495
1751
 
1496
- #Midori
1752
+ # Midori
1497
1753
  - regex: 'Chrome.+Midori Browser/(\d+[\.\d]+)'
1498
1754
  name: 'Midori'
1499
1755
  version: '$1'
1500
1756
  engine:
1501
1757
  default: 'Blink'
1502
- - regex: 'Midori(?:/(\d+[\.\d]+))?'
1758
+ - regex: 'Midori(?:[ /](\d+[\.\d]+))?'
1503
1759
  name: 'Midori'
1504
1760
  version: '$1'
1505
1761
  engine:
@@ -1511,14 +1767,19 @@
1511
1767
  version: '$1'
1512
1768
 
1513
1769
  #Maxthon
1514
- - regex: 'Chrome.+Maxthon(?:.+\(portable\))?/(\d+[\.\d]+)'
1770
+ - regex: 'Chrome.+Maxthon/\d{4}'
1771
+ name: 'Maxthon'
1772
+ version: ''
1773
+ engine:
1774
+ default: 'Blink'
1775
+ - regex: 'Chrome.+(?:MxBrowser|Maxthon)(?:.+\(portable\))?/(\d+\.[\.\d]+)'
1515
1776
  name: 'Maxthon'
1516
1777
  version: '$1'
1517
1778
  engine:
1518
1779
  default: 'WebKit'
1519
1780
  versions:
1520
- '5.2': 'Blink'
1521
- - regex: '(?:Maxthon(?:%20Browser)?|MxBrowser(?:-inhouse|-iPhone)?|MXiOS)[ /](\d+[\.\d]+)'
1781
+ '4.5': 'Blink'
1782
+ - regex: '(?:Maxthon(?:%20Browser)?|MxBrowser(?:-inhouse|-iPhone)?|MXiOS)[ /](\d+[\.\d]+)?'
1522
1783
  name: 'Maxthon'
1523
1784
  version: '$1'
1524
1785
  engine:
@@ -1545,7 +1806,7 @@
1545
1806
  default: 'Blink'
1546
1807
 
1547
1808
  # Iron
1548
- - regex: 'Chrome(?:/(\d+[\.\d]+))?.*Iron'
1809
+ - regex: 'Chrome(?:/(\d+\.[\.\d]+) )?.*Iron'
1549
1810
  name: 'Iron'
1550
1811
  version: '$1'
1551
1812
  engine:
@@ -1625,7 +1886,7 @@
1625
1886
  versions:
1626
1887
  28: 'Blink'
1627
1888
 
1628
- - regex: 'DuckDuckGo/(\d+[\.\d]*)'
1889
+ - regex: '(?:DDG-Android-|DuckDuckGo/|ddg_android/)(\d+[\.\d]*)'
1629
1890
  name: 'DuckDuckGo Privacy Browser'
1630
1891
  version: '$1'
1631
1892
  engine:
@@ -1685,6 +1946,11 @@
1685
1946
  version: '$1'
1686
1947
  engine:
1687
1948
  default: 'WebKit'
1949
+ - regex: 'Chrome.+UC Browser(\d+[\.\d]+)'
1950
+ name: 'UC Browser'
1951
+ version: '$1'
1952
+ engine:
1953
+ default: 'Blink'
1688
1954
 
1689
1955
  #It should be checked before Chrome since the UA contains the Chrome
1690
1956
 
@@ -1705,10 +1971,10 @@
1705
1971
  name: 'Firefox Rocket'
1706
1972
  version: '$1'
1707
1973
  engine:
1708
- default: 'WebKit'
1974
+ default: 'Blink'
1709
1975
 
1710
1976
  # Web Explorer
1711
- - regex: 'Web Explorer/(\d+[\.\d]+).*Chrome'
1977
+ - regex: 'Web Explorer/(\d+\.[\.\d]+) .*Chrome'
1712
1978
  name: 'Web Explorer'
1713
1979
  version: '$1'
1714
1980
  engine:
@@ -1720,11 +1986,16 @@
1720
1986
  default: 'WebKit'
1721
1987
 
1722
1988
  # Seznam Browser
1723
- - regex: 'SznProhlizec/(\d+[\.\d]+)'
1989
+ - regex: 'Chrome.+SznProhlizec/(\d+[\.\d]+)'
1724
1990
  name: 'Seznam Browser'
1725
1991
  version: '$1'
1726
1992
  engine:
1727
1993
  default: 'Blink'
1994
+ - regex: 'SznProhlizec/(\d+[\.\d]+)'
1995
+ name: 'Seznam Browser'
1996
+ version: '$1'
1997
+ engine:
1998
+ default: 'WebKit'
1728
1999
 
1729
2000
  # SogouMobileBrowser
1730
2001
  - regex: 'SogouMobileBrowser/(\d+[\.\d]+)'
@@ -1746,6 +2017,8 @@
1746
2017
  version: '$1'
1747
2018
  engine:
1748
2019
  default: '' # multi engine -- WebKit or Blink
2020
+ versions:
2021
+ 28: 'Blink'
1749
2022
 
1750
2023
  # CM Browser
1751
2024
  - regex: 'ACHEETAHI'
@@ -1754,6 +2027,18 @@
1754
2027
  engine:
1755
2028
  default: '' # multi engine -- WebKit or Blink
1756
2029
 
2030
+ # Lenovo Browser
2031
+ - regex: 'Chrome/.+ (?:LeBrowser|MobileLenovoBrowser)(?:/(\d+[\.\d]+))?'
2032
+ name: 'Lenovo Browser'
2033
+ version: '$1'
2034
+ engine:
2035
+ default: 'Blink'
2036
+ - regex: 'LeBrowser(?:/(\d+[\.\d]+))?'
2037
+ name: 'Lenovo Browser'
2038
+ version: '$1'
2039
+ engine:
2040
+ default: 'WebKit'
2041
+
1757
2042
  # Kiwi Browser
1758
2043
  - regex: 'Kiwi Chrome'
1759
2044
  name: 'Kiwi'
@@ -1768,13 +2053,6 @@
1768
2053
  engine:
1769
2054
  default: '' # multi engine -- WebKit or Blink
1770
2055
 
1771
- # QtWebEngine
1772
- - regex: 'QtWebEngine/(\d+[\.\d]+)'
1773
- name: 'QtWebEngine'
1774
- version: '$1'
1775
- engine:
1776
- default: '' # multi engine -- WebKit or Blink
1777
-
1778
2056
  #Mobile Silk
1779
2057
  - regex: 'Silk/(\d+[\.\d]+) like Chrome'
1780
2058
  name: 'Mobile Silk'
@@ -1899,6 +2177,25 @@
1899
2177
  versions:
1900
2178
  28: 'Blink'
1901
2179
 
2180
+ # Soul Browser (https://play.google.com/store/apps/details?id=com.mycompany.app.soulbrowser)
2181
+ - regex: 'Soul(?:Browser)?$|Soul/'
2182
+ name: 'Soul Browser'
2183
+ version: ''
2184
+ engine:
2185
+ default: 'Blink'
2186
+
2187
+ # LG Browser
2188
+ - regex: 'LG Browser(?:/(\d+[\.\d]+))'
2189
+ name: 'LG Browser'
2190
+ version: '$1'
2191
+
2192
+ # QtWebEngine should be placed after LG Browser
2193
+ - regex: 'QtWebEngine/(\d+[\.\d]+)'
2194
+ name: 'QtWebEngine'
2195
+ version: '$1'
2196
+ engine:
2197
+ default: '' # multi engine -- WebKit or Blink
2198
+
1902
2199
  # Chrome Webview
1903
2200
  - regex: 'Version/.* Chrome(?:/(\d+[\.\d]+))?'
1904
2201
  name: 'Chrome Webview'
@@ -1953,11 +2250,18 @@
1953
2250
  versions:
1954
2251
  28: 'Blink'
1955
2252
 
2253
+ # PocketBook Browser
2254
+ - regex: 'PocketBook/'
2255
+ name: 'PocketBook Browser'
2256
+ version: ''
2257
+ engine:
2258
+ default: 'WebKit'
2259
+
1956
2260
  #Tizen Browser
1957
- - regex: '(?:Tizen|SLP) Browser(?:/(\d+[\.\d]+))?'
2261
+ - regex: '(?:Tizen|SLP) ?Browser(?:/(\d+[\.\d]+))?'
1958
2262
  name: 'Tizen Browser'
1959
2263
  version: '$1'
1960
- - regex: 'Tizen (?:\d+[\.\d]+).+ Version/(\d+[\.\d]+) (?:TV|Mobile)'
2264
+ - regex: 'Tizen (?:\d+\.[\.\d]+)[^\.\d].* Version/(\d+[\.\d]+) (?:TV|Mobile|like)'
1961
2265
  name: 'Tizen Browser'
1962
2266
  version: '$1'
1963
2267
  engine:
@@ -2083,7 +2387,7 @@
2083
2387
  default: 'WebKit'
2084
2388
 
2085
2389
  #Elinks
2086
- - regex: 'Elinks(?:/(\d+[\.\d]+))?'
2390
+ - regex: 'Elinks(?:[ /](\d+[\.\d]+))?'
2087
2391
  name: 'Elinks'
2088
2392
  version: '$1'
2089
2393
  engine:
@@ -2121,12 +2425,12 @@
2121
2425
  default: 'Gecko'
2122
2426
 
2123
2427
  # Google Earth Pro (https://www.google.se/intl/en/earth/versions/)
2124
- - regex: 'Google Earth Pro(?:/(\d+[\.\d]+))?'
2428
+ - regex: '(?:Google Earth Pro|Google%20Earth%20Pro)(?:/(\d+[\.\d]+))?'
2125
2429
  name: 'Google Earth Pro'
2126
2430
  version: '$1'
2127
2431
  engine:
2128
2432
  default: 'WebKit'
2129
- - regex: 'GoogleEarth/(\d+[\.\d]+).+client:(?:Plus|Pro)'
2433
+ - regex: 'GoogleEarth/(\d+\.[\.\d]+)[^\.\d].*client:(?:Plus|Pro)'
2130
2434
  name: 'Google Earth Pro'
2131
2435
  version: '$1'
2132
2436
  engine:
@@ -2173,7 +2477,7 @@
2173
2477
  version: '$1'
2174
2478
  engine:
2175
2479
  default: 'Trident'
2176
- - regex: 'MSIE (\d+[\.\d]+).*XBLWP7'
2480
+ - regex: 'MSIE (\d+\.[\.\d]+)[^\.\d].*XBLWP7'
2177
2481
  name: 'IE Mobile'
2178
2482
  version: '$1'
2179
2483
  engine:
@@ -2228,11 +2532,6 @@
2228
2532
  engine:
2229
2533
  default: 'Text-based'
2230
2534
 
2231
- # LG Browser
2232
- - regex: 'LG Browser(?:/(\d+[\.\d]+))'
2233
- name: 'LG Browser'
2234
- version: '$1'
2235
-
2236
2535
  # LuaKit
2237
2536
  - regex: 'LuaKit(?:/(\d+[\.\d]+))?'
2238
2537
  name: 'LuaKit'
@@ -2339,8 +2638,13 @@
2339
2638
  name: 'BlackBerry Browser'
2340
2639
  version: ''
2341
2640
 
2641
+ # Browlser (https://play.google.com/store/apps/details?id=com.browlser | https://browlser.io/)
2642
+ - regex: 'Browlser/(\d+[\.\d]+)'
2643
+ name: 'Browlser'
2644
+ version: '$1'
2645
+
2342
2646
  #Android Browser
2343
- - regex: 'Android'
2647
+ - regex: '(?<! like )Android'
2344
2648
  name: 'Android Browser'
2345
2649
  version: ''
2346
2650
  engine:
@@ -2363,13 +2667,20 @@
2363
2667
  engine:
2364
2668
  default: 'WebKit'
2365
2669
 
2670
+ # Safari Technology Preview (https://developer.apple.com/safari/technology-preview/)
2671
+ - regex: 'Safari%20Technology%20Preview/(\d+[\.\d]+)'
2672
+ name: 'Safari Technology Preview'
2673
+ version: '$1'
2674
+ engine:
2675
+ default: 'WebKit'
2676
+
2366
2677
  #Safari
2367
2678
  - regex: '(?:(?:iPod|iPad|iPhone).+Version|MobileSafari)/(\d+[\.\d]+)'
2368
2679
  name: 'Mobile Safari'
2369
2680
  version: '$1'
2370
2681
  engine:
2371
2682
  default: 'WebKit'
2372
- - regex: '(?:Version/(\d+[\.\d]+).*)?Mobile.*Safari/'
2683
+ - regex: '(?:Version/(\d+\.[\.\d]+) .*)?Mobile.*Safari/'
2373
2684
  name: 'Mobile Safari'
2374
2685
  version: '$1'
2375
2686
  engine:
@@ -2379,14 +2690,14 @@
2379
2690
  version: ''
2380
2691
  engine:
2381
2692
  default: 'WebKit'
2382
- - regex: 'Version/(\d+[\.\d]+).*Safari/|Safari/?\d+'
2693
+ - regex: 'Version/(\d+\.[\.\d]+) .*Safari/|(?:Safari|Safari(?:%20)?%E6%B5%8F%E8%A7%88%E5%99%A8)/?\d+'
2383
2694
  name: 'Safari'
2384
2695
  version: '$1'
2385
2696
  engine:
2386
2697
  default: 'WebKit'
2387
2698
 
2388
2699
  # Dorado
2389
- - regex: 'Dorado WAP-Browser(?:[/ ](\d+[\.\d]+))?'
2700
+ - regex: '(?:\w{1,5}[_ ])?Dorado WAP-Browser(?:[/ ](\d+[\.\d]+))?'
2390
2701
  name: 'Dorado'
2391
2702
  version: '$1'
2392
2703