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.
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: 'Linux/(\d+[\.\d]*).+tlinux'
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|AT&T) TV'
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: '33/tclwebkit'
342
+ - regex: '(?:Android API 34|34/tclwebkit)'
343
+ version: '14'
344
+ - regex: '(?:Android API 33|33/tclwebkit)'
279
345
  version: '13'
280
- - regex: '3[12]/tclwebkit'
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-6])[_\.]\d+(?:[_.]\d+)*)'
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-6]).\d+(?:[_\.]\d+)*) (?:model/)?AppleTV'
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-6]).(\d+[\.\d]*);'
805
+ - regex: 'FBMD/iPad;.*FBSV/ ?(1[3-7]).(\d+[\.\d]*);'
727
806
  name: 'iPadOS'
728
807
  version: '$1.$2'
729
808
 
730
- - regex: 'iPad/(1[3-6]).(\d+[\.\d]*)'
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-6]).(\d+[\.\d]*)'
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-6])+(?:[_\.]\d+)*)'
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-6]).(\d+[\.\d]*).+Apple/iPad'
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-6]).(\d+[\.\d]*).+iPad'
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/.+ Darwin/(?:[\d\.]+).+(?:x86_64|i386|Power%20Macintosh)|(?:x86_64-apple-)?darwin(?:[\d\.]+)|PowerMac|com.apple.Safari.SearchHelper'
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/?22.0.0'
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/?21.6.0'
1102
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.6.0'
988
1103
  version: '12.5'
989
- - regex: '(?:x86_64-apple-)?Darwin/?21.5.0'
1104
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.5.0'
990
1105
  version: '12.4'
991
- - regex: '(?:x86_64-apple-)?Darwin/?21.4.0'
1106
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.4.0'
992
1107
  version: '12.3'
993
- - regex: '(?:x86_64-apple-)?Darwin/?21.3.0'
1108
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.3.0'
994
1109
  version: '12.2'
995
- - regex: '(?:x86_64-apple-)?Darwin/?21.2.0'
1110
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.2.0'
996
1111
  version: '12.1'
997
- - regex: '(?:x86_64-apple-)?Darwin/?21.1.0'
1112
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.1.0'
998
1113
  version: '12.0.1'
999
- - regex: '(?:x86_64-apple-)?Darwin/?21.0.0'
1114
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?21.0.0'
1000
1115
  version: '12.0'
1001
- - regex: '(?:x86_64-apple-)?Darwin/?20.6.0'
1116
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.6.0'
1002
1117
  version: '11.5'
1003
- - regex: '(?:x86_64-apple-)?Darwin/?20.5.0'
1118
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.5.0'
1004
1119
  version: '11.4'
1005
- - regex: '(?:x86_64-apple-)?Darwin/?20.4.0'
1120
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.4.0'
1006
1121
  version: '11.3'
1007
- - regex: '(?:x86_64-apple-)?Darwin/?20.3.0'
1122
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.3.0'
1008
1123
  version: '11.2'
1009
- - regex: '(?:x86_64-apple-)?Darwin/?20.2.0.*'
1124
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.2.0.*'
1010
1125
  version: '11.1'
1011
- - regex: '(?:x86_64-apple-)?Darwin/?20.[01].0'
1126
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?20.[01].0'
1012
1127
  version: '11.0'
1013
- - regex: '(?:x86_64-apple-)?Darwin/?19.6.0'
1128
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.6.0'
1014
1129
  version: '10.15.6'
1015
- - regex: '(?:x86_64-apple-)?Darwin/?19.5.0'
1130
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.5.0'
1016
1131
  version: '10.15.5'
1017
- - regex: '(?:x86_64-apple-)?Darwin/?19.4.0'
1132
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.4.0'
1018
1133
  version: '10.15.4'
1019
- - regex: '(?:x86_64-apple-)?Darwin/?19.3.0'
1134
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.3.0'
1020
1135
  version: '10.15.3'
1021
- - regex: '(?:x86_64-apple-)?Darwin/?19.2.0'
1136
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.2.0'
1022
1137
  version: '10.15.2'
1023
- - regex: '(?:x86_64-apple-)?Darwin/?19.0.0'
1138
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?19.0.0'
1024
1139
  version: '10.15'
1025
- - regex: '(?:x86_64-apple-)?Darwin/?18.7.0'
1140
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.7.0'
1026
1141
  version: '10.14'
1027
- - regex: '(?:x86_64-apple-)?Darwin/?18.6.0'
1142
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.6.0'
1028
1143
  version: '10.14.5'
1029
- - regex: '(?:x86_64-apple-)?Darwin/?18.5.0'
1144
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.5.0'
1030
1145
  version: '10.14.4'
1031
- - regex: '(?:x86_64-apple-)?Darwin/?18.2.0'
1146
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.2.0'
1032
1147
  version: '10.14.1'
1033
- - regex: '(?:x86_64-apple-)?Darwin/?18.0.0'
1148
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?18.0.0'
1034
1149
  version: '10.14'
1035
- - regex: '(?:x86_64-apple-)?Darwin/?17.7.0'
1150
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.7.0'
1036
1151
  version: '10.13.6'
1037
- - regex: '(?:x86_64-apple-)?Darwin/?17.6.0'
1152
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.6.0'
1038
1153
  version: '10.13.5'
1039
- - regex: '(?:x86_64-apple-)?Darwin/?17.5.0'
1154
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.5.0'
1040
1155
  version: '10.13.4'
1041
- - regex: '(?:x86_64-apple-)?Darwin/?17.4.0'
1156
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.4.0'
1042
1157
  version: '10.13.3'
1043
- - regex: '(?:x86_64-apple-)?Darwin/?17.3.0'
1158
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.3.0'
1044
1159
  version: '10.13.2'
1045
- - regex: '(?:x86_64-apple-)?Darwin/?17.2.0'
1160
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.2.0'
1046
1161
  version: '10.13.1'
1047
- - regex: '(?:x86_64-apple-)?Darwin/?17.0.0'
1162
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?17.0.0'
1048
1163
  version: '10.13'
1049
- - regex: '(?:x86_64-apple-)?Darwin/?16.7.0'
1164
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.7.0'
1050
1165
  version: '10.12.6'
1051
- - regex: '(?:x86_64-apple-)?Darwin/?16.6.0'
1166
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.6.0'
1052
1167
  version: '10.12.5'
1053
- - regex: '(?:x86_64-apple-)?Darwin/?16.5.0'
1168
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.5.0'
1054
1169
  version: '10.12.4'
1055
- - regex: '(?:x86_64-apple-)?Darwin/?16.4.0'
1170
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.4.0'
1056
1171
  version: '10.12.3'
1057
- - regex: '(?:x86_64-apple-)?Darwin/?16.3.0'
1172
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.3.0'
1058
1173
  version: '10.12.2'
1059
- - regex: '(?:x86_64-apple-)?Darwin/?16.2.0'
1174
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.2.0'
1060
1175
  version: '10.12.2'
1061
- - regex: '(?:x86_64-apple-)?Darwin/?16.1.0'
1176
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.1.0'
1062
1177
  version: '10.12.1'
1063
- - regex: '(?:x86_64-apple-)?Darwin/?16.0.0'
1178
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?16.0.0'
1064
1179
  version: '10.12'
1065
- - regex: '(?:x86_64-apple-)?Darwin/?15.6.0'
1180
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.6.0'
1066
1181
  version: '10.11.6'
1067
- - regex: '(?:x86_64-apple-)?Darwin/?15.5.0'
1182
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.5.0'
1068
1183
  version: '10.11.5'
1069
- - regex: '(?:x86_64-apple-)?Darwin/?15.4.0'
1184
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.4.0'
1070
1185
  version: '10.11.4'
1071
- - regex: '(?:x86_64-apple-)?Darwin/?15.3.0'
1186
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?15.3.0'
1072
1187
  version: '10.11.3'
1073
- - regex: '(?:x86_64-apple-)?Darwin/?15.2.0'
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/?14.5.0'
1192
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.5.0'
1078
1193
  version: '10.10.5'
1079
- - regex: '(?:x86_64-apple-)?Darwin/?14.4.0'
1194
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.4.0'
1080
1195
  version: '10.10.4'
1081
- - regex: '(?:x86_64-apple-)?Darwin/?14.3.0'
1196
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.3.0'
1082
1197
  version: '10.10.3'
1083
- - regex: '(?:x86_64-apple-)?Darwin/?14.1.0'
1198
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.1.0'
1084
1199
  version: '10.10.2'
1085
- - regex: '(?:x86_64-apple-)?Darwin/?14.0.0'
1200
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?14.0.0'
1086
1201
  version: '10.10'
1087
- - regex: '(?:x86_64-apple-)?Darwin/?13.4.0'
1202
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.4.0'
1088
1203
  version: '10.9.5'
1089
- - regex: '(?:x86_64-apple-)?Darwin/?13.3.0'
1204
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.3.0'
1090
1205
  version: '10.9.4'
1091
- - regex: '(?:x86_64-apple-)?Darwin/?13.2.0'
1206
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.2.0'
1092
1207
  version: '10.9.3'
1093
- - regex: '(?:x86_64-apple-)?Darwin/?13.1.0'
1208
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.1.0'
1094
1209
  version: '10.9.2'
1095
- - regex: '(?:x86_64-apple-)?Darwin/?13.0.0'
1210
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?13.0.0'
1096
1211
  version: '10.9.0'
1097
- - regex: '(?:x86_64-apple-)?Darwin/?12.6.0'
1212
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.6.0'
1098
1213
  version: '10.8.5'
1099
- - regex: '(?:x86_64-apple-)?Darwin/?12.5.0'
1214
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.5.0'
1100
1215
  version: '10.8.5'
1101
- - regex: '(?:x86_64-apple-)?Darwin/?12.4.0'
1216
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.4.0'
1102
1217
  version: '10.8.4'
1103
- - regex: '(?:x86_64-apple-)?Darwin/?12.3.0'
1218
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.3.0'
1104
1219
  version: '10.8.3'
1105
- - regex: '(?:x86_64-apple-)?Darwin/?12.2.0'
1220
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.2.0'
1106
1221
  version: '10.8.2'
1107
- - regex: '(?:x86_64-apple-)?Darwin/?12.1.0'
1222
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?12.1.0'
1108
1223
  version: '10.8.1'
1109
- - regex: '(?:x86_64-apple-)?Darwin/?11.5.0'
1224
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.5.0'
1110
1225
  version: '10.7.5'
1111
- - regex: '(?:x86_64-apple-)?Darwin/?11.4.2'
1226
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.4.2'
1112
1227
  version: '10.7.5'
1113
- - regex: '(?:x86_64-apple-)?Darwin/?11.4.0'
1228
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.4.0'
1114
1229
  version: '10.7.4'
1115
- - regex: '(?:x86_64-apple-)?Darwin/?11.3.0'
1230
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.3.0'
1116
1231
  version: '10.7.3'
1117
- - regex: '(?:x86_64-apple-)?Darwin/?11.2.0'
1232
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.2.0'
1118
1233
  version: '10.7.2'
1119
- - regex: '(?:x86_64-apple-)?Darwin/?11.1.0'
1234
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?11.1.0'
1120
1235
  version: '10.7.1'
1121
- - regex: '(?:x86_64-apple-)?Darwin/?10.8.0'
1236
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?10.8.0'
1122
1237
  version: '10.6.8'
1123
- - regex: '(?:x86_64-apple-)?Darwin/?10.7.[34]'
1238
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?10.7.[34]'
1124
1239
  version: '10.6.7'
1125
- - regex: '(?:x86_64-apple-)?Darwin/?10.3.0'
1240
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?10.3.0'
1126
1241
  version: '10.6.3'
1127
- - regex: '(?:x86_64-apple-)?Darwin/?10.0.0'
1242
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?10.0.0'
1128
1243
  version: '10.6'
1129
- - regex: '(?:x86_64-apple-)?Darwin/?9.8.0'
1244
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?9.8.0'
1130
1245
  version: '10.5.8'
1131
- - regex: '(?:x86_64-apple-)?Darwin/?9.7.1'
1246
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?9.7.1'
1132
1247
  version: '10.5.7'
1133
- - regex: '(?:x86_64-apple-)?Darwin/?9.6.2'
1248
+ - regex: '(?:x86_64-apple-)?Darwin(?:/|; )?9.6.2'
1134
1249
  version: '10.5.6'
1135
- - regex: '(?:x86_64-apple-)?Darwin/?9.5.[05]'
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.0
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: 2022-12-15 00:00:00.000000000 Z
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.3.20
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