device_detector 1.0.7 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +25 -4
- data/lib/device_detector/browser.rb +178 -5
- data/lib/device_detector/client_hint.rb +166 -0
- data/lib/device_detector/device.rb +291 -2
- data/lib/device_detector/os.rb +33 -3
- data/lib/device_detector/version.rb +1 -1
- data/lib/device_detector.rb +50 -15
- data/regexes/bots.yml +594 -16
- data/regexes/client/browsers.yml +334 -40
- data/regexes/client/hints/apps.yml +102 -0
- data/regexes/client/hints/browsers.yml +190 -0
- data/regexes/client/libraries.yml +199 -2
- data/regexes/client/mobile_apps.yml +320 -12
- data/regexes/client/pim.yml +15 -0
- data/regexes/device/car_browsers.yml +1 -1
- data/regexes/device/consoles.yml +6 -1
- data/regexes/device/mobiles.yml +8406 -1948
- data/regexes/device/portable_media_player.yml +18 -2
- data/regexes/device/shell_tv.yml +11 -0
- data/regexes/device/televisions.yml +26 -4
- data/regexes/oss.yml +329 -47
- metadata +10 -7
data/regexes/client/browsers.yml
CHANGED
@@ -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]+)
|
322
|
+
- regex: 'Chrome/(\d+[\.\d]+).+\(Chromium GOST\)'
|
164
323
|
name: 'Chromium GOST'
|
165
324
|
version: '$1'
|
166
325
|
engine:
|
167
|
-
default: '
|
326
|
+
default: 'WebKit'
|
327
|
+
versions:
|
328
|
+
28: 'Blink'
|
168
329
|
|
169
330
|
# Deledao (https://www.deledao.com/)
|
170
331
|
- regex: '(?:DeledaoPersonal|DeledaoFamily)/(\d+[\.\d]+)'
|
@@ -218,6 +379,13 @@
|
|
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
390
|
- regex: 'qutebrowser/(\d+[\.\d]+).+Chrome'
|
223
391
|
name: 'Qutebrowser'
|
@@ -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,8 @@
|
|
601
788
|
- regex: 'Atom/(?:(\d+[\.\d]+))?'
|
602
789
|
name: 'Atom'
|
603
790
|
version: '$1'
|
791
|
+
engine:
|
792
|
+
default: 'Blink'
|
604
793
|
|
605
794
|
# Firefox Reality (https://mixedreality.mozilla.org/firefox-reality/)
|
606
795
|
- regex: 'Mobile VR.+Firefox'
|
@@ -611,6 +800,10 @@
|
|
611
800
|
- regex: 'AVG(?:/(\d+[\.\d]+))?'
|
612
801
|
name: 'AVG Secure Browser'
|
613
802
|
version: '$1'
|
803
|
+
engine:
|
804
|
+
default: 'WebKit'
|
805
|
+
versions:
|
806
|
+
28: 'Blink'
|
614
807
|
|
615
808
|
# START Internet Browser (https://play.google.com/store/apps/details?id=fyi.start.web.browser)
|
616
809
|
- regex: 'Start/(?:(\d+[\.\d]+))?'
|
@@ -623,9 +816,11 @@
|
|
623
816
|
version: '$1'
|
624
817
|
|
625
818
|
# Delta Browser (https://play.google.com/store/apps/details?id=com.airfind.deltabrowser)
|
626
|
-
- regex: 'com.airfind.deltabrowser(?:/(\d+[\.\d]+))?'
|
819
|
+
- regex: '(?:com.airfind.deltabrowser|AirSearch)(?:/(\d+[\.\d]+))?'
|
627
820
|
name: 'Delta Browser'
|
628
821
|
version: '$1'
|
822
|
+
engine:
|
823
|
+
default: 'Blink'
|
629
824
|
|
630
825
|
# Ordissimo (https://www.ordissimo.fr/)
|
631
826
|
- regex: '(?:Ordissimo|webissimo3)(?:/(\d+[\.\d]+))?'
|
@@ -636,6 +831,10 @@
|
|
636
831
|
- regex: 'CCleaner(?:/(\d+[\.\d]+))?'
|
637
832
|
name: 'CCleaner'
|
638
833
|
version: '$1'
|
834
|
+
engine:
|
835
|
+
default: 'WebKit'
|
836
|
+
versions:
|
837
|
+
28: 'Blink'
|
639
838
|
|
640
839
|
# Aloha Browser Lite (https://play.google.com/store/apps/details?id=com.alohamobile.browser.lite)
|
641
840
|
- regex: 'AlohaLite(?:/(\d+[\.\d]+))?'
|
@@ -703,7 +902,7 @@
|
|
703
902
|
name: 'Faux Browser'
|
704
903
|
version: '$1'
|
705
904
|
|
706
|
-
# Splash (https://
|
905
|
+
# Splash (https://www.zyte.com/splash/)
|
707
906
|
- regex: 'splash Version(?:/(\d+[\.\d]+))?'
|
708
907
|
name: 'Splash'
|
709
908
|
version: '$1'
|
@@ -776,6 +975,8 @@
|
|
776
975
|
- regex: 'OculusBrowser(?:/(\d+[\.\d]+))?'
|
777
976
|
name: 'Oculus Browser'
|
778
977
|
version: '$1'
|
978
|
+
engine:
|
979
|
+
default: 'Blink'
|
779
980
|
|
780
981
|
# Jio Browser (https://play.google.com/store/apps/details?id=com.jio.web)
|
781
982
|
- regex: 'Jio(?:Browser|Pages)(?:/(\d+[\.\d]+))?'
|
@@ -874,6 +1075,13 @@
|
|
874
1075
|
engine:
|
875
1076
|
default: 'Gecko'
|
876
1077
|
|
1078
|
+
# AOL Shield Pro
|
1079
|
+
- regex: 'Chrome/.+ AOLShield(?:/(\d+[\.\d]+))?'
|
1080
|
+
name: 'AOL Shield Pro'
|
1081
|
+
version: '$1'
|
1082
|
+
engine:
|
1083
|
+
default: 'Blink'
|
1084
|
+
|
877
1085
|
# AOL Shield
|
878
1086
|
- regex: 'AOLShield(?:/(\d+[\.\d]+))?'
|
879
1087
|
name: 'AOL Shield'
|
@@ -910,16 +1118,14 @@
|
|
910
1118
|
default: 'Blink'
|
911
1119
|
|
912
1120
|
# 360 Browser
|
913
|
-
- regex: 'QIHU 360[ES]E'
|
1121
|
+
- regex: 'QIHU 360[ES]E|QihooBrowserHD/(\d+[.\d]+)'
|
914
1122
|
name: '360 Browser'
|
915
|
-
version: ''
|
1123
|
+
version: '$1'
|
916
1124
|
|
917
|
-
# 360
|
918
|
-
- regex: '360 Aphone Browser(?:
|
1125
|
+
# 360 Browser
|
1126
|
+
- regex: '360 Aphone Browser(?:[ /]?\(?(\d+[.\d]+)(?:beta)?\)?)?'
|
919
1127
|
name: '360 Phone Browser'
|
920
1128
|
version: '$1'
|
921
|
-
engine:
|
922
|
-
default: 'WebKit'
|
923
1129
|
|
924
1130
|
#SailfishBrowser
|
925
1131
|
- regex: 'SailfishBrowser(?:/(\d+[\.\d]+))?'
|
@@ -965,11 +1171,21 @@
|
|
965
1171
|
- regex: 'AlohaBrowser(?:/(\d+[\.\d]+))?'
|
966
1172
|
name: 'Aloha Browser'
|
967
1173
|
version: '$1'
|
1174
|
+
- regex: 'Aloha/'
|
1175
|
+
name: 'Aloha Browser'
|
1176
|
+
version: ''
|
968
1177
|
|
969
1178
|
# Avast Secure Browser | Avast SafeZone Browser (https://www.avast.com/)
|
1179
|
+
- regex: 'Chrome.+(?:Avast(?:SecureBrowser)?|ASW|Safer)(?:/(\d+[\.\d]+))?'
|
1180
|
+
name: 'Avast Secure Browser'
|
1181
|
+
version: '$1'
|
1182
|
+
engine:
|
1183
|
+
default: 'Blink'
|
970
1184
|
- regex: '(?:Avast(?:SecureBrowser)?|ASW|Safer)(?:/(\d+[\.\d]+))?'
|
971
1185
|
name: 'Avast Secure Browser'
|
972
1186
|
version: '$1'
|
1187
|
+
engine:
|
1188
|
+
default: 'WebKit'
|
973
1189
|
|
974
1190
|
#Epic
|
975
1191
|
- regex: 'Epic(?:/(\d+[\.\d]+))'
|
@@ -1041,10 +1257,14 @@
|
|
1041
1257
|
engine:
|
1042
1258
|
default: 'Blink'
|
1043
1259
|
|
1044
|
-
#Iridium
|
1260
|
+
#Iridium (https://iridiumbrowser.de/)
|
1045
1261
|
- regex: 'Iridium(?:/(\d+[\.\d]+))?'
|
1046
1262
|
name: 'Iridium'
|
1047
1263
|
version: '$1'
|
1264
|
+
engine:
|
1265
|
+
default: 'WebKit'
|
1266
|
+
versions:
|
1267
|
+
'28': 'Blink'
|
1048
1268
|
|
1049
1269
|
#Iceweasel
|
1050
1270
|
- regex: 'Iceweasel(?:/(\d+[\.\d]+))?'
|
@@ -1060,7 +1280,6 @@
|
|
1060
1280
|
engine:
|
1061
1281
|
default: 'WebKit'
|
1062
1282
|
|
1063
|
-
|
1064
1283
|
#Pale Moon
|
1065
1284
|
- regex: '.*Goanna.*PaleMoon(?:/(\d+[\.\d]+))?'
|
1066
1285
|
name: 'Pale Moon'
|
@@ -1205,12 +1424,12 @@
|
|
1205
1424
|
version: '$1'
|
1206
1425
|
engine:
|
1207
1426
|
default: 'Servo'
|
1208
|
-
- regex: '(?!.*Opera[ /])Firefox(
|
1427
|
+
- regex: '(?!.*Opera[ /])Firefox(?:[ /](\d+[\.\d]+))?'
|
1209
1428
|
name: 'Firefox'
|
1210
1429
|
version: '$1'
|
1211
1430
|
engine:
|
1212
1431
|
default: 'Gecko'
|
1213
|
-
- regex: '(?:BonEcho|GranParadiso|Lorentz|Minefield|Namoroka|Shiretoko)/(\d+[\.\d]+)'
|
1432
|
+
- regex: '(?:BonEcho|GranParadiso|Lorentz|Minefield|Namoroka|Shiretoko)[ /](\d+[\.\d]+)'
|
1214
1433
|
name: 'Firefox'
|
1215
1434
|
version: '$1'
|
1216
1435
|
engine:
|
@@ -1297,6 +1516,11 @@
|
|
1297
1516
|
- regex: 'UC[ ]?Browser.* \(UCMini\)'
|
1298
1517
|
name: 'UC Browser Mini'
|
1299
1518
|
version: ''
|
1519
|
+
- regex: 'Chrome.+uc mini browser(\d+[\.\d]+)?'
|
1520
|
+
name: 'UC Browser Mini'
|
1521
|
+
version: '$1'
|
1522
|
+
engine:
|
1523
|
+
default: 'Blink'
|
1300
1524
|
|
1301
1525
|
# UC Browser Turbo
|
1302
1526
|
- regex: 'UCTurbo(?:[ /]?(\d+[\.\d]+))?'
|
@@ -1318,6 +1542,11 @@
|
|
1318
1542
|
version: '$1'
|
1319
1543
|
engine:
|
1320
1544
|
default: 'WebKit'
|
1545
|
+
- regex: 'Opera%20GX/.+CFNetwork/.+Darwin/'
|
1546
|
+
name: 'Opera GX'
|
1547
|
+
version: ''
|
1548
|
+
engine:
|
1549
|
+
default: 'WebKit'
|
1321
1550
|
|
1322
1551
|
#Opera
|
1323
1552
|
- regex: '(?:Opera Tablet.*Version|Opera/.+Opera Mobi.+Version|Mobile.+OPR)/(\d+[\.\d]+)'
|
@@ -1403,6 +1632,16 @@
|
|
1403
1632
|
'3.5': 'Elektra'
|
1404
1633
|
'7': 'Presto'
|
1405
1634
|
'15': 'Blink'
|
1635
|
+
- regex: 'Opera/.+CFNetwork'
|
1636
|
+
name: 'Opera'
|
1637
|
+
version: ''
|
1638
|
+
engine:
|
1639
|
+
default: 'WebKit'
|
1640
|
+
- regex: 'Chrome.+Opera/'
|
1641
|
+
name: 'Opera'
|
1642
|
+
version: ''
|
1643
|
+
engine:
|
1644
|
+
default: 'Blink'
|
1406
1645
|
|
1407
1646
|
#Rekonq
|
1408
1647
|
- regex: 'rekonq(?:/(\d+[\.\d]+))?'
|
@@ -1493,13 +1732,13 @@
|
|
1493
1732
|
engine:
|
1494
1733
|
default: 'Blink'
|
1495
1734
|
|
1496
|
-
#Midori
|
1735
|
+
# Midori
|
1497
1736
|
- regex: 'Chrome.+Midori Browser/(\d+[\.\d]+)'
|
1498
1737
|
name: 'Midori'
|
1499
1738
|
version: '$1'
|
1500
1739
|
engine:
|
1501
1740
|
default: 'Blink'
|
1502
|
-
- regex: 'Midori(
|
1741
|
+
- regex: 'Midori(?:[ /](\d+[\.\d]+))?'
|
1503
1742
|
name: 'Midori'
|
1504
1743
|
version: '$1'
|
1505
1744
|
engine:
|
@@ -1511,14 +1750,19 @@
|
|
1511
1750
|
version: '$1'
|
1512
1751
|
|
1513
1752
|
#Maxthon
|
1514
|
-
- regex: 'Chrome.+Maxthon
|
1753
|
+
- regex: 'Chrome.+Maxthon/\d{4}'
|
1754
|
+
name: 'Maxthon'
|
1755
|
+
version: ''
|
1756
|
+
engine:
|
1757
|
+
default: 'Blink'
|
1758
|
+
- regex: 'Chrome.+(?:MxBrowser|Maxthon)(?:.+\(portable\))?/(\d+\.[\.\d]+)'
|
1515
1759
|
name: 'Maxthon'
|
1516
1760
|
version: '$1'
|
1517
1761
|
engine:
|
1518
1762
|
default: 'WebKit'
|
1519
1763
|
versions:
|
1520
|
-
'5
|
1521
|
-
- regex: '(?:Maxthon(?:%20Browser)?|MxBrowser(?:-inhouse|-iPhone)?|MXiOS)[ /](\d+[\.\d]+)'
|
1764
|
+
'4.5': 'Blink'
|
1765
|
+
- regex: '(?:Maxthon(?:%20Browser)?|MxBrowser(?:-inhouse|-iPhone)?|MXiOS)[ /](\d+[\.\d]+)?'
|
1522
1766
|
name: 'Maxthon'
|
1523
1767
|
version: '$1'
|
1524
1768
|
engine:
|
@@ -1625,7 +1869,7 @@
|
|
1625
1869
|
versions:
|
1626
1870
|
28: 'Blink'
|
1627
1871
|
|
1628
|
-
- regex: 'DuckDuckGo/(\d+[\.\d]*)'
|
1872
|
+
- regex: '(?:DDG-Android-|DuckDuckGo/)(\d+[\.\d]*)'
|
1629
1873
|
name: 'DuckDuckGo Privacy Browser'
|
1630
1874
|
version: '$1'
|
1631
1875
|
engine:
|
@@ -1685,6 +1929,11 @@
|
|
1685
1929
|
version: '$1'
|
1686
1930
|
engine:
|
1687
1931
|
default: 'WebKit'
|
1932
|
+
- regex: 'Chrome.+UC Browser(\d+[\.\d]+)'
|
1933
|
+
name: 'UC Browser'
|
1934
|
+
version: '$1'
|
1935
|
+
engine:
|
1936
|
+
default: 'Blink'
|
1688
1937
|
|
1689
1938
|
#It should be checked before Chrome since the UA contains the Chrome
|
1690
1939
|
|
@@ -1705,7 +1954,7 @@
|
|
1705
1954
|
name: 'Firefox Rocket'
|
1706
1955
|
version: '$1'
|
1707
1956
|
engine:
|
1708
|
-
default: '
|
1957
|
+
default: 'Blink'
|
1709
1958
|
|
1710
1959
|
# Web Explorer
|
1711
1960
|
- regex: 'Web Explorer/(\d+[\.\d]+).*Chrome'
|
@@ -1720,11 +1969,16 @@
|
|
1720
1969
|
default: 'WebKit'
|
1721
1970
|
|
1722
1971
|
# Seznam Browser
|
1723
|
-
- regex: 'SznProhlizec/(\d+[\.\d]+)'
|
1972
|
+
- regex: 'Chrome.+SznProhlizec/(\d+[\.\d]+)'
|
1724
1973
|
name: 'Seznam Browser'
|
1725
1974
|
version: '$1'
|
1726
1975
|
engine:
|
1727
1976
|
default: 'Blink'
|
1977
|
+
- regex: 'SznProhlizec/(\d+[\.\d]+)'
|
1978
|
+
name: 'Seznam Browser'
|
1979
|
+
version: '$1'
|
1980
|
+
engine:
|
1981
|
+
default: 'WebKit'
|
1728
1982
|
|
1729
1983
|
# SogouMobileBrowser
|
1730
1984
|
- regex: 'SogouMobileBrowser/(\d+[\.\d]+)'
|
@@ -1746,6 +2000,8 @@
|
|
1746
2000
|
version: '$1'
|
1747
2001
|
engine:
|
1748
2002
|
default: '' # multi engine -- WebKit or Blink
|
2003
|
+
versions:
|
2004
|
+
28: 'Blink'
|
1749
2005
|
|
1750
2006
|
# CM Browser
|
1751
2007
|
- regex: 'ACHEETAHI'
|
@@ -1754,6 +2010,18 @@
|
|
1754
2010
|
engine:
|
1755
2011
|
default: '' # multi engine -- WebKit or Blink
|
1756
2012
|
|
2013
|
+
# Lenovo Browser
|
2014
|
+
- regex: 'Chrome/.+ (?:LeBrowser|MobileLenovoBrowser)(?:/(\d+[\.\d]+))?'
|
2015
|
+
name: 'Lenovo Browser'
|
2016
|
+
version: '$1'
|
2017
|
+
engine:
|
2018
|
+
default: 'Blink'
|
2019
|
+
- regex: 'LeBrowser(?:/(\d+[\.\d]+))?'
|
2020
|
+
name: 'Lenovo Browser'
|
2021
|
+
version: '$1'
|
2022
|
+
engine:
|
2023
|
+
default: 'WebKit'
|
2024
|
+
|
1757
2025
|
# Kiwi Browser
|
1758
2026
|
- regex: 'Kiwi Chrome'
|
1759
2027
|
name: 'Kiwi'
|
@@ -1768,13 +2036,6 @@
|
|
1768
2036
|
engine:
|
1769
2037
|
default: '' # multi engine -- WebKit or Blink
|
1770
2038
|
|
1771
|
-
# QtWebEngine
|
1772
|
-
- regex: 'QtWebEngine/(\d+[\.\d]+)'
|
1773
|
-
name: 'QtWebEngine'
|
1774
|
-
version: '$1'
|
1775
|
-
engine:
|
1776
|
-
default: '' # multi engine -- WebKit or Blink
|
1777
|
-
|
1778
2039
|
#Mobile Silk
|
1779
2040
|
- regex: 'Silk/(\d+[\.\d]+) like Chrome'
|
1780
2041
|
name: 'Mobile Silk'
|
@@ -1899,6 +2160,25 @@
|
|
1899
2160
|
versions:
|
1900
2161
|
28: 'Blink'
|
1901
2162
|
|
2163
|
+
# Soul Browser (https://play.google.com/store/apps/details?id=com.mycompany.app.soulbrowser)
|
2164
|
+
- regex: 'Soul(?:Browser)?$|Soul/'
|
2165
|
+
name: 'Soul Browser'
|
2166
|
+
version: ''
|
2167
|
+
engine:
|
2168
|
+
default: 'Blink'
|
2169
|
+
|
2170
|
+
# LG Browser
|
2171
|
+
- regex: 'LG Browser(?:/(\d+[\.\d]+))'
|
2172
|
+
name: 'LG Browser'
|
2173
|
+
version: '$1'
|
2174
|
+
|
2175
|
+
# QtWebEngine should be placed after LG Browser
|
2176
|
+
- regex: 'QtWebEngine/(\d+[\.\d]+)'
|
2177
|
+
name: 'QtWebEngine'
|
2178
|
+
version: '$1'
|
2179
|
+
engine:
|
2180
|
+
default: '' # multi engine -- WebKit or Blink
|
2181
|
+
|
1902
2182
|
# Chrome Webview
|
1903
2183
|
- regex: 'Version/.* Chrome(?:/(\d+[\.\d]+))?'
|
1904
2184
|
name: 'Chrome Webview'
|
@@ -1953,11 +2233,18 @@
|
|
1953
2233
|
versions:
|
1954
2234
|
28: 'Blink'
|
1955
2235
|
|
2236
|
+
# PocketBook Browser
|
2237
|
+
- regex: 'PocketBook/'
|
2238
|
+
name: 'PocketBook Browser'
|
2239
|
+
version: ''
|
2240
|
+
engine:
|
2241
|
+
default: 'WebKit'
|
2242
|
+
|
1956
2243
|
#Tizen Browser
|
1957
|
-
- regex: '(?:Tizen|SLP) Browser(?:/(\d+[\.\d]+))?'
|
2244
|
+
- regex: '(?:Tizen|SLP) ?Browser(?:/(\d+[\.\d]+))?'
|
1958
2245
|
name: 'Tizen Browser'
|
1959
2246
|
version: '$1'
|
1960
|
-
- regex: 'Tizen (?:\d+[\.\d]+).+ Version/(\d+[\.\d]+) (?:TV|Mobile)'
|
2247
|
+
- regex: 'Tizen (?:\d+[\.\d]+).+ Version/(\d+[\.\d]+) (?:TV|Mobile|like)'
|
1961
2248
|
name: 'Tizen Browser'
|
1962
2249
|
version: '$1'
|
1963
2250
|
engine:
|
@@ -2083,7 +2370,7 @@
|
|
2083
2370
|
default: 'WebKit'
|
2084
2371
|
|
2085
2372
|
#Elinks
|
2086
|
-
- regex: 'Elinks(
|
2373
|
+
- regex: 'Elinks(?:[ /](\d+[\.\d]+))?'
|
2087
2374
|
name: 'Elinks'
|
2088
2375
|
version: '$1'
|
2089
2376
|
engine:
|
@@ -2121,7 +2408,7 @@
|
|
2121
2408
|
default: 'Gecko'
|
2122
2409
|
|
2123
2410
|
# Google Earth Pro (https://www.google.se/intl/en/earth/versions/)
|
2124
|
-
- regex: 'Google Earth Pro(?:/(\d+[\.\d]+))?'
|
2411
|
+
- regex: '(?:Google Earth Pro|Google%20Earth%20Pro)(?:/(\d+[\.\d]+))?'
|
2125
2412
|
name: 'Google Earth Pro'
|
2126
2413
|
version: '$1'
|
2127
2414
|
engine:
|
@@ -2228,11 +2515,6 @@
|
|
2228
2515
|
engine:
|
2229
2516
|
default: 'Text-based'
|
2230
2517
|
|
2231
|
-
# LG Browser
|
2232
|
-
- regex: 'LG Browser(?:/(\d+[\.\d]+))'
|
2233
|
-
name: 'LG Browser'
|
2234
|
-
version: '$1'
|
2235
|
-
|
2236
2518
|
# LuaKit
|
2237
2519
|
- regex: 'LuaKit(?:/(\d+[\.\d]+))?'
|
2238
2520
|
name: 'LuaKit'
|
@@ -2339,8 +2621,13 @@
|
|
2339
2621
|
name: 'BlackBerry Browser'
|
2340
2622
|
version: ''
|
2341
2623
|
|
2624
|
+
# Browlser (https://play.google.com/store/apps/details?id=com.browlser | https://browlser.io/)
|
2625
|
+
- regex: 'Browlser/(\d+[\.\d]+)'
|
2626
|
+
name: 'Browlser'
|
2627
|
+
version: '$1'
|
2628
|
+
|
2342
2629
|
#Android Browser
|
2343
|
-
- regex: 'Android'
|
2630
|
+
- regex: '(?<! like )Android'
|
2344
2631
|
name: 'Android Browser'
|
2345
2632
|
version: ''
|
2346
2633
|
engine:
|
@@ -2363,6 +2650,13 @@
|
|
2363
2650
|
engine:
|
2364
2651
|
default: 'WebKit'
|
2365
2652
|
|
2653
|
+
# Safari Technology Preview (https://developer.apple.com/safari/technology-preview/)
|
2654
|
+
- regex: 'Safari%20Technology%20Preview/(\d+[\.\d]+)'
|
2655
|
+
name: 'Safari Technology Preview'
|
2656
|
+
version: '$1'
|
2657
|
+
engine:
|
2658
|
+
default: 'WebKit'
|
2659
|
+
|
2366
2660
|
#Safari
|
2367
2661
|
- regex: '(?:(?:iPod|iPad|iPhone).+Version|MobileSafari)/(\d+[\.\d]+)'
|
2368
2662
|
name: 'Mobile Safari'
|
@@ -2379,7 +2673,7 @@
|
|
2379
2673
|
version: ''
|
2380
2674
|
engine:
|
2381
2675
|
default: 'WebKit'
|
2382
|
-
- regex: 'Version/(\d+[\.\d]+).*Safari/|Safari/?\d+'
|
2676
|
+
- regex: 'Version/(\d+[\.\d]+).*Safari/|(?:Safari|Safari(?:%20)?%E6%B5%8F%E8%A7%88%E5%99%A8)/?\d+'
|
2383
2677
|
name: 'Safari'
|
2384
2678
|
version: '$1'
|
2385
2679
|
engine:
|