device_detector 1.1.0 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|