device_detector 1.1.0 → 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +4 -4
- data/lib/device_detector/browser.rb +6 -0
- data/lib/device_detector/client_hint.rb +22 -7
- data/lib/device_detector/device.rb +231 -1
- data/lib/device_detector/parser.rb +25 -3
- data/lib/device_detector/vendor_fragment.rb +25 -0
- data/lib/device_detector/version.rb +1 -1
- data/lib/device_detector.rb +33 -2
- data/regexes/bots.yml +172 -10
- data/regexes/client/browsers.yml +35 -18
- data/regexes/client/hints/browsers.yml +5 -0
- data/regexes/client/libraries.yml +1 -1
- data/regexes/client/mobile_apps.yml +76 -2
- data/regexes/device/car_browsers.yml +1 -1
- data/regexes/device/consoles.yml +2 -2
- data/regexes/device/mobiles.yml +4333 -1090
- data/regexes/device/portable_media_player.yml +7 -1
- data/regexes/device/shell_tv.yml +5 -0
- data/regexes/oss.yml +71 -22
- metadata +4 -3
@@ -33,6 +33,11 @@
|
|
33
33
|
name: 'Apple News'
|
34
34
|
version: '$1'
|
35
35
|
|
36
|
+
# Apple TV
|
37
|
+
- regex: 'appletv.client'
|
38
|
+
name: 'Apple TV'
|
39
|
+
version: ''
|
40
|
+
|
36
41
|
- regex: 'bPod'
|
37
42
|
name: 'bPod'
|
38
43
|
version: ''
|
@@ -141,6 +146,11 @@
|
|
141
146
|
name: 'YouTube'
|
142
147
|
version: '$1'
|
143
148
|
|
149
|
+
# Rutube
|
150
|
+
- regex: 'Rutube(?:TV)?BlackAndroid'
|
151
|
+
name: 'Rutube'
|
152
|
+
version: '$1'
|
153
|
+
|
144
154
|
# Netflix (https://play.google.com/store/apps/details?id=com.netflix.mediaclient)
|
145
155
|
- regex: 'com.netflix.mediaclient(?:/(\d+\.[\d\.]+))?'
|
146
156
|
name: 'Netflix'
|
@@ -161,7 +171,7 @@
|
|
161
171
|
version: '$1'
|
162
172
|
|
163
173
|
# AFNetworking generic
|
164
|
-
- regex: '([^/]
|
174
|
+
- regex: '(?!AlohaBrowser)([^/]*)/(\d+\.[\d.]+) \((?:iPhone|iPad); (?:iOS|iPadOS) [0-9\.]+; Scale/[0-9\.]+\)'
|
165
175
|
name: '$1'
|
166
176
|
version: '$2'
|
167
177
|
|
@@ -551,7 +561,7 @@
|
|
551
561
|
version: '$1'
|
552
562
|
|
553
563
|
# https://apps.apple.com/us/app/zalo/id579523206
|
554
|
-
- regex: 'Zalo/([\d\.]+)'
|
564
|
+
- regex: 'Zalo/([\d\.]+)|Zalo android'
|
555
565
|
name: 'Zalo'
|
556
566
|
version: '$1'
|
557
567
|
|
@@ -747,6 +757,21 @@
|
|
747
757
|
name: 'AliExpress'
|
748
758
|
version: '$1'
|
749
759
|
|
760
|
+
# Lazada
|
761
|
+
- regex: '(?:lazada_android|AliApp\(LA)[/ _](\d+\.[\d.]+)'
|
762
|
+
name: 'Lazada'
|
763
|
+
version: '$1'
|
764
|
+
|
765
|
+
# Taobao
|
766
|
+
- regex: '(?:taobao_android|AliApp\(TB)[/ _](\d+\.[\d.]+)'
|
767
|
+
name: 'Taobao'
|
768
|
+
version: '$1'
|
769
|
+
|
770
|
+
# Alipay
|
771
|
+
- regex: '(?:AlipayClient|AliApp\(AP)[/ _](\d+\.[\d.]+)'
|
772
|
+
name: 'Alipay'
|
773
|
+
version: '$1'
|
774
|
+
|
750
775
|
# Blue Proxy (https://play.google.com/store/apps/details?id=com.udicorn.proxy)
|
751
776
|
- regex: 'Blue Proxy/([\d\.]+)'
|
752
777
|
name: 'Blue Proxy'
|
@@ -1383,7 +1408,56 @@
|
|
1383
1408
|
name: 'WhatsApp+2'
|
1384
1409
|
version: '$1'
|
1385
1410
|
|
1411
|
+
# GBWhatsApp
|
1412
|
+
- regex: 'GBWhatsApp(?:/(\d+[\.\d]+))?'
|
1413
|
+
name: 'GBWhatsApp'
|
1414
|
+
version: '$1'
|
1415
|
+
|
1386
1416
|
# R (https://www.r-project.org/)
|
1387
1417
|
- regex: '^R/(\d+[\.\d]+)'
|
1388
1418
|
name: 'R'
|
1389
1419
|
version: '$1'
|
1420
|
+
|
1421
|
+
# RadioApp (https://apps.apple.com/us/app/radioapp-a-simple-radio/id720291153)
|
1422
|
+
- regex: 'RadioAppFree/'
|
1423
|
+
name: 'RadioApp'
|
1424
|
+
version: ''
|
1425
|
+
|
1426
|
+
# Audible
|
1427
|
+
- regex: '^(?:Audible, Android, |com.audible.playersdk.player/|Audible/)(\d+\.[.\d]+)?'
|
1428
|
+
name: 'Audible'
|
1429
|
+
version: '$1'
|
1430
|
+
|
1431
|
+
# Overcast (http://overcast.fm/)
|
1432
|
+
- regex: 'Overcast/?(\d+\.[.\d]+)? \(\+http://overcast.fm/; (?:Apple Watch|iOS) podcast'
|
1433
|
+
name: 'Overcast'
|
1434
|
+
version: '$1'
|
1435
|
+
|
1436
|
+
# HTTP request maker (https://play.google.com/store/apps/details?id=com.proj.httprequestmaker)
|
1437
|
+
- regex: '^HTTPrequestmaker'
|
1438
|
+
name: 'HTTP request maker'
|
1439
|
+
version: ''
|
1440
|
+
|
1441
|
+
# bonprix (https://play.google.com/store/apps/details?id=com.proj.httprequestmaker)
|
1442
|
+
- regex: '^bonprix mobile App (\d+\.[.\d]+)'
|
1443
|
+
name: 'BonPrix'
|
1444
|
+
version: '$1'
|
1445
|
+
|
1446
|
+
# Quora https://apps.apple.com/us/app/quora/id456034437
|
1447
|
+
- regex: 'Safari Quora (\d+\.[.\d]+)'
|
1448
|
+
name: 'Quora'
|
1449
|
+
version: '$1'
|
1450
|
+
|
1451
|
+
# jj2go https://apps.apple.com/us/app/jj2go/id1438749275
|
1452
|
+
- regex: 'RelesysApp/(\d+\.[.\d]+) \(\d{1,2}\) net.relesysapp.jj2go'
|
1453
|
+
name: 'JJ2GO'
|
1454
|
+
version: '$1'
|
1455
|
+
|
1456
|
+
# My Watch Party
|
1457
|
+
- regex: 'MyWatchParty/(\d+\.[.\d]+)'
|
1458
|
+
name: 'My Watch Party'
|
1459
|
+
version: '$1'
|
1460
|
+
|
1461
|
+
- regex: 'LoseIt!/(\d+\.[.\d]+)'
|
1462
|
+
name: 'LoseIt!'
|
1463
|
+
version: '$1'
|
data/regexes/device/consoles.yml
CHANGED
@@ -26,7 +26,7 @@ Microsoft:
|
|
26
26
|
model: 'Xbox 360'
|
27
27
|
|
28
28
|
Nintendo:
|
29
|
-
regex: 'Nintendo (([3]?DS[i]?)|Wii[U]?|Switch)'
|
29
|
+
regex: 'Nintendo (([3]?DS[i]?)|Wii[U]?|Switch|GameBoy)'
|
30
30
|
device: 'console'
|
31
31
|
model: '$1'
|
32
32
|
|
@@ -52,6 +52,6 @@ Sony:
|
|
52
52
|
|
53
53
|
# Retroid Pocket (www.goretroid.com)
|
54
54
|
Retroid Pocket:
|
55
|
-
regex: 'Retroid Pocket
|
55
|
+
regex: 'Retroid Pocket 2(?:Plus|\+)'
|
56
56
|
device: 'console'
|
57
57
|
model: '2 Plus'
|