device_detector 1.0.3 → 1.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +15 -0
- data/README.md +8 -7
- data/lib/device_detector/bot.rb +2 -2
- data/lib/device_detector/browser.rb +364 -0
- data/lib/device_detector/client.rb +11 -2
- data/lib/device_detector/device.rb +1247 -22
- data/lib/device_detector/memory_cache.rb +5 -5
- data/lib/device_detector/metadata_extractor.rb +7 -8
- data/lib/device_detector/model_extractor.rb +3 -3
- data/lib/device_detector/name_extractor.rb +2 -2
- data/lib/device_detector/os.rb +150 -116
- data/lib/device_detector/parser.rb +23 -10
- data/lib/device_detector/version.rb +1 -1
- data/lib/device_detector/version_extractor.rb +29 -2
- data/lib/device_detector.rb +73 -40
- data/regexes/bots.yml +868 -62
- data/regexes/client/browser_engine.yml +11 -2
- data/regexes/client/browsers.yml +1132 -112
- data/regexes/client/feed_readers.yml +5 -11
- data/regexes/client/libraries.yml +86 -2
- data/regexes/client/mediaplayers.yml +39 -3
- data/regexes/client/mobile_apps.yml +940 -66
- data/regexes/client/pim.yml +66 -3
- data/regexes/device/cameras.yml +6 -6
- data/regexes/device/car_browsers.yml +23 -3
- data/regexes/device/consoles.yml +15 -3
- data/regexes/device/mobiles.yml +18351 -3566
- data/regexes/device/notebooks.yml +114 -0
- data/regexes/device/portable_media_player.yml +36 -9
- data/regexes/device/shell_tv.yml +117 -0
- data/regexes/device/televisions.yml +440 -35
- data/regexes/oss.yml +635 -284
- data/regexes/vendorfragments.yml +5 -1
- metadata +21 -118
- data/.gitignore +0 -14
- data/.travis.yml +0 -14
- data/Gemfile +0 -8
- data/Rakefile +0 -96
- data/device_detector.gemspec +0 -26
- data/spec/device_detector/bot_fixtures_spec.rb +0 -30
- data/spec/device_detector/client_fixtures_spec.rb +0 -31
- data/spec/device_detector/concrete_user_agent_spec.rb +0 -135
- data/spec/device_detector/detector_fixtures_spec.rb +0 -100
- data/spec/device_detector/device_fixtures_spec.rb +0 -36
- data/spec/device_detector/device_spec.rb +0 -151
- data/spec/device_detector/memory_cache_spec.rb +0 -148
- data/spec/device_detector/model_extractor_spec.rb +0 -63
- data/spec/device_detector/os_fixtures_spec.rb +0 -26
- data/spec/device_detector/version_extractor_spec.rb +0 -79
- data/spec/device_detector_spec.rb +0 -189
- data/spec/fixtures/client/browser.yml +0 -2206
- data/spec/fixtures/client/feed_reader.yml +0 -199
- data/spec/fixtures/client/library.yml +0 -175
- data/spec/fixtures/client/mediaplayer.yml +0 -163
- data/spec/fixtures/client/mobile_app.yml +0 -193
- data/spec/fixtures/client/pim.yml +0 -115
- data/spec/fixtures/detector/bots.yml +0 -3260
- data/spec/fixtures/detector/camera.yml +0 -121
- data/spec/fixtures/detector/car_browser.yml +0 -21
- data/spec/fixtures/detector/console.yml +0 -281
- data/spec/fixtures/detector/desktop.yml +0 -5361
- data/spec/fixtures/detector/feature_phone.yml +0 -891
- data/spec/fixtures/detector/feed_reader.yml +0 -551
- data/spec/fixtures/detector/mediaplayer.yml +0 -210
- data/spec/fixtures/detector/mobile_apps.yml +0 -456
- data/spec/fixtures/detector/phablet.yml +0 -3785
- data/spec/fixtures/detector/portable_media_player.yml +0 -178
- data/spec/fixtures/detector/smart_display.yml +0 -61
- data/spec/fixtures/detector/smartphone-1.yml +0 -9953
- data/spec/fixtures/detector/smartphone-10.yml +0 -9924
- data/spec/fixtures/detector/smartphone-11.yml +0 -9889
- data/spec/fixtures/detector/smartphone-12.yml +0 -8655
- data/spec/fixtures/detector/smartphone-2.yml +0 -9967
- data/spec/fixtures/detector/smartphone-3.yml +0 -9887
- data/spec/fixtures/detector/smartphone-4.yml +0 -9911
- data/spec/fixtures/detector/smartphone-5.yml +0 -9933
- data/spec/fixtures/detector/smartphone-6.yml +0 -9923
- data/spec/fixtures/detector/smartphone-7.yml +0 -9892
- data/spec/fixtures/detector/smartphone-8.yml +0 -9896
- data/spec/fixtures/detector/smartphone-9.yml +0 -9928
- data/spec/fixtures/detector/smartphone.yml +0 -9984
- data/spec/fixtures/detector/tablet-1.yml +0 -10023
- data/spec/fixtures/detector/tablet-2.yml +0 -9968
- data/spec/fixtures/detector/tablet-3.yml +0 -7787
- data/spec/fixtures/detector/tablet.yml +0 -9951
- data/spec/fixtures/detector/tv.yml +0 -3333
- data/spec/fixtures/detector/unknown.yml +0 -3283
- data/spec/fixtures/device/camera.yml +0 -19
- data/spec/fixtures/device/car_browser.yml +0 -7
- data/spec/fixtures/device/console.yml +0 -79
- data/spec/fixtures/parser/oss.yml +0 -1047
- data/spec/fixtures/parser/vendorfragments.yml +0 -162
- data/spec/spec_helper.rb +0 -9
data/regexes/client/pim.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
###############
|
2
2
|
# Device Detector - The Universal Device Detection library for parsing User Agents
|
3
3
|
#
|
4
|
-
# @link
|
4
|
+
# @link https://matomo.org
|
5
5
|
# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
|
6
6
|
###############
|
7
7
|
|
@@ -9,10 +9,20 @@
|
|
9
9
|
name: 'Outlook Express'
|
10
10
|
version: '$1'
|
11
11
|
|
12
|
-
|
12
|
+
# Outlook https://apps.apple.com/ru/app/microsoft-outlook/id951937596
|
13
|
+
- regex: '^Outlook-iOS/(?:.+\((\d+[\.\d]+)\)$)?'
|
13
14
|
name: 'Microsoft Outlook'
|
14
15
|
version: '$1'
|
15
16
|
|
17
|
+
- regex: '(?:(?:Microsoft )?Outlook|MacOutlook)(?:[/ ](\d+[\.\d]+))?'
|
18
|
+
name: 'Microsoft Outlook'
|
19
|
+
version: '$1'
|
20
|
+
|
21
|
+
# Default Mail Client for Windows
|
22
|
+
- regex: 'WindowsMail(?:/(\d+[\.\d]+))'
|
23
|
+
name: 'Windows Mail'
|
24
|
+
version: '$1'
|
25
|
+
|
16
26
|
- regex: '(?:Thunderbird|Icedove|Shredder)(?:/(\d+[\.\d]+))?'
|
17
27
|
name: 'Thunderbird'
|
18
28
|
version: '$1'
|
@@ -48,4 +58,57 @@
|
|
48
58
|
# SeaMonkey
|
49
59
|
- regex: '(?:SeaMonkey|Iceape)(?:/(\d+[\.\d]+))?'
|
50
60
|
name: 'SeaMonkey'
|
51
|
-
version: '$1'
|
61
|
+
version: '$1'
|
62
|
+
|
63
|
+
# Live5ch
|
64
|
+
- regex: 'Live5ch/(\d+[\.\d]+)'
|
65
|
+
name: 'Live5ch'
|
66
|
+
version: '$1'
|
67
|
+
|
68
|
+
- regex: 'JaneView/'
|
69
|
+
name: 'JaneView'
|
70
|
+
version: ''
|
71
|
+
|
72
|
+
- regex: 'BathyScaphe/'
|
73
|
+
name: 'BathyScaphe'
|
74
|
+
version: ''
|
75
|
+
|
76
|
+
# Raindrop.io (https://raindrop.io/)
|
77
|
+
- regex: 'Raindrop.io/(\d+[\.\d]+)'
|
78
|
+
name: 'Raindrop.io'
|
79
|
+
version: '$1'
|
80
|
+
|
81
|
+
# Franz (https://meetfranz.com/)
|
82
|
+
- regex: 'Franz/(\d+[\.\d]+)'
|
83
|
+
name: 'Franz'
|
84
|
+
version: '$1'
|
85
|
+
|
86
|
+
# Mailspring (https://www.electronjs.org/apps/mailspring)
|
87
|
+
- regex: 'Mailspring/(\d+[\.\d]+)'
|
88
|
+
name: 'Mailspring'
|
89
|
+
version: '$1'
|
90
|
+
|
91
|
+
# Notion (https://www.notion.so/)
|
92
|
+
- regex: 'Notion/(\d+[\.\d]+)'
|
93
|
+
name: 'Notion'
|
94
|
+
version: '$1'
|
95
|
+
|
96
|
+
# Basecamp (https://basecamp.com/)
|
97
|
+
- regex: 'Basecamp[0-9]/?(\d+[\.\d]+)'
|
98
|
+
name: 'Basecamp'
|
99
|
+
version: '$1'
|
100
|
+
|
101
|
+
# Evernote (https://evernote.com/)
|
102
|
+
- regex: 'Evernote/?(\d+[\.\d]+)'
|
103
|
+
name: 'Evernote'
|
104
|
+
version: '$1'
|
105
|
+
|
106
|
+
# Rambox Pro (https://rambox.app/)
|
107
|
+
- regex: 'ramboxpro/(\d+\.[\.\d]+)?'
|
108
|
+
name: 'Rambox Pro'
|
109
|
+
version: '$1'
|
110
|
+
|
111
|
+
# Mailbird (https://www.getmailbird.com/)
|
112
|
+
- regex: 'Mailbird/(\d+\.[\.\d]+)/'
|
113
|
+
name: 'Mailbird'
|
114
|
+
version: '$1'
|
data/regexes/device/cameras.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
###############
|
2
2
|
# Device Detector - The Universal Device Detection library for parsing User Agents
|
3
3
|
#
|
4
|
-
# @link
|
4
|
+
# @link https://matomo.org
|
5
5
|
# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
|
6
6
|
###############
|
7
7
|
|
@@ -17,12 +17,12 @@ Samsung:
|
|
17
17
|
device: 'camera'
|
18
18
|
models:
|
19
19
|
- regex: 'EK-GN120'
|
20
|
-
model: '
|
20
|
+
model: 'Galaxy NX'
|
21
21
|
- regex: 'EK-GC100'
|
22
|
-
model: '
|
22
|
+
model: 'Galaxy Camera'
|
23
23
|
- regex: 'EK-GC110'
|
24
|
-
model: '
|
24
|
+
model: 'Galaxy Camera WiFi only'
|
25
25
|
- regex: 'EK-GC200'
|
26
|
-
model: '
|
26
|
+
model: 'Galaxy Camera 2'
|
27
27
|
- regex: 'EK-GC([0-9]{3})'
|
28
|
-
model: '
|
28
|
+
model: 'Galaxy Camera $1'
|
@@ -1,12 +1,32 @@
|
|
1
1
|
###############
|
2
2
|
# Device Detector - The Universal Device Detection library for parsing User Agents
|
3
3
|
#
|
4
|
-
# @link
|
4
|
+
# @link https://matomo.org
|
5
5
|
# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
|
6
6
|
###############
|
7
7
|
|
8
8
|
# Tesla Model S
|
9
9
|
Tesla:
|
10
|
-
regex: 'QtCarBrowser'
|
10
|
+
regex: '(?:Tesla/[0-9.]+|QtCarBrowser)'
|
11
11
|
device: 'car browser'
|
12
|
-
|
12
|
+
models:
|
13
|
+
- regex: 'QtCarBrowser'
|
14
|
+
model: 'Model S'
|
15
|
+
- regex: 'Tesla/[0-9.]+'
|
16
|
+
model: ''
|
17
|
+
|
18
|
+
# Mac Audio
|
19
|
+
MAC AUDIO:
|
20
|
+
regex: 'Mac Audio Spro'
|
21
|
+
device: 'car browser'
|
22
|
+
models:
|
23
|
+
- regex: 'Spro'
|
24
|
+
model: 'S Pro'
|
25
|
+
|
26
|
+
# Topway
|
27
|
+
Topway:
|
28
|
+
regex: 'sp9853i_1h10_vmm'
|
29
|
+
device: 'car browser'
|
30
|
+
models:
|
31
|
+
- regex: 'sp9853i_1h10_vmm'
|
32
|
+
model: 'TS9'
|
data/regexes/device/consoles.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
###############
|
2
2
|
# Device Detector - The Universal Device Detection library for parsing User Agents
|
3
3
|
#
|
4
|
-
# @link
|
4
|
+
# @link https://matomo.org
|
5
5
|
# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
|
6
6
|
###############
|
7
7
|
|
@@ -14,13 +14,19 @@ Microsoft:
|
|
14
14
|
regex: 'Xbox'
|
15
15
|
device: 'console'
|
16
16
|
models:
|
17
|
+
- regex: 'Xbox Series X'
|
18
|
+
model: 'Xbox Series X'
|
19
|
+
- regex: 'Xbox One X'
|
20
|
+
model: 'Xbox One X'
|
17
21
|
- regex: 'Xbox One'
|
18
22
|
model: 'Xbox One'
|
23
|
+
- regex: 'XBOX_ONE_ED'
|
24
|
+
model: 'Xbox One S'
|
19
25
|
- regex: 'Xbox'
|
20
26
|
model: 'Xbox 360'
|
21
27
|
|
22
28
|
Nintendo:
|
23
|
-
regex: 'Nintendo (([3]?DS[i]?)|Wii[U]
|
29
|
+
regex: 'Nintendo (([3]?DS[i]?)|Wii[U]?|Switch)'
|
24
30
|
device: 'console'
|
25
31
|
model: '$1'
|
26
32
|
|
@@ -35,6 +41,12 @@ Sega:
|
|
35
41
|
model: 'Dreamcast'
|
36
42
|
|
37
43
|
Sony:
|
38
|
-
regex: 'PlayStation (3|4|Portable|Vita)'
|
44
|
+
regex: 'PlayStation (3|4 Pro|4|5|Portable|Vita)'
|
39
45
|
device: 'console'
|
40
46
|
model: 'PlayStation $1'
|
47
|
+
|
48
|
+
# Retroid Pocket (www.goretroid.com)
|
49
|
+
Retroid Pocket:
|
50
|
+
regex: 'Retroid Pocket 2Plus'
|
51
|
+
device: 'console'
|
52
|
+
model: '2 Plus'
|