device_detector 1.0.7 → 1.1.1

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,94 @@
5
5
  # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
6
6
  ###############
7
7
 
8
+ ##########
9
+ # RedOS (https://redos.red-soft.ru/)
10
+ ##########
11
+ - regex: 'RED OS; Linux'
12
+ name: 'RedOS'
13
+ version: ''
14
+
15
+ ##########
16
+ # RouterOS (https://help.mikrotik.com/docs/display/ROS/RouterOS)
17
+ ##########
18
+ - regex: 'Mikrotik/(\d).x'
19
+ name: 'RouterOS'
20
+ version: '$1'
21
+
22
+ ##########
23
+ # Sirin OS (https://sirinlabs.com/sirin-os/)
24
+ ##########
25
+ - regex: 'FINNEY U1'
26
+ name: 'Sirin OS'
27
+ version: ''
28
+
29
+ ##########
30
+ # Nova (https://www.nova.cu/)
31
+ ##########
32
+ - regex: 'Nova; Linux'
33
+ name: 'Nova'
34
+ version: ''
35
+
36
+ ##########
37
+ # Bliss OS (https://blissos.org/)
38
+ ##########
39
+ - regex: 'Android 10.+bliss_maple'
40
+ name: 'Bliss OS'
41
+ version: '12'
42
+
43
+ ##########
44
+ # TencentOS (https://github.com/Tencent/TencentOS-kernel)
45
+ ##########
46
+ - regex: 'Linux/(\d+[\.\d]*).+tlinux'
47
+ name: 'TencentOS'
48
+ version: '$1'
49
+
50
+ ##########
51
+ # Amazon Linux (https://docs.aws.amazon.com/AL2/latest/relnotes/relnotes-al2.html)
52
+ ##########
53
+ - regex: '.+.amzn(\d).x86_64'
54
+ name: 'Amazon Linux'
55
+ version: '$1'
56
+
57
+ ##########
58
+ # COS (China Operating System - https://web.archive.org/web/20170825001023/http://www.china-cos.com/)
59
+ ##########
60
+ - regex: ' COS like Android'
61
+ name: 'China OS'
62
+ version: ''
63
+
64
+ ##########
65
+ # ClearOS Mobile (https://www.clearos.com/products/clearos-editions/clearos-mobile)
66
+ ##########
67
+ - regex: 'Android (\d+[\.\d]*); ClearPHONE'
68
+ name: 'ClearOS Mobile'
69
+ version: '$1'
70
+
71
+ ##########
72
+ # Plasma Mobile (https://plasma-mobile.org/)
73
+ ##########
74
+ - regex: 'Plasma Mobile'
75
+ name: 'Plasma Mobile'
76
+ version: ''
77
+
78
+ ##########
79
+ # KreaTV
80
+ ##########
81
+ - regex: 'KreaTV/0.0.0.0'
82
+ name: 'KreaTV'
83
+ version: ''
84
+
85
+ - regex: 'KreaTV/(\d+[\.\d]+)'
86
+ name: 'KreaTV'
87
+ version: '$1'
88
+
89
+ ##########
90
+ # Opera TV (https://blogs.opera.com/news/2016/01/ces-2016-meet-opera-tv/)
91
+ ##########
92
+ - regex: 'Linux (?:[^;]+); Opera TV(?: Store)?/|^Opera/\d+\.\d+ \(Linux mips'
93
+ name: 'Opera TV'
94
+ version: ''
95
+
8
96
  ##########
9
97
  # GridOS (https://web.archive.org/web/20111123141630/http://fusiongarage.com/grid-os/about)
10
98
  ##########
@@ -99,6 +187,9 @@
99
187
  - regex: 'HarmonyOS(?:[/ ](\d+[\.\d]+))?'
100
188
  name: 'HarmonyOS'
101
189
  version: '$1'
190
+ - regex: 'Hmos/1'
191
+ name: 'HarmonyOS'
192
+ version: '1.0.0'
102
193
 
103
194
  - regex: 'RazoDroiD(?: v(\d+[\.\d]*))?'
104
195
  name: 'RazoDroiD'
@@ -132,6 +223,109 @@
132
223
  name: 'FydeOS'
133
224
  version: ''
134
225
 
226
+ ##########
227
+ # Revenge OS
228
+ ##########
229
+ - regex: 'revengeos_x2'
230
+ name: 'Revenge OS'
231
+ version: '2'
232
+
233
+ ##########
234
+ # Lineage OS
235
+ ##########
236
+ - regex: 'lineage_\w+'
237
+ name: 'Lineage OS'
238
+ version: ''
239
+
240
+ #########
241
+ # Resurrection Remix OS (https://resurrectionremix.com/)
242
+ ##########
243
+ - regex: 'Android 8(?:[\d.]*);(?: [\w-]+;)? rr_fortuna3g'
244
+ name: 'Resurrection Remix OS'
245
+ version: '6'
246
+
247
+ ##########
248
+ # Remix OS
249
+ ##########
250
+ - regex: 'RemixOS|Remix (?:Pro|Mini)'
251
+ name: 'Remix OS'
252
+ versions:
253
+ - regex: 'RemixOS 5'
254
+ version: '1'
255
+ - regex: 'RemixOS 6|Remix Mini'
256
+ version: '2'
257
+ - regex: 'Remix Pro'
258
+ version: '3'
259
+
260
+ ##########
261
+ # FreeBSD
262
+ ##########
263
+ - regex: 'FreeBSD.+Android'
264
+ name: 'FreeBSD'
265
+ version: ''
266
+
267
+ ##########
268
+ # Android TV (https://android.com/tv/)
269
+ ##########
270
+ - regex: 'Linux; Andr0id[; ](\d+[\.\d]*)'
271
+ name: 'Android TV'
272
+ version: '$1'
273
+
274
+ - regex: 'Android[; ](\d+[\.\d]*).+(?:(?:Android|AT&T) TV|AOSP on r33a0)'
275
+ name: 'Android TV'
276
+ version: '$1'
277
+
278
+ - regex: 'Windows.+Andr0id TV|.+K_?Android_?TV_'
279
+ name: 'Android TV'
280
+ version: ''
281
+
282
+ ##########
283
+ # Android SDK Level Api
284
+ ##########
285
+ - regex: '(?:Android API \d+|\d+/tclwebkit(?:\d+[\.\d]*))'
286
+ name: 'Android'
287
+ versions:
288
+ - regex: '(?:Android API 34|34/tclwebkit)'
289
+ version: '14'
290
+ - regex: '(?:Android API 33|33/tclwebkit)'
291
+ version: '13'
292
+ - regex: '(?:Android API 32|32/tclwebkit)'
293
+ version: '12.1'
294
+ - regex: '(?:Android API 31|31/tclwebkit)'
295
+ version: '12'
296
+ - regex: '(?:Android API 30|30/tclwebkit)'
297
+ version: '11'
298
+ - regex: '(?:Android API 29|29/tclwebkit)'
299
+ version: '10'
300
+ - regex: '(?:Android API 28|28/tclwebkit)'
301
+ version: '9'
302
+ - regex: '(?:Android API 27|27/tclwebkit)'
303
+ version: '8.1'
304
+ - regex: '(?:Android API 26|26/tclwebkit)'
305
+ version: '8'
306
+ - regex: '(?:Android API 25|25/tclwebkit)'
307
+ version: '7.1'
308
+ - regex: '(?:Android API 24|24/tclwebkit)'
309
+ version: '7'
310
+ - regex: '(?:Android API 23|23/tclwebkit)'
311
+ version: '6'
312
+ - regex: '(?:Android API 22|22/tclwebkit)'
313
+ version: '5.1'
314
+ - regex: '21/tclwebkit'
315
+ version: '5'
316
+ - regex: '(?:20|19)/tclwebkit'
317
+ version: '4.4'
318
+ - regex: '18/tclwebkit'
319
+ version: '4.3'
320
+ - regex: '17/tclwebkit'
321
+ version: '4.2'
322
+ - regex: '16/tclwebkit'
323
+ version: '4.2'
324
+ - regex: '15/tclwebkit'
325
+ version: '4.0.3'
326
+ - regex: '15/tclwebkit'
327
+ version: '4.0.1'
328
+
135
329
  ##########
136
330
  # Android
137
331
  ##########
@@ -139,11 +333,11 @@
139
333
  name: 'Android'
140
334
  version: '6'
141
335
 
142
- - regex: '(?:Podbean|Podimo)(?:.*)/Android'
336
+ - regex: '(?:Podbean|Podimo)(?:.*)/Android|Rutube(?:TV)?BlackAndroid'
143
337
  name: 'Android'
144
338
  version: ''
145
339
 
146
- - regex: 'Android OS/(\d+[\.\d]*)'
340
+ - regex: '(?:Android OS|OMDroid)[ /](\d+[\.\d]*)'
147
341
  name: 'Android'
148
342
  version: '$1'
149
343
 
@@ -159,7 +353,7 @@
159
353
  name: 'Android'
160
354
  version: '$1'
161
355
 
162
- - regex: '(?:(?:Orca-)?Android|Adr)[ /]?(?:[a-z]+ )?(\d+[\.\d]*)'
356
+ - regex: '(?:(?:Orca-)?(?<!like )Android|Adr|AOSP)[ /]?(?:[a-z]+ )?(\d+[\.\d]*)'
163
357
  name: 'Android'
164
358
  version: '$1'
165
359
 
@@ -175,7 +369,7 @@
175
369
  name: 'Android'
176
370
  version: '$1'
177
371
 
178
- - regex: ' Adr |Android|Silk-Accelerated=[a-z]{4,5}'
372
+ - regex: ' Adr |DDG-Android|(?<!like )Android|Silk-Accelerated=[a-z]{4,5}'
179
373
  name: 'Android'
180
374
  version: ''
181
375
 
@@ -183,14 +377,10 @@
183
377
  name: 'Android'
184
378
  version: '$1'
185
379
 
186
- - regex: 'BeyondPod|AntennaPod|Podkicker|DoggCatcher|Player FM|okhttp|Podcatcher Deluxe|.+K_?Android_?TV_|Sonos/.+\(ACR_'
380
+ - regex: 'BeyondPod|AntennaPod|Podkicker|DoggCatcher|Player FM|okhttp|Podcatcher Deluxe|Sonos/.+\(ACR_|Linux x86_64; Quest'
187
381
  name: 'Android'
188
382
  version: ''
189
383
 
190
- - regex: 'Linux; Andr0id[; ](\d+[\.\d]*)'
191
- name: 'Android'
192
- version: '$1'
193
-
194
384
  # Inverted Android
195
385
  - regex: 'Linux; diordnA[; ](\d+[\.\d]*)'
196
386
  name: 'Android'
@@ -245,6 +435,46 @@
245
435
  ##########
246
436
  # Linux
247
437
  ##########
438
+ # Linspire (https://www.linspirelinux.com/)
439
+ - regex: 'Linspire'
440
+ name: 'Linspire'
441
+ version: ''
442
+
443
+ # LindowsOS (https://web.archive.org/web/20040304161245/http://www.lindows.com/)
444
+ - regex: 'LindowsOS'
445
+ name: 'LindowsOS'
446
+ version: ''
447
+
448
+ # Zenwalk (http://www.zenwalk.org/)
449
+ - regex: 'Zenwalk GNU Linux'
450
+ name: 'Zenwalk'
451
+ version: ''
452
+
453
+ # Kanotix (http://www.kanotix.com/)
454
+ - regex: 'Linux.+kanotix'
455
+ name: 'Kanotix'
456
+ version: ''
457
+
458
+ # moonOS (https://www.moonos.org/)
459
+ - regex: 'moonOS/(\d+.[\d.]+)'
460
+ name: 'moonOS'
461
+ version: '$1'
462
+
463
+ # Foresight Linux (https://www.foresightlinux.org/)
464
+ - regex: 'Foresight Linux'
465
+ name: 'Foresight Linux'
466
+ version: ''
467
+
468
+ # Pardus (https://www.pardus.org.tr/)
469
+ - regex: 'Pardus/(\d+.[\d.]+)'
470
+ name: 'Pardus'
471
+ version: '$1'
472
+
473
+ # Pure OS (https://pureos.net/)
474
+ - regex: 'Librem 5'
475
+ name: 'PureOS'
476
+ version: ''
477
+
248
478
  # OpenWrt (https://openwrt.org/)
249
479
  - regex: 'uclient-fetch'
250
480
  name: 'OpenWrt'
@@ -255,7 +485,7 @@
255
485
  name: 'Roku OS'
256
486
  version: '$1'
257
487
 
258
- - regex: 'Roku(?:OS)?/(?:DVP|Pluto)?-?(\d+[\.\d]+)'
488
+ - regex: 'Roku(?:OS|4640X)?/(?:DVP|Pluto)?-?(\d+[\.\d]+)?'
259
489
  name: 'Roku OS'
260
490
  version: '$1'
261
491
 
@@ -308,6 +538,34 @@
308
538
  name: 'VectorLinux'
309
539
  version: '$1'
310
540
 
541
+ - regex: 'CentOS Stream (\d)'
542
+ name: 'CentOS Stream'
543
+ version: '$1'
544
+
545
+ - regex: '.+.el(\d+(?:[_\.]\d+)*).(?:centos|x86_64)'
546
+ name: 'CentOS'
547
+ version: '$1'
548
+
549
+ - regex: 'CentOS Linux (\d)'
550
+ name: 'CentOS'
551
+ version: '$1'
552
+
553
+ - regex: 'Fedora/.+.fc(\d+)'
554
+ name: 'Fedora'
555
+ version: '$1'
556
+
557
+ - regex: 'Mandriva(?: Linux)?/.+mdv(\d+[\.\d]+)'
558
+ name: 'Mandriva'
559
+ version: '$1'
560
+
561
+ - regex: 'Linux Mint/(\d)'
562
+ name: 'Mint'
563
+ version: '$1'
564
+
565
+ - regex: 'Zorin OS (\d+)'
566
+ name: 'ZorinOS'
567
+ version: '$1'
568
+
311
569
  - regex: 'Linux; .*((?:Debian|Knoppix|Mint|Ubuntu|Kubuntu|Xubuntu|Lubuntu|Fedora|Red Hat|Mandriva|Gentoo|Sabayon|Slackware|SUSE|CentOS|BackTrack))[ /](\d+[\.\d]+)'
312
570
  name: '$1'
313
571
  version: '$2'
@@ -320,12 +578,14 @@
320
578
  name: '$1'
321
579
  version: '$2'
322
580
 
581
+ - regex: '.+redhat-linux-gnu'
582
+ name: 'Red Hat'
583
+ version: ''
584
+
323
585
  - regex: 'OS ROSA; Linux'
324
586
  name: 'Rosa'
325
587
  version: ''
326
588
 
327
- # generic linux match -> end of file
328
-
329
589
  ##########
330
590
  # webOS
331
591
  ##########
@@ -335,12 +595,16 @@
335
595
  versions:
336
596
  - regex: 'WEBOS(\d+[\.\d]+)'
337
597
  version: '$1'
338
- - regex: 'Web0S; Linux/SmartTV.+Chrome/68'
598
+ - regex: 'Web0S; Linux/SmartTV.+Chr[o0]me/79'
599
+ version: '6'
600
+ - regex: 'Web0S; Linux/SmartTV.+Chr[o0]me/68'
339
601
  version: '5'
340
- - regex: 'Web0S; Linux/SmartTV.+Chrome/53'
602
+ - regex: 'Web0S; Linux/SmartTV.+Chr[o0]me/53'
341
603
  version: '4'
342
- - regex: 'Web0S; Linux/SmartTV.+Chrome/38'
604
+ - regex: 'Web0S; Linux/SmartTV.+Chr[o0]me/38'
343
605
  version: '3'
606
+ - regex: 'WEBOS1'
607
+ version: '1'
344
608
  - regex: 'Web0S; Linux/SmartTV.+Safari/538'
345
609
  version: '2'
346
610
  - regex: 'Web0S; Linux/SmartTV.+Safari/537'
@@ -358,7 +622,6 @@
358
622
  name: 'MorphOS'
359
623
  version: '$1'
360
624
 
361
-
362
625
  ##########
363
626
  # Windows
364
627
  ##########
@@ -378,7 +641,7 @@
378
641
  name: 'Windows'
379
642
  version: ''
380
643
 
381
- - regex: '(?:Windows(?:-Update-Agent)?|Microsoft-(?:CryptoAPI|Delivery-Optimization|WebDAV-MiniRedir|WNS))/(\d+\.\d+)'
644
+ - regex: '(?:Windows(?:-Update-Agent)?|Microsoft-(?:CryptoAPI|Delivery-Optimization|WebDAV-MiniRedir|WNS)|WINDOWS_64)/(\d+\.\d+)'
382
645
  name: 'Windows'
383
646
  version: '$1'
384
647
 
@@ -438,10 +701,14 @@
438
701
  name: 'Windows'
439
702
  version: '3.1'
440
703
 
441
- - regex: 'Windows|.+win32|Win64|MSDW|HandBrake Win Upd|Microsoft BITS'
704
+ - regex: 'Windows|.+win32|Win64|MSDW|HandBrake Win Upd|Microsoft BITS|ms-office; MSOffice'
442
705
  name: 'Windows'
443
706
  version: ''
444
707
 
708
+ - regex: 'OS/Microsoft_Windows_NT_(\d+\.\d+)'
709
+ name: 'Windows'
710
+ version: '$1'
711
+
445
712
  ##########
446
713
  # Haiku OS
447
714
  ##########
@@ -452,11 +719,15 @@
452
719
  ##########
453
720
  # tvOS (https://developer.apple.com/tvos/)
454
721
  ##########
455
- - regex: 'Apple ?TV.*CPU (?:iPhone )?OS ((?:9|1[0-5])[_\.]\d+(?:[_.]\d+)*)'
722
+ - regex: 'Apple ?TV.*CPU (?:iPhone )?OS ((?:9|1[0-7])[_\.]\d+(?:[_.]\d+)*)'
723
+ name: 'tvOS'
724
+ version: '$1'
725
+
726
+ - regex: 'iOS(?:; |/)((?:9|1[0-7]).\d+(?:[_\.]\d+)*) (?:model/)?AppleTV'
456
727
  name: 'tvOS'
457
728
  version: '$1'
458
729
 
459
- - regex: 'iOS(?:; |/)((?:9|1[0-5]).\d+(?:[_\.]\d+)*) (?:model/)?AppleTV'
730
+ - regex: 'tvOS((?:9|1[0-7]).\d+(?:[_\.]\d+)*);'
460
731
  name: 'tvOS'
461
732
  version: '$1'
462
733
 
@@ -466,31 +737,34 @@
466
737
  - regex: '(?:Watch1,[12]/|Watch OS,|watchOS[ /])(\d+[\.\d]*)'
467
738
  name: 'watchOS'
468
739
  version: '$1'
740
+ - regex: 'Apple Watch(?!;)'
741
+ name: 'watchOS'
742
+ version: ''
469
743
 
470
744
  ##########
471
745
  # iPadOS (https://www.apple.com/ipados/)
472
746
  ##########
473
- - regex: 'FBMD/iPad;.*FBSV/ ?(1[345]).(\d+[\.\d]*);'
747
+ - regex: 'FBMD/iPad;.*FBSV/ ?(1[3-6]).(\d+[\.\d]*);'
474
748
  name: 'iPadOS'
475
749
  version: '$1.$2'
476
750
 
477
- - regex: 'iPad/(1[345]).(\d+[\.\d]*)'
751
+ - regex: 'iPad(?:OS)?/(1[3-6]).(\d+[\.\d]*)'
478
752
  name: 'iPadOS'
479
753
  version: '$1.$2'
480
754
 
481
- - regex: '^iPad(?:\d+[\,\d]*)/(1[345]).(\d+[\.\d]*)'
755
+ - regex: '^iPad(?:\d+[\,\d]*)/(1[3-6]).(\d+[\.\d]*)'
482
756
  name: 'iPadOS'
483
757
  version: '$1.$2'
484
758
 
485
- - regex: 'iPad(?:; iOS|.+CPU OS) ((1[345])+(?:[_\.]\d+)*)'
759
+ - regex: 'iPad(?:; (?:iOS|iPadOS|iPhone OS)|.+CPU OS) ((1[3-6])+(?:[_\.]\d+)*)'
486
760
  name: 'iPadOS'
487
761
  version: '$1'
488
762
 
489
- - regex: 'iOS/(1[345]).(\d+[\.\d]*).+Apple/iPad'
763
+ - regex: 'iOS/(1[3-6]).(\d+[\.\d]*).+Apple/iPad'
490
764
  name: 'iPadOS'
491
765
  version: '$1.$2'
492
766
 
493
- - regex: 'iPhone OS,(1[345]).(\d+[\.\d]*).+iPad'
767
+ - regex: 'iPhone OS,(1[3-6]).(\d+[\.\d]*).+iPad'
494
768
  name: 'iPadOS'
495
769
  version: '$1.$2'
496
770
 
@@ -509,13 +783,41 @@
509
783
  name: 'iOS'
510
784
  version: '$1'
511
785
 
786
+ - regex: 'iOS (\d+[\.\d]+)\)'
787
+ name: 'iOS'
788
+ version: '$1'
789
+
512
790
  - regex: '(?:iPhone ?OS|iOS(?: Version)?)(?:/|; |,)(\d+[\.\d]+)'
513
791
  name: 'iOS'
514
792
  version: '$1'
515
793
 
516
- - regex: 'CFNetwork/.+ Darwin/(\d+[\.\d]+)(?!.*(?:x86_64|i386|PowerMac))'
794
+ - regex: '^(?!com.apple.Safari.SearchHelper|Safari).*CFNetwork/.+ Darwin/(\d+[\.\d]+)(?!.*(?:x86_64|i386|PowerMac|Power%20Macintosh))'
517
795
  name: 'iOS'
518
796
  versions:
797
+ - regex: 'Darwin/23.0.0'
798
+ version: '17.0'
799
+ - regex: 'Darwin/22.6.0'
800
+ version: '16.6'
801
+ - regex: 'Darwin/22.5.0'
802
+ version: '16.5'
803
+ - regex: 'Darwin/22.4.0'
804
+ version: '16.4'
805
+ - regex: 'Darwin/22.3.0'
806
+ version: '16.3'
807
+ - regex: 'Darwin/22.2.0'
808
+ version: '16.2'
809
+ - regex: 'Darwin/22.1.0'
810
+ version: '16.1'
811
+ - regex: 'Darwin/22.0.0'
812
+ version: '16.0'
813
+ - regex: 'Darwin/21.6.0'
814
+ version: '15.6'
815
+ - regex: 'Darwin/21.5.0'
816
+ version: '15.5'
817
+ - regex: 'Darwin/21.4.0'
818
+ version: '15.4'
819
+ - regex: 'Darwin/21.3.0'
820
+ version: '15.3'
519
821
  - regex: 'Darwin/21.2.0'
520
822
  version: '15.2'
521
823
  - regex: 'Darwin/21.1.0'
@@ -649,7 +951,7 @@
649
951
  name: 'iOS'
650
952
  version: '$1.$2.$3'
651
953
 
652
- - regex: '(?:CPU OS|iPh(?:one)?[ _]OS|iOS)[ _/](\d+(?:[_\.]\d+)*)'
954
+ - regex: '(?:CPU OS|iPh(?:one)?[ _]OS|iPhone.+ OS|iOS)[ _/](\d+(?:[_\.]\d+)*)'
653
955
  name: 'iOS'
654
956
  version: '$1'
655
957
 
@@ -681,7 +983,11 @@
681
983
  name: 'iOS'
682
984
  version: '$1'
683
985
 
684
- - regex: '(?:Apple-)?(?:iPhone|iPad|iPod)(?:.*Mac OS X.*Version/(\d+\.\d+)|; Opera)?'
986
+ - regex: '(?:Apple-)?(?<!like )(?:iPhone|iPad|iPod)(?:.*Mac OS X.*Version/(\d+\.\d+)|; Opera)?'
987
+ name: 'iOS'
988
+ version: '$1'
989
+
990
+ - regex: 'dv\(iPh.+ov\((\d+(?:[_\.]\d+)*)\);'
685
991
  name: 'iOS'
686
992
  version: '$1'
687
993
 
@@ -708,9 +1014,33 @@
708
1014
  ##########
709
1015
  # Mac
710
1016
  ##########
711
- - regex: 'CFNetwork/.+ Darwin/(?:[\d\.]+).+(?:x86_64|i386)|(?:x86_64-apple-)?darwin(?:[\d\.]+)|PowerMac'
1017
+ - regex: 'CFNetwork/.+ Darwin/(?:[\d\.]+).+(?:x86_64|i386|Power%20Macintosh)|(?:x86_64-apple-)?darwin(?:[\d\.]+)|PowerMac|com.apple.Safari.SearchHelper|^Safari'
712
1018
  name: 'Mac'
713
1019
  versions:
1020
+ - regex: '(?:x86_64-apple-)?Darwin/?23.0.0'
1021
+ version: '14.0'
1022
+ - regex: '(?:x86_64-apple-)?Darwin/?22.6.0'
1023
+ version: '13.5'
1024
+ - regex: '(?:x86_64-apple-)?Darwin/?22.5.0'
1025
+ version: '13.4'
1026
+ - regex: '(?:x86_64-apple-)?Darwin/?22.4.0'
1027
+ version: '13.3'
1028
+ - regex: '(?:x86_64-apple-)?Darwin/?22.3.0'
1029
+ version: '13.2'
1030
+ - regex: '(?:x86_64-apple-)?Darwin/?22.2.0'
1031
+ version: '13.1'
1032
+ - regex: '(?:x86_64-apple-)?Darwin/?22.1.0'
1033
+ version: '13.0.1'
1034
+ - regex: '(?:x86_64-apple-)?Darwin/?22.0.0'
1035
+ version: '13.0'
1036
+ - regex: '(?:x86_64-apple-)?Darwin/?21.6.0'
1037
+ version: '12.5'
1038
+ - regex: '(?:x86_64-apple-)?Darwin/?21.5.0'
1039
+ version: '12.4'
1040
+ - regex: '(?:x86_64-apple-)?Darwin/?21.4.0'
1041
+ version: '12.3'
1042
+ - regex: '(?:x86_64-apple-)?Darwin/?21.3.0'
1043
+ version: '12.2'
714
1044
  - regex: '(?:x86_64-apple-)?Darwin/?21.2.0'
715
1045
  version: '12.1'
716
1046
  - regex: '(?:x86_64-apple-)?Darwin/?21.1.0'
@@ -866,7 +1196,7 @@
866
1196
  name: 'Mac'
867
1197
  version: '$1'
868
1198
 
869
- - regex: '(?:macOS[/,]|Mac-)(\d+[\.\d]+)'
1199
+ - regex: '(?:macOS[ /,]|Mac-)(\d+[\.\d]+)'
870
1200
  name: 'Mac'
871
1201
  version: '$1'
872
1202
 
@@ -888,10 +1218,17 @@
888
1218
  ##########
889
1219
  # ChromeOS
890
1220
  ##########
891
- - regex: 'CrOS [a-z0-9_]+ .* Chrome/(\d+[\.\d]+)'
1221
+ - regex: 'CrOS [a-z0-9_]+ (\d+[\.\d]+)'
892
1222
  name: 'Chrome OS'
893
1223
  version: '$1'
894
1224
 
1225
+ ##########
1226
+ # Fuchsia
1227
+ ##########
1228
+ - regex: 'Fuchsia'
1229
+ name: 'Fuchsia'
1230
+ version: ''
1231
+
895
1232
  ##########
896
1233
  # BlackBerry
897
1234
  ##########
@@ -918,9 +1255,9 @@
918
1255
  ##########
919
1256
  # BeOS
920
1257
  ##########
921
- - regex: 'BeOS'
1258
+ - regex: 'BeOS[ +]?(\d[.\d]*)?'
922
1259
  name: 'BeOS'
923
- version: ''
1260
+ version: '$1'
924
1261
 
925
1262
  ##########
926
1263
  # Symbian
@@ -1018,20 +1355,6 @@
1018
1355
  name: 'WebTV'
1019
1356
  version: '$1'
1020
1357
 
1021
- ##########
1022
- # Remix OS
1023
- ##########
1024
- - regex: 'RemixOS 5.1.1'
1025
- name: 'Remix OS'
1026
- version: '1'
1027
-
1028
- - regex: 'RemixOS 6.0'
1029
- name: 'Remix OS'
1030
- version: '2'
1031
-
1032
- - regex: 'RemixOS'
1033
- name: 'Remix OS'
1034
- version: ''
1035
1358
 
1036
1359
  ##########
1037
1360
  # Unix
@@ -1083,10 +1406,14 @@
1083
1406
  name: 'Nintendo'
1084
1407
  version: '$1'
1085
1408
 
1086
- - regex: 'PlayStation ?([34])'
1409
+ - regex: 'PlayStation.+; Linux (\d+[\.\d]+)'
1087
1410
  name: 'PlayStation'
1088
1411
  version: '$1'
1089
1412
 
1413
+ - regex: 'PlayStation ?(\d)(?:[/ ](?:Pro )?(\d+[\.\d]+))?'
1414
+ name: 'PlayStation'
1415
+ version: '$1.$2'
1416
+
1090
1417
  - regex: 'Xbox|KIN\.(?:One|Two)'
1091
1418
  name: 'Xbox'
1092
1419
  version: '360'
@@ -1112,7 +1439,11 @@
1112
1439
  ###########
1113
1440
  # Linux (Generic)
1114
1441
  ###########
1115
- - regex: 'Linux(?:OS)?[^a-z]|Cinnamon/(?:\d+[\.\d]+)'
1442
+ - regex: 'Linux/(\d+[\.\d]+)'
1443
+ name: 'GNU/Linux'
1444
+ version: '$1'
1445
+
1446
+ - regex: 'Linux(?:OS)?[^a-z]|Cinnamon/(?:\d+[\.\d]+)|.+(?:pc|unknown)-linux-gnu'
1116
1447
  name: 'GNU/Linux'
1117
1448
  version: ''
1118
1449