device_detector 1.0.7 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +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:
|