device_detector 1.1.0 → 1.1.2
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 +9 -0
- data/README.md +19 -17
- data/lib/device_detector/browser.rb +22 -2
- data/lib/device_detector/client_hint.rb +22 -7
- data/lib/device_detector/device.rb +231 -1
- data/lib/device_detector/os.rb +10 -2
- 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 +37 -5
- data/regexes/bots.yml +308 -17
- data/regexes/client/browsers.yml +82 -25
- data/regexes/client/feed_readers.yml +31 -23
- data/regexes/client/hints/apps.yml +22 -0
- data/regexes/client/hints/browsers.yml +20 -0
- data/regexes/client/libraries.yml +172 -24
- data/regexes/client/mediaplayers.yml +47 -0
- data/regexes/client/mobile_apps.yml +857 -39
- data/regexes/client/pim.yml +4 -0
- data/regexes/device/car_browsers.yml +1 -1
- data/regexes/device/consoles.yml +8 -4
- data/regexes/device/mobiles.yml +4945 -1234
- data/regexes/device/portable_media_player.yml +20 -4
- data/regexes/device/shell_tv.yml +5 -0
- data/regexes/device/televisions.yml +144 -6
- data/regexes/oss.yml +221 -107
- metadata +6 -4
data/regexes/oss.yml
CHANGED
|
@@ -5,6 +5,54 @@
|
|
|
5
5
|
# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
|
|
6
6
|
###############
|
|
7
7
|
|
|
8
|
+
##########
|
|
9
|
+
# LuneOS (https://www.webos-ports.org/)
|
|
10
|
+
##########
|
|
11
|
+
- regex: 'LuneOS'
|
|
12
|
+
name: 'LuneOS'
|
|
13
|
+
version: ''
|
|
14
|
+
|
|
15
|
+
##########
|
|
16
|
+
# Oracle Linux (https://www.oracle.com/linux/)
|
|
17
|
+
##########
|
|
18
|
+
- regex: 'Linux/(?:\d+\.[\d.-]+)\.el(\d+(?:[_.]\d+)*)uek'
|
|
19
|
+
name: 'Oracle Linux'
|
|
20
|
+
version: '$1'
|
|
21
|
+
|
|
22
|
+
##########
|
|
23
|
+
# Kali (https://www.kali.org/)
|
|
24
|
+
##########
|
|
25
|
+
- regex: '.+kali(\d)'
|
|
26
|
+
name: 'Kali'
|
|
27
|
+
version: '$1'
|
|
28
|
+
|
|
29
|
+
# TiVo OS (https://business.tivo.com/products-solutions/tivo-os)
|
|
30
|
+
##########
|
|
31
|
+
- regex: 'TiVoOS/(\d+[\.\d]+)'
|
|
32
|
+
name: 'TiVo OS'
|
|
33
|
+
version: '$1'
|
|
34
|
+
|
|
35
|
+
##########
|
|
36
|
+
# VIDAA (https://www.vidaa.com/vidaa-os/)
|
|
37
|
+
##########
|
|
38
|
+
- regex: 'VIDAA/(\d+[\.\d]+)'
|
|
39
|
+
name: 'VIDAA'
|
|
40
|
+
version: '$1'
|
|
41
|
+
|
|
42
|
+
##########
|
|
43
|
+
# PICO OS (https://www.picoxr.com/global/software/pico-os)
|
|
44
|
+
##########
|
|
45
|
+
- regex: 'PICO.+OS(\d+[\.\d]*)'
|
|
46
|
+
name: 'PICO OS'
|
|
47
|
+
version: '$1'
|
|
48
|
+
|
|
49
|
+
##########
|
|
50
|
+
# RedOS (https://redos.red-soft.ru/)
|
|
51
|
+
##########
|
|
52
|
+
- regex: 'RED OS; Linux'
|
|
53
|
+
name: 'RedOS'
|
|
54
|
+
version: ''
|
|
55
|
+
|
|
8
56
|
##########
|
|
9
57
|
# RouterOS (https://help.mikrotik.com/docs/display/ROS/RouterOS)
|
|
10
58
|
##########
|
|
@@ -36,7 +84,7 @@
|
|
|
36
84
|
##########
|
|
37
85
|
# TencentOS (https://github.com/Tencent/TencentOS-kernel)
|
|
38
86
|
##########
|
|
39
|
-
- regex: '
|
|
87
|
+
- regex: '.+tlinux(\d)'
|
|
40
88
|
name: 'TencentOS'
|
|
41
89
|
version: '$1'
|
|
42
90
|
|
|
@@ -85,6 +133,9 @@
|
|
|
85
133
|
- regex: 'Linux (?:[^;]+); Opera TV(?: Store)?/|^Opera/\d+\.\d+ \(Linux mips'
|
|
86
134
|
name: 'Opera TV'
|
|
87
135
|
version: ''
|
|
136
|
+
- regex: 'OPR/.+TV Store/(\d+[\.\d]+)'
|
|
137
|
+
name: 'Opera TV'
|
|
138
|
+
version: '$1'
|
|
88
139
|
|
|
89
140
|
##########
|
|
90
141
|
# GridOS (https://web.archive.org/web/20111123141630/http://fusiongarage.com/grid-os/about)
|
|
@@ -121,7 +172,6 @@
|
|
|
121
172
|
name: 'Tizen'
|
|
122
173
|
version: '$1'
|
|
123
174
|
|
|
124
|
-
|
|
125
175
|
##########
|
|
126
176
|
# YunOS (Android based)
|
|
127
177
|
##########
|
|
@@ -180,6 +230,9 @@
|
|
|
180
230
|
- regex: 'HarmonyOS(?:[/ ](\d+[\.\d]+))?'
|
|
181
231
|
name: 'HarmonyOS'
|
|
182
232
|
version: '$1'
|
|
233
|
+
- regex: 'Hmos/1'
|
|
234
|
+
name: 'HarmonyOS'
|
|
235
|
+
version: '1.0.0'
|
|
183
236
|
|
|
184
237
|
- regex: 'RazoDroiD(?: v(\d+[\.\d]*))?'
|
|
185
238
|
name: 'RazoDroiD'
|
|
@@ -209,6 +262,10 @@
|
|
|
209
262
|
name: 'Fire OS'
|
|
210
263
|
version: '7'
|
|
211
264
|
|
|
265
|
+
- regex: 'Andr0id 9.+AFTdev'
|
|
266
|
+
name: 'Fire OS'
|
|
267
|
+
version: '7'
|
|
268
|
+
|
|
212
269
|
- regex: 'FydeOS'
|
|
213
270
|
name: 'FydeOS'
|
|
214
271
|
version: ''
|
|
@@ -254,6 +311,13 @@
|
|
|
254
311
|
name: 'FreeBSD'
|
|
255
312
|
version: ''
|
|
256
313
|
|
|
314
|
+
##########
|
|
315
|
+
# Wear OS (https://wearos.google.com/)
|
|
316
|
+
##########
|
|
317
|
+
- regex: 'Chrome/(\d+\.[.\d]+) Odd/|SM-R(?:8[6-9]|9)'
|
|
318
|
+
name: 'Wear OS'
|
|
319
|
+
version: ''
|
|
320
|
+
|
|
257
321
|
##########
|
|
258
322
|
# Android TV (https://android.com/tv/)
|
|
259
323
|
##########
|
|
@@ -261,7 +325,7 @@
|
|
|
261
325
|
name: 'Android TV'
|
|
262
326
|
version: '$1'
|
|
263
327
|
|
|
264
|
-
- regex: 'Android[; ](\d+[\.\d]*).+(?:Android
|
|
328
|
+
- regex: 'Android[; ](\d+[\.\d]*).+(?:(?:Android( UHD)?|AT&T|Google) TV|AOSP on r33a0|BRAVIA)'
|
|
265
329
|
name: 'Android TV'
|
|
266
330
|
version: '$1'
|
|
267
331
|
|
|
@@ -272,30 +336,34 @@
|
|
|
272
336
|
##########
|
|
273
337
|
# Android SDK Level Api
|
|
274
338
|
##########
|
|
275
|
-
- regex: '\d+/tclwebkit(?:\d+[\.\d]*)'
|
|
339
|
+
- regex: '(?:Android API \d+|\d+/tclwebkit(?:\d+[\.\d]*))'
|
|
276
340
|
name: 'Android'
|
|
277
341
|
versions:
|
|
278
|
-
- regex: '
|
|
342
|
+
- regex: '(?:Android API 34|34/tclwebkit)'
|
|
343
|
+
version: '14'
|
|
344
|
+
- regex: '(?:Android API 33|33/tclwebkit)'
|
|
279
345
|
version: '13'
|
|
280
|
-
- regex: '
|
|
346
|
+
- regex: '(?:Android API 32|32/tclwebkit)'
|
|
347
|
+
version: '12.1'
|
|
348
|
+
- regex: '(?:Android API 31|31/tclwebkit)'
|
|
281
349
|
version: '12'
|
|
282
|
-
- regex: '30/tclwebkit'
|
|
350
|
+
- regex: '(?:Android API 30|30/tclwebkit)'
|
|
283
351
|
version: '11'
|
|
284
|
-
- regex: '29/tclwebkit'
|
|
352
|
+
- regex: '(?:Android API 29|29/tclwebkit)'
|
|
285
353
|
version: '10'
|
|
286
|
-
- regex: '28/tclwebkit'
|
|
354
|
+
- regex: '(?:Android API 28|28/tclwebkit)'
|
|
287
355
|
version: '9'
|
|
288
|
-
- regex: '27/tclwebkit'
|
|
356
|
+
- regex: '(?:Android API 27|27/tclwebkit)'
|
|
289
357
|
version: '8.1'
|
|
290
|
-
- regex: '26/tclwebkit'
|
|
358
|
+
- regex: '(?:Android API 26|26/tclwebkit)'
|
|
291
359
|
version: '8'
|
|
292
|
-
- regex: '25/tclwebkit'
|
|
360
|
+
- regex: '(?:Android API 25|25/tclwebkit)'
|
|
293
361
|
version: '7.1'
|
|
294
|
-
- regex: '24/tclwebkit'
|
|
362
|
+
- regex: '(?:Android API 24|24/tclwebkit)'
|
|
295
363
|
version: '7'
|
|
296
|
-
- regex: '23/tclwebkit'
|
|
364
|
+
- regex: '(?:Android API 23|23/tclwebkit)'
|
|
297
365
|
version: '6'
|
|
298
|
-
- regex: '22/tclwebkit'
|
|
366
|
+
- regex: '(?:Android API 22|22/tclwebkit)'
|
|
299
367
|
version: '5.1'
|
|
300
368
|
- regex: '21/tclwebkit'
|
|
301
369
|
version: '5'
|
|
@@ -319,7 +387,7 @@
|
|
|
319
387
|
name: 'Android'
|
|
320
388
|
version: '6'
|
|
321
389
|
|
|
322
|
-
- regex: '(?:Podbean|Podimo)(?:.*)/Android'
|
|
390
|
+
- regex: '(?:Podbean|Podimo)(?:.*)/Android|Rutube(?:TV)?BlackAndroid'
|
|
323
391
|
name: 'Android'
|
|
324
392
|
version: ''
|
|
325
393
|
|
|
@@ -339,7 +407,7 @@
|
|
|
339
407
|
name: 'Android'
|
|
340
408
|
version: '$1'
|
|
341
409
|
|
|
342
|
-
- regex: '(?:(?:Orca-)?(?<!like )Android|Adr|AOSP)[ /]?(?:[a-z]+ )?(\d+[\.\d]*)'
|
|
410
|
+
- regex: '(?:(?:Orca-)?(?<!like |/|RadioPublic |Anghami )Android|Adr|AOSP)[ /]?(?:[a-z]+ )?(\d+[\.\d]*)'
|
|
343
411
|
name: 'Android'
|
|
344
412
|
version: '$1'
|
|
345
413
|
|
|
@@ -479,6 +547,10 @@
|
|
|
479
547
|
name: 'Roku OS'
|
|
480
548
|
version: '$1'
|
|
481
549
|
|
|
550
|
+
- regex: 'RokuBrowser/.+\(TV-([a-z0-9]+)-(\d+.[\d.]+)\)'
|
|
551
|
+
name: 'Roku OS'
|
|
552
|
+
version: '$2'
|
|
553
|
+
|
|
482
554
|
# DVKBuntu (https://www.dvkbuntu.org/)
|
|
483
555
|
- regex: 'dvkbuntu'
|
|
484
556
|
name: 'DVKBuntu'
|
|
@@ -619,7 +691,7 @@
|
|
|
619
691
|
name: 'Windows'
|
|
620
692
|
version: '$1'
|
|
621
693
|
|
|
622
|
-
- regex: 'Windows;(\d+[\.\d]*);'
|
|
694
|
+
- regex: 'Windows; ?(\d+[\.\d]*);'
|
|
623
695
|
name: 'Windows'
|
|
624
696
|
version: '$1'
|
|
625
697
|
|
|
@@ -705,11 +777,15 @@
|
|
|
705
777
|
##########
|
|
706
778
|
# tvOS (https://developer.apple.com/tvos/)
|
|
707
779
|
##########
|
|
708
|
-
- regex: 'Apple ?TV.*CPU (?:iPhone )?OS ((?:9|1[0-
|
|
780
|
+
- regex: 'Apple ?TV.*CPU (?:iPhone )?OS ((?:9|1[0-7])[_\.]\d+(?:[_.]\d+)*)'
|
|
709
781
|
name: 'tvOS'
|
|
710
782
|
version: '$1'
|
|
711
783
|
|
|
712
|
-
- regex: 'iOS(?:; |/)((?:9|1[0-
|
|
784
|
+
- regex: 'iOS(?:; |/)((?:9|1[0-7]).\d+(?:[_\.]\d+)*) (?:model/)?AppleTV'
|
|
785
|
+
name: 'tvOS'
|
|
786
|
+
version: '$1'
|
|
787
|
+
|
|
788
|
+
- regex: 'tvOS((?:9|1[0-7]).\d+(?:[_\.]\d+)*);'
|
|
713
789
|
name: 'tvOS'
|
|
714
790
|
version: '$1'
|
|
715
791
|
|
|
@@ -719,31 +795,34 @@
|
|
|
719
795
|
- regex: '(?:Watch1,[12]/|Watch OS,|watchOS[ /])(\d+[\.\d]*)'
|
|
720
796
|
name: 'watchOS'
|
|
721
797
|
version: '$1'
|
|
798
|
+
- regex: 'Apple Watch(?!;)'
|
|
799
|
+
name: 'watchOS'
|
|
800
|
+
version: ''
|
|
722
801
|
|
|
723
802
|
##########
|
|
724
803
|
# iPadOS (https://www.apple.com/ipados/)
|
|
725
804
|
##########
|
|
726
|
-
- regex: 'FBMD/iPad;.*FBSV/ ?(1[3-
|
|
805
|
+
- regex: 'FBMD/iPad;.*FBSV/ ?(1[3-7]).(\d+[\.\d]*);'
|
|
727
806
|
name: 'iPadOS'
|
|
728
807
|
version: '$1.$2'
|
|
729
808
|
|
|
730
|
-
- regex: 'iPad
|
|
809
|
+
- regex: 'iPad(?:OS)?/(1[3-7]).(\d+[\.\d]*)'
|
|
731
810
|
name: 'iPadOS'
|
|
732
811
|
version: '$1.$2'
|
|
733
812
|
|
|
734
|
-
- regex: '^iPad(?:\d+[\,\d]*)/(1[3-
|
|
813
|
+
- regex: '^iPad(?:\d+[\,\d]*)/(1[3-7]).(\d+[\.\d]*)'
|
|
735
814
|
name: 'iPadOS'
|
|
736
815
|
version: '$1.$2'
|
|
737
816
|
|
|
738
|
-
- regex: 'iPad(?:; (?:iOS|iPhone OS)|.+CPU OS) ((1[3-
|
|
817
|
+
- regex: 'iPad(?:; (?:iOS|iPadOS|iPhone OS)|.+CPU OS) ((1[3-7])+(?:[_\.]\d+)*)'
|
|
739
818
|
name: 'iPadOS'
|
|
740
819
|
version: '$1'
|
|
741
820
|
|
|
742
|
-
- regex: 'iOS/(1[3-
|
|
821
|
+
- regex: 'iOS/(1[3-7]).(\d+[\.\d]*).+Apple/iPad'
|
|
743
822
|
name: 'iPadOS'
|
|
744
823
|
version: '$1.$2'
|
|
745
824
|
|
|
746
|
-
- regex: 'iPhone OS,(1[3-
|
|
825
|
+
- regex: 'iPhone OS,(1[3-7]).(\d+[\.\d]*).+iPad'
|
|
747
826
|
name: 'iPadOS'
|
|
748
827
|
version: '$1.$2'
|
|
749
828
|
|
|
@@ -770,9 +849,27 @@
|
|
|
770
849
|
name: 'iOS'
|
|
771
850
|
version: '$1'
|
|
772
851
|
|
|
773
|
-
- regex: '^(?!com.apple.Safari.SearchHelper).*CFNetwork/.+ Darwin/(\d+[\.\d]+)(?!.*(?:x86_64|i386|PowerMac|Power%20Macintosh))'
|
|
852
|
+
- regex: '^(?!com.apple.Safari.SearchHelper|Safari).*CFNetwork/.+ Darwin/(\d+[\.\d]+)(?!.*(?:x86_64|i386|PowerMac|Power%20Macintosh))'
|
|
774
853
|
name: 'iOS'
|
|
775
854
|
versions:
|
|
855
|
+
- regex: 'Darwin/23.2.0'
|
|
856
|
+
version: '17.2'
|
|
857
|
+
- regex: 'Darwin/23.1.0'
|
|
858
|
+
version: '17.1'
|
|
859
|
+
- regex: 'Darwin/23.0.0'
|
|
860
|
+
version: '17.0'
|
|
861
|
+
- regex: 'Darwin/22.6.0'
|
|
862
|
+
version: '16.6'
|
|
863
|
+
- regex: 'Darwin/22.5.0'
|
|
864
|
+
version: '16.5'
|
|
865
|
+
- regex: 'Darwin/22.4.0'
|
|
866
|
+
version: '16.4'
|
|
867
|
+
- regex: 'Darwin/22.3.0'
|
|
868
|
+
version: '16.3'
|
|
869
|
+
- regex: 'Darwin/22.2.0'
|
|
870
|
+
version: '16.2'
|
|
871
|
+
- regex: 'Darwin/22.1.0'
|
|
872
|
+
version: '16.1'
|
|
776
873
|
- regex: 'Darwin/22.0.0'
|
|
777
874
|
version: '16.0'
|
|
778
875
|
- regex: 'Darwin/21.6.0'
|
|
@@ -916,7 +1013,7 @@
|
|
|
916
1013
|
name: 'iOS'
|
|
917
1014
|
version: '$1.$2.$3'
|
|
918
1015
|
|
|
919
|
-
- regex: '(?:CPU OS|iPh(?:one)?[ _]OS|iPhone.+ OS|iOS)[ _/](\d+(?:[_\.]\d+)*)'
|
|
1016
|
+
- regex: '(?:CPU OS|iPh(?:one)?[ _]OS|iPhone.+ OS|PodMN.+iPhone|iOS)[ _/](\d+(?:[_\.]\d+)*)'
|
|
920
1017
|
name: 'iOS'
|
|
921
1018
|
version: '$1'
|
|
922
1019
|
|
|
@@ -979,160 +1076,178 @@
|
|
|
979
1076
|
##########
|
|
980
1077
|
# Mac
|
|
981
1078
|
##########
|
|
982
|
-
- regex: 'CFNetwork/.+
|
|
1079
|
+
- regex: '(?:CFNetwork|StudioDisplay)/.+Darwin(?:/|; )(?:[\d\.]+).+(?:x86_64|i386|Power%20Macintosh)|(?:x86_64-apple-)?darwin(?:[\d\.]+)|PowerMac|com.apple.Safari.SearchHelper|^Safari'
|
|
983
1080
|
name: 'Mac'
|
|
984
1081
|
versions:
|
|
985
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1082
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?23.2.0'
|
|
1083
|
+
version: '14.2'
|
|
1084
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?23.1.0'
|
|
1085
|
+
version: '14.1'
|
|
1086
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?23.0.0'
|
|
1087
|
+
version: '14.0'
|
|
1088
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.6.0'
|
|
1089
|
+
version: '13.5'
|
|
1090
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.5.0'
|
|
1091
|
+
version: '13.4'
|
|
1092
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.4.0'
|
|
1093
|
+
version: '13.3'
|
|
1094
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.3.0'
|
|
1095
|
+
version: '13.2'
|
|
1096
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.2.0'
|
|
1097
|
+
version: '13.1'
|
|
1098
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.1.0'
|
|
1099
|
+
version: '13.0.1'
|
|
1100
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?22.0.0'
|
|
986
1101
|
version: '13.0'
|
|
987
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1102
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.6.0'
|
|
988
1103
|
version: '12.5'
|
|
989
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1104
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.5.0'
|
|
990
1105
|
version: '12.4'
|
|
991
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1106
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.4.0'
|
|
992
1107
|
version: '12.3'
|
|
993
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1108
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.3.0'
|
|
994
1109
|
version: '12.2'
|
|
995
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1110
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.2.0'
|
|
996
1111
|
version: '12.1'
|
|
997
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1112
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.1.0'
|
|
998
1113
|
version: '12.0.1'
|
|
999
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1114
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.0.0'
|
|
1000
1115
|
version: '12.0'
|
|
1001
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1116
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.6.0'
|
|
1002
1117
|
version: '11.5'
|
|
1003
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1118
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.5.0'
|
|
1004
1119
|
version: '11.4'
|
|
1005
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1120
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.4.0'
|
|
1006
1121
|
version: '11.3'
|
|
1007
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1122
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.3.0'
|
|
1008
1123
|
version: '11.2'
|
|
1009
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1124
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.2.0.*'
|
|
1010
1125
|
version: '11.1'
|
|
1011
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1126
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.[01].0'
|
|
1012
1127
|
version: '11.0'
|
|
1013
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1128
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.6.0'
|
|
1014
1129
|
version: '10.15.6'
|
|
1015
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1130
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.5.0'
|
|
1016
1131
|
version: '10.15.5'
|
|
1017
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1132
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.4.0'
|
|
1018
1133
|
version: '10.15.4'
|
|
1019
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1134
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.3.0'
|
|
1020
1135
|
version: '10.15.3'
|
|
1021
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1136
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.2.0'
|
|
1022
1137
|
version: '10.15.2'
|
|
1023
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1138
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.0.0'
|
|
1024
1139
|
version: '10.15'
|
|
1025
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1140
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.7.0'
|
|
1026
1141
|
version: '10.14'
|
|
1027
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1142
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.6.0'
|
|
1028
1143
|
version: '10.14.5'
|
|
1029
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1144
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.5.0'
|
|
1030
1145
|
version: '10.14.4'
|
|
1031
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1146
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.2.0'
|
|
1032
1147
|
version: '10.14.1'
|
|
1033
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1148
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.0.0'
|
|
1034
1149
|
version: '10.14'
|
|
1035
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1150
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.7.0'
|
|
1036
1151
|
version: '10.13.6'
|
|
1037
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1152
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.6.0'
|
|
1038
1153
|
version: '10.13.5'
|
|
1039
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1154
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.5.0'
|
|
1040
1155
|
version: '10.13.4'
|
|
1041
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1156
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.4.0'
|
|
1042
1157
|
version: '10.13.3'
|
|
1043
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1158
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.3.0'
|
|
1044
1159
|
version: '10.13.2'
|
|
1045
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1160
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.2.0'
|
|
1046
1161
|
version: '10.13.1'
|
|
1047
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1162
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.0.0'
|
|
1048
1163
|
version: '10.13'
|
|
1049
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1164
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.7.0'
|
|
1050
1165
|
version: '10.12.6'
|
|
1051
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1166
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.6.0'
|
|
1052
1167
|
version: '10.12.5'
|
|
1053
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1168
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.5.0'
|
|
1054
1169
|
version: '10.12.4'
|
|
1055
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1170
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.4.0'
|
|
1056
1171
|
version: '10.12.3'
|
|
1057
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1172
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.3.0'
|
|
1058
1173
|
version: '10.12.2'
|
|
1059
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1174
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.2.0'
|
|
1060
1175
|
version: '10.12.2'
|
|
1061
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1176
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.1.0'
|
|
1062
1177
|
version: '10.12.1'
|
|
1063
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1178
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.0.0'
|
|
1064
1179
|
version: '10.12'
|
|
1065
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1180
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.6.0'
|
|
1066
1181
|
version: '10.11.6'
|
|
1067
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1182
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.5.0'
|
|
1068
1183
|
version: '10.11.5'
|
|
1069
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1184
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.4.0'
|
|
1070
1185
|
version: '10.11.4'
|
|
1071
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1186
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.3.0'
|
|
1072
1187
|
version: '10.11.3'
|
|
1073
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1188
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.2.0'
|
|
1074
1189
|
version: '10.11.2'
|
|
1075
1190
|
- regex: 'CFNetwork/760'
|
|
1076
1191
|
version: '10.11'
|
|
1077
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1192
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.5.0'
|
|
1078
1193
|
version: '10.10.5'
|
|
1079
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1194
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.4.0'
|
|
1080
1195
|
version: '10.10.4'
|
|
1081
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1196
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.3.0'
|
|
1082
1197
|
version: '10.10.3'
|
|
1083
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1198
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.1.0'
|
|
1084
1199
|
version: '10.10.2'
|
|
1085
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1200
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.0.0'
|
|
1086
1201
|
version: '10.10'
|
|
1087
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1202
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.4.0'
|
|
1088
1203
|
version: '10.9.5'
|
|
1089
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1204
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.3.0'
|
|
1090
1205
|
version: '10.9.4'
|
|
1091
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1206
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.2.0'
|
|
1092
1207
|
version: '10.9.3'
|
|
1093
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1208
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.1.0'
|
|
1094
1209
|
version: '10.9.2'
|
|
1095
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1210
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.0.0'
|
|
1096
1211
|
version: '10.9.0'
|
|
1097
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1212
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.6.0'
|
|
1098
1213
|
version: '10.8.5'
|
|
1099
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1214
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.5.0'
|
|
1100
1215
|
version: '10.8.5'
|
|
1101
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1216
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.4.0'
|
|
1102
1217
|
version: '10.8.4'
|
|
1103
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1218
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.3.0'
|
|
1104
1219
|
version: '10.8.3'
|
|
1105
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1220
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.2.0'
|
|
1106
1221
|
version: '10.8.2'
|
|
1107
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1222
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.1.0'
|
|
1108
1223
|
version: '10.8.1'
|
|
1109
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1224
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.5.0'
|
|
1110
1225
|
version: '10.7.5'
|
|
1111
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1226
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.4.2'
|
|
1112
1227
|
version: '10.7.5'
|
|
1113
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1228
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.4.0'
|
|
1114
1229
|
version: '10.7.4'
|
|
1115
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1230
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.3.0'
|
|
1116
1231
|
version: '10.7.3'
|
|
1117
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1232
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.2.0'
|
|
1118
1233
|
version: '10.7.2'
|
|
1119
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1234
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.1.0'
|
|
1120
1235
|
version: '10.7.1'
|
|
1121
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1236
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?10.8.0'
|
|
1122
1237
|
version: '10.6.8'
|
|
1123
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1238
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?10.7.[34]'
|
|
1124
1239
|
version: '10.6.7'
|
|
1125
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1240
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?10.3.0'
|
|
1126
1241
|
version: '10.6.3'
|
|
1127
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1242
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?10.0.0'
|
|
1128
1243
|
version: '10.6'
|
|
1129
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1244
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?9.8.0'
|
|
1130
1245
|
version: '10.5.8'
|
|
1131
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1246
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?9.7.1'
|
|
1132
1247
|
version: '10.5.7'
|
|
1133
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1248
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?9.6.2'
|
|
1134
1249
|
version: '10.5.6'
|
|
1135
|
-
- regex: '(?:x86_64-apple-)?Darwin
|
|
1250
|
+
- regex: '(?:x86_64-apple-)?Darwin(?:/|; )?9.5.[05]'
|
|
1136
1251
|
version: '10.5.5'
|
|
1137
1252
|
|
|
1138
1253
|
- regex: 'Macintosh;Mac OS X \((\d+[\.\d]+)\);'
|
|
@@ -1206,9 +1321,9 @@
|
|
|
1206
1321
|
##########
|
|
1207
1322
|
# BeOS
|
|
1208
1323
|
##########
|
|
1209
|
-
- regex: 'BeOS'
|
|
1324
|
+
- regex: 'BeOS[ +]?(\d[.\d]*)?'
|
|
1210
1325
|
name: 'BeOS'
|
|
1211
|
-
version: ''
|
|
1326
|
+
version: '$1'
|
|
1212
1327
|
|
|
1213
1328
|
##########
|
|
1214
1329
|
# Symbian
|
|
@@ -1306,7 +1421,6 @@
|
|
|
1306
1421
|
name: 'WebTV'
|
|
1307
1422
|
version: '$1'
|
|
1308
1423
|
|
|
1309
|
-
|
|
1310
1424
|
##########
|
|
1311
1425
|
# Unix
|
|
1312
1426
|
##########
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: device_detector
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Mati Sójka
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2023-12-01 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: minitest
|
|
@@ -90,6 +90,7 @@ files:
|
|
|
90
90
|
- lib/device_detector/name_extractor.rb
|
|
91
91
|
- lib/device_detector/os.rb
|
|
92
92
|
- lib/device_detector/parser.rb
|
|
93
|
+
- lib/device_detector/vendor_fragment.rb
|
|
93
94
|
- lib/device_detector/version.rb
|
|
94
95
|
- lib/device_detector/version_extractor.rb
|
|
95
96
|
- regexes/bots.yml
|
|
@@ -115,7 +116,8 @@ files:
|
|
|
115
116
|
homepage: http://podigee.github.io/device_detector
|
|
116
117
|
licenses:
|
|
117
118
|
- LGPL-3.0
|
|
118
|
-
metadata:
|
|
119
|
+
metadata:
|
|
120
|
+
changelog_uri: https://github.com/podigee/device_detector/blob/develop/CHANGELOG.md
|
|
119
121
|
post_install_message:
|
|
120
122
|
rdoc_options: []
|
|
121
123
|
require_paths:
|
|
@@ -131,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
131
133
|
- !ruby/object:Gem::Version
|
|
132
134
|
version: '0'
|
|
133
135
|
requirements: []
|
|
134
|
-
rubygems_version: 3.
|
|
136
|
+
rubygems_version: 3.4.10
|
|
135
137
|
signing_key:
|
|
136
138
|
specification_version: 4
|
|
137
139
|
summary: Precise and fast user agent parser and device detector
|