device_detector 0.8.2 → 0.9.0
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/.travis.yml +11 -3
- data/CHANGELOG.md +10 -5
- data/README.md +4 -4
- data/Rakefile +24 -19
- data/device_detector.gemspec +1 -1
- data/lib/device_detector.rb +25 -3
- data/lib/device_detector/device.rb +1 -1
- data/lib/device_detector/model_extractor.rb +4 -0
- data/lib/device_detector/os.rb +8 -3
- data/lib/device_detector/parser.rb +1 -1
- data/lib/device_detector/version.rb +1 -1
- data/regexes/bots.yml +211 -27
- data/regexes/client/browsers.yml +192 -58
- data/regexes/client/feed_readers.yml +6 -0
- data/regexes/client/libraries.yml +4 -0
- data/regexes/client/mediaplayers.yml +8 -4
- data/regexes/client/mobile_apps.yml +39 -4
- data/regexes/client/pim.yml +4 -0
- data/regexes/device/mobiles.yml +1803 -242
- data/regexes/device/televisions.yml +53 -11
- data/regexes/oss.yml +180 -12
- data/regexes/vendorfragments.yml +1 -0
- data/spec/device_detector/concrete_user_agent_spec.rb +36 -0
- data/spec/device_detector/detector_fixtures_spec.rb +1 -1
- data/spec/fixtures/client/browser.yml +313 -2
- data/spec/fixtures/client/feed_reader.yml +8 -1
- data/spec/fixtures/client/library.yml +7 -1
- data/spec/fixtures/client/mediaplayer.yml +6 -1
- data/spec/fixtures/client/mobile_app.yml +6 -0
- data/spec/fixtures/client/pim.yml +6 -0
- data/spec/fixtures/detector/bots.yml +2307 -612
- data/spec/fixtures/detector/camera.yml +6 -0
- data/spec/fixtures/detector/car_browser.yml +1 -0
- data/spec/fixtures/detector/console.yml +14 -0
- data/spec/fixtures/detector/desktop.yml +308 -48
- data/spec/fixtures/detector/feature_phone.yml +63 -0
- data/spec/fixtures/detector/feed_reader.yml +50 -26
- data/spec/fixtures/detector/mediaplayer.yml +28 -6
- data/spec/fixtures/detector/mobile_apps.yml +117 -0
- data/spec/fixtures/detector/phablet.yml +1066 -183
- data/spec/fixtures/detector/portable_media_player.yml +8 -0
- data/spec/fixtures/detector/smart_display.yml +39 -0
- data/spec/fixtures/detector/smartphone-1.yml +9469 -0
- data/spec/fixtures/detector/smartphone-2.yml +9414 -0
- data/spec/fixtures/detector/smartphone-3.yml +9396 -0
- data/spec/fixtures/detector/smartphone-4.yml +5742 -0
- data/spec/fixtures/detector/smartphone.yml +3446 -23680
- data/spec/fixtures/detector/tablet-1.yml +9495 -0
- data/spec/fixtures/detector/tablet-2.yml +248 -0
- data/spec/fixtures/detector/tablet.yml +2786 -7961
- data/spec/fixtures/detector/tv.yml +1376 -210
- data/spec/fixtures/detector/unknown.yml +205 -509
- data/spec/fixtures/device/console.yml +6 -0
- data/spec/fixtures/parser/oss.yml +194 -1
- data/spec/fixtures/parser/vendorfragments.yml +6 -0
- metadata +16 -6
- data/spec/fixtures/parser/bots.yml +0 -2055
data/regexes/client/browsers.yml
CHANGED
@@ -12,6 +12,11 @@
|
|
12
12
|
engine:
|
13
13
|
default: 'Edge'
|
14
14
|
|
15
|
+
# 360 Browser
|
16
|
+
- regex: 'QIHU 360[ES]E'
|
17
|
+
name: '360 Browser'
|
18
|
+
version: ''
|
19
|
+
|
15
20
|
# 360 Phone Browser
|
16
21
|
- regex: '360 Aphone Browser(?: \((\d+[\.\d]+)(?:beta)?\))?'
|
17
22
|
name: '360 Phone Browser'
|
@@ -53,6 +58,17 @@
|
|
53
58
|
version: '$1'
|
54
59
|
engine:
|
55
60
|
default: 'Gecko'
|
61
|
+
- regex: 'Maemo Browser(?: (\d+[\.\d]+))?'
|
62
|
+
name: 'MicroB'
|
63
|
+
version: '$1'
|
64
|
+
engine:
|
65
|
+
default: 'Gecko'
|
66
|
+
|
67
|
+
#Deepnet Explorer
|
68
|
+
- regex: 'Deepnet Explorer (\d+[\.\d]+)?'
|
69
|
+
name: 'Deepnet Explorer'
|
70
|
+
version: '$1'
|
71
|
+
|
56
72
|
|
57
73
|
#Avant Browser
|
58
74
|
- regex: 'Avant Browser'
|
@@ -70,11 +86,23 @@
|
|
70
86
|
versions:
|
71
87
|
28: 'Blink'
|
72
88
|
|
89
|
+
#Atomic Web Browser
|
90
|
+
- regex: 'AtomicBrowser(?:/(\d+[\.\d]+))?'
|
91
|
+
name: 'Atomic Web Browser'
|
92
|
+
version: '$1'
|
93
|
+
|
73
94
|
#Bunjalloo
|
74
95
|
- regex: 'Bunjalloo(?:/(\d+[\.\d]+))?'
|
75
96
|
name: 'Bunjalloo'
|
76
97
|
version: '$1'
|
77
98
|
|
99
|
+
#Brave
|
100
|
+
- regex: 'Brave(?:/(\d+[\.\d]+))?'
|
101
|
+
name: 'Brave'
|
102
|
+
version: '$1'
|
103
|
+
engine:
|
104
|
+
default: 'Blink'
|
105
|
+
|
78
106
|
#Iceweasel
|
79
107
|
- regex: 'Iceweasel(?:/(\d+[\.\d]+))?'
|
80
108
|
name: 'Iceweasel'
|
@@ -120,6 +148,11 @@
|
|
120
148
|
versions:
|
121
149
|
3: 'WebKit'
|
122
150
|
|
151
|
+
#Jig Browser
|
152
|
+
- regex: 'jig browser(?: web;|9i?)?(?:[/ ](\d+[\.\d]+))?'
|
153
|
+
name: 'Jig Browser'
|
154
|
+
version: '$1'
|
155
|
+
|
123
156
|
#Kapiko
|
124
157
|
- regex: 'Kapiko(?:/(\d+[\.\d]+))?'
|
125
158
|
name: 'Kapiko'
|
@@ -127,6 +160,13 @@
|
|
127
160
|
engine:
|
128
161
|
default: 'Gecko'
|
129
162
|
|
163
|
+
#Kylo
|
164
|
+
- regex: 'Kylo(?:/(\d+[\.\d]+))?'
|
165
|
+
name: 'Kylo'
|
166
|
+
version: '$1'
|
167
|
+
engine:
|
168
|
+
default: 'Gecko'
|
169
|
+
|
130
170
|
#Swiftfox
|
131
171
|
- regex: 'Firefox/(\d+[\.\d]+).*\(Swiftfox\)'
|
132
172
|
name: 'Swiftfox'
|
@@ -151,6 +191,11 @@
|
|
151
191
|
engine:
|
152
192
|
default: 'WebKit'
|
153
193
|
|
194
|
+
#ANT Fresco
|
195
|
+
- regex: 'ANTFresco(?:[/ ](\d+[\.\d]+))?'
|
196
|
+
name: 'ANT Fresco'
|
197
|
+
version: '$1'
|
198
|
+
|
154
199
|
#ANTGalio
|
155
200
|
- regex: 'ANTGalio(?:/(\d+[\.\d]+))?'
|
156
201
|
name: 'ANTGalio'
|
@@ -173,8 +218,13 @@
|
|
173
218
|
name: 'Fireweb Navigator'
|
174
219
|
version: '$1'
|
175
220
|
|
221
|
+
#Fireweb
|
222
|
+
- regex: 'Fireweb(?:/(\d+[\.\d]+))?'
|
223
|
+
name: 'Fireweb'
|
224
|
+
version: '$1'
|
225
|
+
|
176
226
|
#Netscape
|
177
|
-
- regex: '(?:Navigator|Netscape6)(?:/(\d+[\.\d]+))?'
|
227
|
+
- regex: '(?:Navigator|Netscape6?)(?:/(\d+[\.\d]+))?'
|
178
228
|
name: 'Netscape'
|
179
229
|
version: '$1'
|
180
230
|
engine:
|
@@ -207,12 +257,14 @@
|
|
207
257
|
default: 'Presto'
|
208
258
|
versions:
|
209
259
|
15: 'Blink'
|
210
|
-
- regex: '(?:Opera|OPR)[/ ](?:9.80.*Version/)?(\d+[\.\d]+)'
|
260
|
+
- regex: '(?:Opera|OPR)[/ ]?(?:9.80.*Version/)?(\d+[\.\d]+)'
|
211
261
|
name: 'Opera'
|
212
262
|
version: '$1'
|
213
263
|
engine:
|
214
|
-
default: '
|
264
|
+
default: ''
|
215
265
|
versions:
|
266
|
+
3.5: 'Elektra'
|
267
|
+
7: 'Presto'
|
216
268
|
15: 'Blink'
|
217
269
|
|
218
270
|
#Rekonq
|
@@ -285,6 +337,13 @@
|
|
285
337
|
engine:
|
286
338
|
default: 'Blink'
|
287
339
|
|
340
|
+
#TweakStyle
|
341
|
+
- regex: 'TweakStyle(?:/(\d+[\.\d]+))?'
|
342
|
+
name: 'TweakStyle'
|
343
|
+
version: '$1'
|
344
|
+
engine:
|
345
|
+
default: 'Blink'
|
346
|
+
|
288
347
|
#Midori
|
289
348
|
- regex: 'Midori(?:/(\d+[\.\d]+))?'
|
290
349
|
name: 'Midori'
|
@@ -298,7 +357,7 @@
|
|
298
357
|
version: '$1'
|
299
358
|
|
300
359
|
#Maxthon
|
301
|
-
- regex: 'Maxthon[ /](\d+[\.\d]+)'
|
360
|
+
- regex: '(?:Maxthon|MxBrowser)[ /](\d+[\.\d]+)'
|
302
361
|
name: 'Maxthon'
|
303
362
|
version: '$1'
|
304
363
|
engine:
|
@@ -347,10 +406,33 @@
|
|
347
406
|
version: '$1'
|
348
407
|
|
349
408
|
# QQ Browser
|
350
|
-
- regex: 'QQBrowser
|
409
|
+
- regex: 'M?QQBrowser(?:/(?:Mini)?([\.\d]+))?'
|
351
410
|
name: 'QQ Browser'
|
352
411
|
version: '$1'
|
353
412
|
|
413
|
+
# MIUI Browser
|
414
|
+
- regex: 'MIUIBrowser(?:/(\d+[\.\d]+))?'
|
415
|
+
name: 'MIUI Browser'
|
416
|
+
version: '$1'
|
417
|
+
|
418
|
+
# Coc Coc
|
419
|
+
# This browser (http://coccoc.vn/) is built on top of Chromium with
|
420
|
+
# additional features for Vietnamese users. Its regex has to be placed
|
421
|
+
# before generic Chrome regex, or Chrome regex will match first and
|
422
|
+
# the browser is mistaken as "Chrome".
|
423
|
+
- regex: 'coc_coc_browser(?:/(\d+[\.\d]+))?'
|
424
|
+
name: 'Coc Coc'
|
425
|
+
version: '$1'
|
426
|
+
engine:
|
427
|
+
default: 'WebKit'
|
428
|
+
versions:
|
429
|
+
28: 'Blink'
|
430
|
+
|
431
|
+
#Samsung Browser
|
432
|
+
- regex: 'Samsung ?Browser(?:[/ ](\d+[\.\d]+))?'
|
433
|
+
name: 'Samsung Browser'
|
434
|
+
version: '$1'
|
435
|
+
|
354
436
|
#Chrome
|
355
437
|
- regex: 'CrMo(?:/(\d+[\.\d]+))?'
|
356
438
|
name: 'Chrome Mobile'
|
@@ -364,7 +446,7 @@
|
|
364
446
|
version: '$1'
|
365
447
|
engine:
|
366
448
|
default: 'WebKit'
|
367
|
-
- regex: 'Chrome(?:/(\d+[\.\d]+))
|
449
|
+
- regex: 'Chrome(?:/(\d+[\.\d]+))? Mobile'
|
368
450
|
name: 'Chrome Mobile'
|
369
451
|
version: '$1'
|
370
452
|
engine:
|
@@ -422,6 +504,11 @@
|
|
422
504
|
name: 'Palm WebPro'
|
423
505
|
version: '$1'
|
424
506
|
|
507
|
+
#Palmscape
|
508
|
+
- regex: 'Palmscape(?:[ /](\d+[\.\d]+))?'
|
509
|
+
name: 'Palmscape'
|
510
|
+
version: '$1'
|
511
|
+
|
425
512
|
#Jasmine
|
426
513
|
- regex: 'Jasmine(?:[ /](\d+[\.\d]+))?'
|
427
514
|
name: 'Jasmine'
|
@@ -433,7 +520,7 @@
|
|
433
520
|
version: '$1'
|
434
521
|
engine:
|
435
522
|
default: 'Text-based'
|
436
|
-
|
523
|
+
|
437
524
|
#NCSA Mosaic
|
438
525
|
- regex: 'NCSA_Mosaic(?:/(\d+[\.\d]+))?'
|
439
526
|
name: 'NCSA Mosaic'
|
@@ -443,7 +530,7 @@
|
|
443
530
|
- regex: 'ABrowse(?: (\d+[\.\d]+))?'
|
444
531
|
name: 'ABrowse'
|
445
532
|
version: '$1'
|
446
|
-
|
533
|
+
|
447
534
|
#Amaya
|
448
535
|
- regex: 'amaya(?:/(\d+[\.\d]+))?'
|
449
536
|
name: 'Amaya'
|
@@ -453,31 +540,26 @@
|
|
453
540
|
- regex: 'AmigaVoyager(?:/(\d+[\.\d]+))?'
|
454
541
|
name: 'Amiga Voyager'
|
455
542
|
version: '$1'
|
456
|
-
|
543
|
+
|
457
544
|
#Amiga Aweb
|
458
545
|
- regex: 'Amiga-Aweb(?:/(\d+[\.\d]+))?'
|
459
546
|
name: 'Amiga Aweb'
|
460
547
|
version: '$1'
|
461
|
-
|
548
|
+
|
462
549
|
#Arora
|
463
550
|
- regex: 'Arora(?:/(\d+[\.\d]+))?'
|
464
551
|
name: 'Arora'
|
465
552
|
version: '$1'
|
466
553
|
engine:
|
467
554
|
default: 'WebKit'
|
468
|
-
|
555
|
+
|
469
556
|
#Beonex
|
470
557
|
- regex: 'Beonex(?:/(\d+[\.\d]+))?'
|
471
558
|
name: 'Beonex'
|
472
559
|
version: '$1'
|
473
560
|
engine:
|
474
561
|
default: 'Gecko'
|
475
|
-
|
476
|
-
#BlackBerry Browser
|
477
|
-
- regex: 'BlackBerry|PlayBook|BB10'
|
478
|
-
name: 'BlackBerry Browser'
|
479
|
-
version: ''
|
480
|
-
|
562
|
+
|
481
563
|
#BrowseX
|
482
564
|
- regex: 'BrowseX \((\d+[\.\d]+)'
|
483
565
|
name: 'BrowseX'
|
@@ -492,7 +574,7 @@
|
|
492
574
|
- regex: 'Cheshire(?:/(\d+[\.\d]+))?'
|
493
575
|
name: 'Cheshire'
|
494
576
|
version: '$1'
|
495
|
-
|
577
|
+
|
496
578
|
#Dillo
|
497
579
|
- regex: 'Dillo(?:/(\d+[\.\d]+))?'
|
498
580
|
name: 'Dillo'
|
@@ -506,52 +588,57 @@
|
|
506
588
|
version: '$1'
|
507
589
|
engine:
|
508
590
|
default: 'WebKit'
|
509
|
-
|
591
|
+
|
510
592
|
#Elinks
|
511
593
|
- regex: 'Elinks(?:/(\d+[\.\d]+))?'
|
512
594
|
name: 'Elinks'
|
513
595
|
version: '$1'
|
514
596
|
engine:
|
515
597
|
default: 'Text-based'
|
516
|
-
|
598
|
+
|
599
|
+
#Element Browser
|
600
|
+
- regex: 'Element Browser(?:[ /](\d+[\.\d]+))?'
|
601
|
+
name: 'Element Browser'
|
602
|
+
version: '$1'
|
603
|
+
|
517
604
|
#Firebird
|
518
|
-
- regex: 'Firebird(?:/(\d+[\.\d]+))?'
|
605
|
+
- regex: 'Firebird(?! Build)(?:/(\d+[\.\d]+))?'
|
519
606
|
name: 'Firebird'
|
520
607
|
version: '$1'
|
521
608
|
engine:
|
522
609
|
default: 'Gecko'
|
523
|
-
|
610
|
+
|
524
611
|
#Fluid
|
525
612
|
- regex: 'Fluid(?:/(\d+[\.\d]+))?'
|
526
613
|
name: 'Fluid'
|
527
614
|
version: '$1'
|
528
615
|
engine:
|
529
616
|
default: 'WebKit'
|
530
|
-
|
617
|
+
|
531
618
|
#Galeon
|
532
619
|
- regex: 'Galeon(?:/(\d+[\.\d]+))?'
|
533
620
|
name: 'Galeon'
|
534
621
|
version: '$1'
|
535
622
|
engine:
|
536
623
|
default: 'Gecko'
|
537
|
-
|
624
|
+
|
538
625
|
#Google Earth
|
539
626
|
- regex: 'Google Earth(?:/(\d+[\.\d]+))?'
|
540
627
|
name: 'Google Earth'
|
541
628
|
version: '$1'
|
542
629
|
engine:
|
543
630
|
default: 'WebKit'
|
544
|
-
|
631
|
+
|
545
632
|
#HotJava
|
546
633
|
- regex: 'HotJava(?:/(\d+[\.\d]+))?'
|
547
634
|
name: 'HotJava'
|
548
635
|
version: '$1'
|
549
|
-
|
636
|
+
|
550
637
|
#IBrowse
|
551
638
|
- regex: 'IBrowse(?:[ /](\d+[\.\d]+))?'
|
552
639
|
name: 'IBrowse'
|
553
640
|
version: '$1'
|
554
|
-
|
641
|
+
|
555
642
|
#iCab
|
556
643
|
- regex: 'iCab(?:[ /](\d+[\.\d]+))?'
|
557
644
|
name: 'iCab'
|
@@ -623,19 +710,19 @@
|
|
623
710
|
version: '$1'
|
624
711
|
engine:
|
625
712
|
default: '' # multi engine
|
626
|
-
|
713
|
+
|
627
714
|
#Kindle Browser
|
628
715
|
- regex: 'Kindle/(\d+[\.\d]+)'
|
629
716
|
name: 'Kindle Browser'
|
630
717
|
version: '$1'
|
631
|
-
|
718
|
+
|
632
719
|
#K-meleon
|
633
720
|
- regex: 'K-meleon(?:/(\d+[\.\d]+))?'
|
634
721
|
name: 'K-meleon'
|
635
722
|
version: '$1'
|
636
723
|
engine:
|
637
724
|
default: 'Gecko'
|
638
|
-
|
725
|
+
|
639
726
|
#Links
|
640
727
|
- regex: 'Links(?: \((\d+[\.\d]+))?'
|
641
728
|
name: 'Links'
|
@@ -643,23 +730,36 @@
|
|
643
730
|
engine:
|
644
731
|
default: 'Text-based'
|
645
732
|
|
733
|
+
# LG Browser
|
734
|
+
- regex: 'LG Browser(?:/(\d+[\.\d]+))'
|
735
|
+
name: 'LG Browser'
|
736
|
+
version: '$1'
|
737
|
+
|
738
|
+
# LuaKit
|
739
|
+
- regex: 'LuaKit(?:/(\d+[\.\d]+))?'
|
740
|
+
name: 'LuaKit'
|
741
|
+
version: '$1'
|
742
|
+
|
646
743
|
#Openwave Mobile Browser
|
647
744
|
- regex: 'UP.Browser(?:/(\d+[\.\d]+))?'
|
648
745
|
name: 'Openwave Mobile Browser'
|
649
746
|
version: '$1'
|
650
|
-
|
747
|
+
- regex: 'Openwave(?:/(\d+[\.\d]+))?'
|
748
|
+
name: 'Openwave Mobile Browser'
|
749
|
+
version: '$1'
|
750
|
+
|
651
751
|
#OmniWeb
|
652
752
|
- regex: 'OmniWeb(?:/[v]?(\d+[\.\d]+))?'
|
653
753
|
name: 'OmniWeb'
|
654
754
|
version: '$1'
|
655
755
|
engine:
|
656
756
|
default: 'WebKit'
|
657
|
-
|
757
|
+
|
658
758
|
#Phoenix
|
659
759
|
- regex: 'Phoenix(?:/(\d+[\.\d]+))?'
|
660
760
|
name: 'Phoenix'
|
661
761
|
version: '$1'
|
662
|
-
|
762
|
+
|
663
763
|
#Mobile Silk
|
664
764
|
- regex: 'Silk(?:/(\d+[\.\d]+))?'
|
665
765
|
name: 'Mobile Silk'
|
@@ -667,28 +767,6 @@
|
|
667
767
|
engine:
|
668
768
|
default: 'Blink'
|
669
769
|
|
670
|
-
# MIUI Browser
|
671
|
-
- regex: 'MIUIBrowser(?:/(\d+[\.\d]+))?'
|
672
|
-
name: 'MIUI Browser'
|
673
|
-
version: '$1'
|
674
|
-
|
675
|
-
#Nokia Browser
|
676
|
-
- regex: '(?:NokiaBrowser|BrowserNG)(?:/(\d+[\.\d]+))?'
|
677
|
-
name: 'Nokia Browser'
|
678
|
-
version: '$1'
|
679
|
-
- regex: 'Series60/5\.0'
|
680
|
-
name: 'Nokia Browser'
|
681
|
-
version: '7.0'
|
682
|
-
- regex: 'Series60/(\d+[\.\d]+)'
|
683
|
-
name: 'Nokia OSS Browser'
|
684
|
-
version: '$1'
|
685
|
-
- regex: 'S40OviBrowser/(\d+[\.\d]+)'
|
686
|
-
name: 'Nokia Ovi Browser'
|
687
|
-
version: '$1'
|
688
|
-
- regex: '^Nokia|Nokia[EN]?\d+'
|
689
|
-
name: 'Nokia Browser'
|
690
|
-
version: ''
|
691
|
-
|
692
770
|
#NetFront
|
693
771
|
- regex: 'NetFrontLifeBrowser(?:/(\d+[\.\d]+))?'
|
694
772
|
name: 'NetFront Life'
|
@@ -727,11 +805,23 @@
|
|
727
805
|
name: 'Off By One'
|
728
806
|
version: ''
|
729
807
|
|
808
|
+
#ONE Browser
|
809
|
+
- regex: 'OneBrowser(?:[ /](\d+[\.\d]+))?'
|
810
|
+
name: 'ONE Browser'
|
811
|
+
version: '$1'
|
812
|
+
engine:
|
813
|
+
default: 'WebKit'
|
814
|
+
|
730
815
|
#Oregano
|
731
816
|
- regex: 'Oregano(?:[ /](\d+[\.\d]+))?'
|
732
817
|
name: 'Oregano'
|
733
818
|
version: '$1'
|
734
819
|
|
820
|
+
#Otter Browser
|
821
|
+
- regex: 'Otter(?:[ /](\d+[\.\d]+))?'
|
822
|
+
name: 'Otter Browser'
|
823
|
+
version: '$1'
|
824
|
+
|
735
825
|
#Polaris
|
736
826
|
- regex: '(?:Polaris|Embider)(?:[/ ](\d+[\.\d]+))?'
|
737
827
|
name: 'Polaris'
|
@@ -742,6 +832,13 @@
|
|
742
832
|
name: 'SEMC-Browser'
|
743
833
|
version: '$1'
|
744
834
|
|
835
|
+
#Seraphic Sraf
|
836
|
+
- regex: 'Sraf(?:[/ ](\d+[\.\d]+))?'
|
837
|
+
name: 'Seraphic Sraf'
|
838
|
+
version: '$1'
|
839
|
+
engine:
|
840
|
+
default: 'Blink'
|
841
|
+
|
745
842
|
#Shiira
|
746
843
|
- regex: 'Shiira(?:[/ ](\d+[\.\d]+))?'
|
747
844
|
name: 'Shiira'
|
@@ -749,6 +846,11 @@
|
|
749
846
|
engine:
|
750
847
|
default: 'WebKit'
|
751
848
|
|
849
|
+
#Skyfire
|
850
|
+
- regex: 'Skyfire(?:[/ ](\d+[\.\d]+))?'
|
851
|
+
name: 'Skyfire'
|
852
|
+
version: '$1'
|
853
|
+
|
752
854
|
#Snowshoe
|
753
855
|
- regex: 'Snowshoe(?:/(\d+[\.\d]+))?'
|
754
856
|
name: 'Snowshoe'
|
@@ -761,7 +863,17 @@
|
|
761
863
|
name: 'Sunrise'
|
762
864
|
version: '$1'
|
763
865
|
|
764
|
-
#
|
866
|
+
#SuperBird
|
867
|
+
- regex: 'SuperBird(?:/(\d+[\.\d]+))?'
|
868
|
+
name: 'SuperBird'
|
869
|
+
version: '$1'
|
870
|
+
|
871
|
+
#Vision Mobile Browser
|
872
|
+
- regex: 'Vision-Browser(?:/(\d+[\.\d]+))'
|
873
|
+
name: 'Vision Mobile Browser'
|
874
|
+
version: '$1'
|
875
|
+
|
876
|
+
#WeTab Browser
|
765
877
|
- regex: 'WeTab-Browser'
|
766
878
|
name: 'WeTab Browser'
|
767
879
|
version: ''
|
@@ -771,15 +883,37 @@
|
|
771
883
|
name: 'Xiino'
|
772
884
|
version: '$1'
|
773
885
|
|
886
|
+
#Nokia Browser
|
887
|
+
- regex: '(?:NokiaBrowser|BrowserNG)(?:/(\d+[\.\d]+))?'
|
888
|
+
name: 'Nokia Browser'
|
889
|
+
version: '$1'
|
890
|
+
- regex: 'Series60/5\.0'
|
891
|
+
name: 'Nokia Browser'
|
892
|
+
version: '7.0'
|
893
|
+
- regex: 'Series60/(\d+[\.\d]+)'
|
894
|
+
name: 'Nokia OSS Browser'
|
895
|
+
version: '$1'
|
896
|
+
- regex: 'S40OviBrowser/(\d+[\.\d]+)'
|
897
|
+
name: 'Nokia Ovi Browser'
|
898
|
+
version: '$1'
|
899
|
+
- regex: '^Nokia|Nokia[EN]?\d+'
|
900
|
+
name: 'Nokia Browser'
|
901
|
+
version: ''
|
902
|
+
|
903
|
+
#BlackBerry Browser
|
904
|
+
- regex: 'BlackBerry|PlayBook|BB10'
|
905
|
+
name: 'BlackBerry Browser'
|
906
|
+
version: ''
|
907
|
+
|
774
908
|
#Android Browser
|
775
909
|
- regex: 'Android'
|
776
910
|
name: 'Android Browser'
|
777
911
|
version: ''
|
778
912
|
engine:
|
779
913
|
default: 'WebKit'
|
780
|
-
|
914
|
+
|
781
915
|
#Safari
|
782
|
-
- regex: '(?:iPod|iPad|iPhone).+Version/(\d+[\.\d]+)'
|
916
|
+
- regex: '(?:(?:iPod|iPad|iPhone).+Version|MobileSafari)/(\d+[\.\d]+)'
|
783
917
|
name: 'Mobile Safari'
|
784
918
|
version: '$1'
|
785
919
|
engine:
|