device_detector 1.0.6 → 1.0.7
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 +7 -0
- data/README.md +5 -5
- data/lib/device_detector/device.rb +82 -3
- data/lib/device_detector/os.rb +4 -2
- data/lib/device_detector/parser.rb +1 -1
- data/lib/device_detector/version.rb +1 -1
- data/lib/device_detector/version_extractor.rb +20 -1
- data/regexes/bots.yml +49 -6
- data/regexes/client/browsers.yml +170 -16
- data/regexes/client/libraries.yml +20 -1
- data/regexes/client/mediaplayers.yml +2 -2
- data/regexes/client/mobile_apps.yml +447 -13
- data/regexes/client/pim.yml +16 -1
- data/regexes/device/consoles.yml +7 -1
- data/regexes/device/mobiles.yml +3169 -912
- data/regexes/device/portable_media_player.yml +16 -6
- data/regexes/oss.yml +380 -467
- metadata +3 -164
- data/.gitignore +0 -14
- data/.rubocop.yml +0 -49
- data/.ruby-version +0 -1
- data/.travis.yml +0 -14
- data/Gemfile +0 -8
- data/Rakefile +0 -86
- data/device_detector.gemspec +0 -27
- data/spec/device_detector/bot_fixtures_spec.rb +0 -30
- data/spec/device_detector/client_fixtures_spec.rb +0 -31
- data/spec/device_detector/concrete_user_agent_spec.rb +0 -123
- data/spec/device_detector/detector_fixtures_spec.rb +0 -99
- data/spec/device_detector/device_fixtures_spec.rb +0 -36
- data/spec/device_detector/device_spec.rb +0 -147
- data/spec/device_detector/memory_cache_spec.rb +0 -148
- data/spec/device_detector/model_extractor_spec.rb +0 -63
- data/spec/device_detector/os_fixtures_spec.rb +0 -26
- data/spec/device_detector/version_extractor_spec.rb +0 -79
- data/spec/device_detector_spec.rb +0 -189
- data/spec/fixtures/client/browser.yml +0 -3935
- data/spec/fixtures/client/feed_reader.yml +0 -187
- data/spec/fixtures/client/library.yml +0 -253
- data/spec/fixtures/client/mediaplayer.yml +0 -193
- data/spec/fixtures/client/mobile_app.yml +0 -703
- data/spec/fixtures/client/pim.yml +0 -175
- data/spec/fixtures/detector/bots.yml +0 -4434
- data/spec/fixtures/detector/camera.yml +0 -127
- data/spec/fixtures/detector/car_browser.yml +0 -217
- data/spec/fixtures/detector/console.yml +0 -343
- data/spec/fixtures/detector/desktop.yml +0 -7580
- data/spec/fixtures/detector/feature_phone.yml +0 -1597
- data/spec/fixtures/detector/feed_reader.yml +0 -524
- data/spec/fixtures/detector/mediaplayer.yml +0 -306
- data/spec/fixtures/detector/mobile_apps.yml +0 -1233
- data/spec/fixtures/detector/peripheral.yml +0 -271
- data/spec/fixtures/detector/phablet.yml +0 -7366
- data/spec/fixtures/detector/portable_media_player.yml +0 -527
- data/spec/fixtures/detector/smart_display.yml +0 -235
- data/spec/fixtures/detector/smart_speaker.yml +0 -60
- data/spec/fixtures/detector/smartphone-1.yml +0 -9622
- data/spec/fixtures/detector/smartphone-10.yml +0 -8981
- data/spec/fixtures/detector/smartphone-11.yml +0 -8938
- data/spec/fixtures/detector/smartphone-12.yml +0 -8989
- data/spec/fixtures/detector/smartphone-13.yml +0 -9412
- data/spec/fixtures/detector/smartphone-14.yml +0 -9477
- data/spec/fixtures/detector/smartphone-15.yml +0 -9281
- data/spec/fixtures/detector/smartphone-16.yml +0 -9678
- data/spec/fixtures/detector/smartphone-17.yml +0 -9965
- data/spec/fixtures/detector/smartphone-18.yml +0 -9806
- data/spec/fixtures/detector/smartphone-19.yml +0 -9965
- data/spec/fixtures/detector/smartphone-2.yml +0 -12242
- data/spec/fixtures/detector/smartphone-20.yml +0 -9710
- data/spec/fixtures/detector/smartphone-21.yml +0 -8693
- data/spec/fixtures/detector/smartphone-22.yml +0 -10178
- data/spec/fixtures/detector/smartphone-23.yml +0 -9453
- data/spec/fixtures/detector/smartphone-24.yml +0 -9843
- data/spec/fixtures/detector/smartphone-25.yml +0 -9703
- data/spec/fixtures/detector/smartphone-26.yml +0 -10007
- data/spec/fixtures/detector/smartphone-27.yml +0 -4927
- data/spec/fixtures/detector/smartphone-3.yml +0 -9909
- data/spec/fixtures/detector/smartphone-4.yml +0 -8954
- data/spec/fixtures/detector/smartphone-5.yml +0 -8981
- data/spec/fixtures/detector/smartphone-6.yml +0 -8948
- data/spec/fixtures/detector/smartphone-7.yml +0 -8975
- data/spec/fixtures/detector/smartphone-8.yml +0 -9810
- data/spec/fixtures/detector/smartphone-9.yml +0 -8925
- data/spec/fixtures/detector/smartphone.yml +0 -9001
- data/spec/fixtures/detector/tablet-1.yml +0 -10155
- data/spec/fixtures/detector/tablet-2.yml +0 -9064
- data/spec/fixtures/detector/tablet-3.yml +0 -9035
- data/spec/fixtures/detector/tablet-4.yml +0 -9062
- data/spec/fixtures/detector/tablet-5.yml +0 -9273
- data/spec/fixtures/detector/tablet-6.yml +0 -4588
- data/spec/fixtures/detector/tablet.yml +0 -8979
- data/spec/fixtures/detector/tv-1.yml +0 -2501
- data/spec/fixtures/detector/tv.yml +0 -10045
- data/spec/fixtures/detector/unknown.yml +0 -3071
- data/spec/fixtures/detector/wearable.yml +0 -915
- data/spec/fixtures/device/camera.yml +0 -19
- data/spec/fixtures/device/car_browser.yml +0 -13
- data/spec/fixtures/device/console.yml +0 -79
- data/spec/fixtures/device/notebook.yml +0 -7
- data/spec/fixtures/parser/oss.yml +0 -2418
- data/spec/fixtures/parser/vendorfragments.yml +0 -168
- data/spec/spec_helper.rb +0 -9
data/regexes/bots.yml
CHANGED
@@ -482,7 +482,7 @@
|
|
482
482
|
name: 'SEOmoz, Inc.'
|
483
483
|
url: 'http://moz.com/'
|
484
484
|
|
485
|
-
- regex: 'facebookexternalhit|facebookplatform|facebookexternalua'
|
485
|
+
- regex: 'facebookexternalhit|facebookplatform|facebookexternalua|facebookcatalog'
|
486
486
|
name: 'Facebook External Hit'
|
487
487
|
category: 'Social Media Agent'
|
488
488
|
url: 'https://www.facebook.com/externalhit_uatext.php'
|
@@ -688,7 +688,7 @@
|
|
688
688
|
name: 'Visual Meta'
|
689
689
|
url: 'https://www.shopalike.cz/'
|
690
690
|
|
691
|
-
- regex: 'AdsBot-Google|Adwords-(DisplayAds|Express|Instant)|Google Web Preview|Google[ -]Publisher[ -]Plugin|Google-(Ads-Qualify|Adwords|AMPHTML|Assess|HotelAdsVerifier|Read-Aloud|Shopping-Quality|Site-Verification|speakr|Test|Youtube-Links)|(APIs|DuplexWeb|Feedfetcher|Mediapartners)-Google|Googlebot|GoogleProducer|Google.*/\+/web/snippet'
|
691
|
+
- regex: 'AdsBot-Google|Adwords-(DisplayAds|Express|Instant)|Google Web Preview|Google[ -]Publisher[ -]Plugin|Google-(Ads-Qualify|Adwords|AMPHTML|Assess|HotelAdsVerifier|Read-Aloud|Shopping-Quality|Site-Verification|speakr|Stale-Content-Probe|Test|Youtube-Links)|(APIs|DuplexWeb|Feedfetcher|Mediapartners)-Google|Googlebot|GoogleProducer|Google.*/\+/web/snippet'
|
692
692
|
name: 'Googlebot'
|
693
693
|
category: 'Search bot'
|
694
694
|
url: 'http://www.google.com/bot.html'
|
@@ -1722,7 +1722,7 @@
|
|
1722
1722
|
name: 'Yandex LLC'
|
1723
1723
|
url: 'http://company.yandex.com'
|
1724
1724
|
|
1725
|
-
- regex: 'Yeti|NaverJapan'
|
1725
|
+
- regex: 'Yeti|NaverJapan|AdsBot-Naver'
|
1726
1726
|
name: 'Yeti/Naverbot'
|
1727
1727
|
category: 'Search bot'
|
1728
1728
|
url: 'http://help.naver.com/robots/'
|
@@ -1926,7 +1926,7 @@
|
|
1926
1926
|
- regex: 'RSSRadio \(Push Notification Scanner;support@dorada\.co\.uk\)'
|
1927
1927
|
name: 'RSSRadio Bot'
|
1928
1928
|
|
1929
|
-
- regex: '(A6-Indexer|nuhk|TsolCrawler|Yammybot|Openbot|Gulper Web Bot|grub-client|Download Demon|SearchExpress|Microsoft URL Control|borg|altavista|dataminr.com|tweetedtimes.com|TrendsmapResolver|teoma|blitzbot|oegp|furlbot|http%20client|polybot|htdig|mogimogi|larbin|scrubby|searchsight|seekbot|semanticdiscovery|snappy|vortex(?! Build)|zeal|fast-webcrawler|converacrawler|dataparksearch|findlinks|BrowserMob|HttpMonitor|ThumbShotsBot|URL2PNG|ZooShot|GomezA|Google SketchUp|Read%20Later|RackspaceBot|robots|SeopultContentAnalyzer|7Siters|centuryb.o.t9|InterNaetBoten|EasyBib AutoCite|Bidtellect|tomnomnom/meg|My User Agent)'
|
1929
|
+
- regex: '(A6-Indexer|nuhk|TsolCrawler|Yammybot|Openbot|Gulper Web Bot|grub-client|Download Demon|SearchExpress|Microsoft URL Control|borg|altavista|dataminr.com|tweetedtimes.com|TrendsmapResolver|teoma|blitzbot|oegp|furlbot|http%20client|polybot|htdig|mogimogi|larbin|scrubby|searchsight|seekbot|semanticdiscovery|snappy|vortex(?! Build)|zeal|fast-webcrawler|converacrawler|dataparksearch|findlinks|BrowserMob|HttpMonitor|ThumbShotsBot|URL2PNG|ZooShot|GomezA|Google SketchUp|Read%20Later|RackspaceBot|robots|SeopultContentAnalyzer|7Siters|centuryb.o.t9|InterNaetBoten|EasyBib AutoCite|Bidtellect|tomnomnom/meg|My User Agent|cortex)'
|
1930
1930
|
name: 'Generic Bot'
|
1931
1931
|
|
1932
1932
|
- regex: '^sentry'
|
@@ -2576,7 +2576,6 @@
|
|
2576
2576
|
category: 'Crawler'
|
2577
2577
|
url: 'https://github.com/VIPnytt/SitemapParser/'
|
2578
2578
|
|
2579
|
-
|
2580
2579
|
- regex: '^Turnitin'
|
2581
2580
|
name: 'Turnitin'
|
2582
2581
|
category: 'Crawler'
|
@@ -2596,6 +2595,50 @@
|
|
2596
2595
|
category: 'Crawler'
|
2597
2596
|
url: 'https://dataforseo.com/dataforseo-bot'
|
2598
2597
|
|
2598
|
+
- regex: 'Discordbot/([\d+.]+)'
|
2599
|
+
name: 'Discord Bot'
|
2600
|
+
category: 'Service Agent'
|
2601
|
+
url: 'https://discordapp.com'
|
2602
|
+
|
2603
|
+
- regex: 'Linespider/([\d+.]+)'
|
2604
|
+
name: 'Linespider'
|
2605
|
+
category: 'Crawler'
|
2606
|
+
url: 'https://lin.ee/4dwXkTH'
|
2607
|
+
|
2608
|
+
- regex: 'Cincraw/([\d+.]+)'
|
2609
|
+
name: 'Cincraw'
|
2610
|
+
category: 'Crawler'
|
2611
|
+
url: 'http://cincrawdata.net/bot/'
|
2612
|
+
|
2613
|
+
- regex: 'CISPA Web Analyzer'
|
2614
|
+
name: 'CISPA Web Analyzer'
|
2615
|
+
category: 'Crawler'
|
2616
|
+
url: 'https://notify.cispa.de/'
|
2617
|
+
producer:
|
2618
|
+
name: 'CISPA - Helmholtz-Zentrum für Informationssicherheit gGmbH'
|
2619
|
+
url: 'https://cispa.de/en'
|
2620
|
+
|
2621
|
+
- regex: 'IonCrawl'
|
2622
|
+
name: 'IONOS Crawler'
|
2623
|
+
category: 'Crawler'
|
2624
|
+
url: 'https://www.ionos.de/terms-gtc/faq-crawler-en/'
|
2625
|
+
producer:
|
2626
|
+
name: 'IONOS SE'
|
2627
|
+
url: 'https://www.ionos.de/'
|
2628
|
+
|
2629
|
+
- regex: 'Crawldad'
|
2630
|
+
name: 'Crawldad'
|
2631
|
+
category: 'Crawler'
|
2632
|
+
url: 'https://gist.github.com/jayhardee9/2f2a2c4dba26564ee040ae32e0dd0972'
|
2633
|
+
|
2634
|
+
- regex: 'https://securitytxt-scan.cs.hm.edu/'
|
2635
|
+
name: 'security.txt scanserver'
|
2636
|
+
category: 'Security Checker'
|
2637
|
+
url: 'https://securitytxt-scan.cs.hm.edu/'
|
2638
|
+
producer:
|
2639
|
+
name: 'Hochschule für angewandte Wissenschaften München'
|
2640
|
+
url: 'https://www.hm.edu/'
|
2641
|
+
|
2599
2642
|
# Generic detections
|
2600
|
-
- regex: '[a-z0-9\-_]*((?<!cu|power[ _]|m[ _])bot(?![ _]TAB|[ _]?5[0-9])|crawler|crawl|checker|archiver|transcoder|spider)([^a-z]|$)'
|
2643
|
+
- regex: '[a-z0-9\-_]*((?<!cu|power[ _]|m[ _])bot(?![ _]TAB|[ _]?5[0-9]|[ _]Senior|[ _]Junior)|crawler|crawl|checker|archiver|transcoder|spider)([^a-z]|$)'
|
2601
2644
|
name: 'Generic Bot'
|
data/regexes/client/browsers.yml
CHANGED
@@ -5,6 +5,83 @@
|
|
5
5
|
# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
|
6
6
|
###############
|
7
7
|
|
8
|
+
# T+Browser (https://t.chanjet.com/tplus/view/login/downloadBrowser.html | https://dad.chanapp.chanjet.com/tplusapp/TPlusBrowser.exe)
|
9
|
+
- regex: 'T\+Browser/(\d+[\.\d]+)'
|
10
|
+
name: 'T+Browser'
|
11
|
+
version: '$1'
|
12
|
+
engine:
|
13
|
+
default: 'Blink'
|
14
|
+
|
15
|
+
# ChanjetCloud (https://dad.chanapp.chanjet.com/tplusapp/HsySetup.exe)
|
16
|
+
- regex: 'ChanjetCloud/(\d+[\.\d]+)'
|
17
|
+
name: 'ChanjetCloud'
|
18
|
+
version: '$1'
|
19
|
+
engine:
|
20
|
+
default: 'Blink'
|
21
|
+
|
22
|
+
# Sushi Browser (https://sushi-browser.com/)
|
23
|
+
- regex: 'SushiBrowser/(\d+[\.\d]+)'
|
24
|
+
name: 'Sushi Browser'
|
25
|
+
version: '$1'
|
26
|
+
engine:
|
27
|
+
default: 'Blink'
|
28
|
+
|
29
|
+
# Peeps dBrowser (https://peepsx.com/dbrowser.html)
|
30
|
+
- regex: 'dBrowser/(\d+[\.\d]+)'
|
31
|
+
name: 'Peeps dBrowser'
|
32
|
+
version: '$1'
|
33
|
+
engine:
|
34
|
+
default: 'Blink'
|
35
|
+
|
36
|
+
# LT Browser (https://www.lambdatest.com/lt-browser)
|
37
|
+
- regex: 'LTBrowser/(\d+[\.\d]+)'
|
38
|
+
name: 'LT Browser'
|
39
|
+
version: '$1'
|
40
|
+
engine:
|
41
|
+
default: 'Blink'
|
42
|
+
|
43
|
+
# Lagatos Browser (https://lagatos.com/)
|
44
|
+
- regex: 'lagatos-browser/(\d+[\.\d]+)'
|
45
|
+
name: 'Lagatos Browser'
|
46
|
+
version: '$1'
|
47
|
+
engine:
|
48
|
+
default: 'Blink'
|
49
|
+
|
50
|
+
# PSI Secure Browser (https://tca.psiexams.com/portal/testdelivery/sb_rpnow_download.jsp?)
|
51
|
+
- regex: 'psi-secure-browser/(\d+[\.\d]+)'
|
52
|
+
name: 'PSI Secure Browser'
|
53
|
+
version: '$1'
|
54
|
+
engine:
|
55
|
+
default: 'Blink'
|
56
|
+
|
57
|
+
# Harman Browser (https://www.harman.com/)
|
58
|
+
- regex: 'Harman_Browser/(\d+[\.\d]+)'
|
59
|
+
name: 'Harman Browser'
|
60
|
+
version: '$1'
|
61
|
+
engine:
|
62
|
+
default: 'Blink'
|
63
|
+
|
64
|
+
# Bonsai (https://bonsaibrowser.com/)
|
65
|
+
- regex: 'bonsai-browser/(\d+[\.\d]+)'
|
66
|
+
name: 'Bonsai'
|
67
|
+
version: '$1'
|
68
|
+
engine:
|
69
|
+
default: 'Blink'
|
70
|
+
|
71
|
+
# Spectre Browser (https://spectrebots.com/products/spectre-desktop-browser)
|
72
|
+
- regex: 'spectre-browser/(\d+[\.\d]+)'
|
73
|
+
name: 'Spectre Browser'
|
74
|
+
version: '$1'
|
75
|
+
engine:
|
76
|
+
default: 'Blink'
|
77
|
+
|
78
|
+
# Flash Browser (https://github.com/asteroid-dev/FlashBrowser or https://github.com/radubirsan/FlashBrowser)
|
79
|
+
- regex: 'FlashBrowser/(\d+[\.\d]+)'
|
80
|
+
name: 'Flash Browser'
|
81
|
+
version: '$1'
|
82
|
+
engine:
|
83
|
+
default: 'Blink'
|
84
|
+
|
8
85
|
# Secure Browser (https://safertechnologies.io/)
|
9
86
|
- regex: 'Secure/(?:(\d+[\.\d]+))?'
|
10
87
|
name: 'Secure Browser'
|
@@ -449,10 +526,22 @@
|
|
449
526
|
version: '$1'
|
450
527
|
|
451
528
|
# Lunascape Lite (https://www.lunascape.tv/)
|
452
|
-
- regex: 'iLunascapeLite/(?:(\d
|
529
|
+
- regex: 'iLunascapeLite/(?:(\d+\.[.\d]+))?'
|
453
530
|
name: 'Lunascape Lite'
|
454
531
|
version: '$1'
|
455
532
|
|
533
|
+
# Lunascape
|
534
|
+
- regex: 'Chrome/.+ i?Lunascape(?:[/ ](\d+\.[.\d]+))?'
|
535
|
+
name: 'Lunascape'
|
536
|
+
version: '$1'
|
537
|
+
engine:
|
538
|
+
default: 'Blink'
|
539
|
+
- regex: 'i?Lunascape(?:[/ ](\d+\.[.\d]+))?'
|
540
|
+
name: 'Lunascape'
|
541
|
+
version: '$1'
|
542
|
+
engine:
|
543
|
+
default: '' # multi engine
|
544
|
+
|
456
545
|
# Polypane (https://polypane.app/)
|
457
546
|
- regex: 'Polypane/(?:(\d+[\.\d]+))?'
|
458
547
|
name: 'Polypane'
|
@@ -604,6 +693,10 @@
|
|
604
693
|
- regex: 'Beamrise(?:/(\d+[\.\d]+))?'
|
605
694
|
name: 'Beamrise'
|
606
695
|
version: '$1'
|
696
|
+
engine:
|
697
|
+
default: 'WebKit'
|
698
|
+
versions:
|
699
|
+
28: 'Blink'
|
607
700
|
|
608
701
|
# Faux Browser (https://apps.apple.com/us/app/faux-browser/id472250940)
|
609
702
|
- regex: 'Faux(?:/(\d+[\.\d]+))?'
|
@@ -637,6 +730,13 @@
|
|
637
730
|
engine:
|
638
731
|
default: 'Blink'
|
639
732
|
|
733
|
+
# Hawk Quick Browser
|
734
|
+
- regex: 'Hawk/QuickBrowser(?:/v?(\d+[\.\d]+))?'
|
735
|
+
name: 'Hawk Quick Browser'
|
736
|
+
version: '$1'
|
737
|
+
engine:
|
738
|
+
default: 'Blink'
|
739
|
+
|
640
740
|
# FreeU (https://freeu.online/)
|
641
741
|
- regex: 'FreeU(?:/(\d+[\.\d]+))?'
|
642
742
|
name: 'FreeU'
|
@@ -719,10 +819,19 @@
|
|
719
819
|
engine:
|
720
820
|
default: 'Blink'
|
721
821
|
|
722
|
-
# Huawei Browser
|
822
|
+
# Huawei Browser Mobile
|
723
823
|
- regex: 'HuaweiBrowser(?:/(\d+[\.\d]+))?'
|
824
|
+
name: 'Huawei Browser Mobile'
|
825
|
+
version: '$1'
|
826
|
+
engine:
|
827
|
+
default: 'Blink'
|
828
|
+
|
829
|
+
# Huawei Browser
|
830
|
+
- regex: 'HBPC/(\d+[\.\d]+)'
|
724
831
|
name: 'Huawei Browser'
|
725
832
|
version: '$1'
|
833
|
+
engine:
|
834
|
+
default: 'Blink'
|
726
835
|
|
727
836
|
# vivo Browser
|
728
837
|
- regex: 'VivoBrowser(?:/(\d+[\.\d]+))?'
|
@@ -858,7 +967,7 @@
|
|
858
967
|
version: '$1'
|
859
968
|
|
860
969
|
# Avast Secure Browser | Avast SafeZone Browser (https://www.avast.com/)
|
861
|
-
- regex: '(?:Avast
|
970
|
+
- regex: '(?:Avast(?:SecureBrowser)?|ASW|Safer)(?:/(\d+[\.\d]+))?'
|
862
971
|
name: 'Avast Secure Browser'
|
863
972
|
version: '$1'
|
864
973
|
|
@@ -1055,7 +1164,7 @@
|
|
1055
1164
|
default: 'Goanna'
|
1056
1165
|
|
1057
1166
|
#Firefox Focus / Firefox Klar
|
1058
|
-
- regex: '(?:Focus|Klar)(?:/(\d+[\.\d]+))
|
1167
|
+
- regex: '(?:Focus|Klar)(?:/(\d+[\.\d]+))'
|
1059
1168
|
name: 'Firefox Focus'
|
1060
1169
|
version: '$1'
|
1061
1170
|
|
@@ -1198,12 +1307,18 @@
|
|
1198
1307
|
version: ''
|
1199
1308
|
|
1200
1309
|
# Opera GX (https://www.opera.com/gx#start | http://ftp.opera.com/pub/opera_gx/)
|
1201
|
-
- regex: '
|
1310
|
+
- regex: 'Chrome/.+ OP(?:RG)?X(?:/(\d+[\.\d]+))?'
|
1202
1311
|
name: 'Opera GX'
|
1203
1312
|
version: '$1'
|
1204
1313
|
engine:
|
1205
1314
|
default: 'Blink'
|
1206
1315
|
|
1316
|
+
- regex: 'OP(?:RG)?X(?:/(\d+[\.\d]+))?'
|
1317
|
+
name: 'Opera GX'
|
1318
|
+
version: '$1'
|
1319
|
+
engine:
|
1320
|
+
default: 'WebKit'
|
1321
|
+
|
1207
1322
|
#Opera
|
1208
1323
|
- regex: '(?:Opera Tablet.*Version|Opera/.+Opera Mobi.+Version|Mobile.+OPR)/(\d+[\.\d]+)'
|
1209
1324
|
name: 'Opera Mobile'
|
@@ -1227,6 +1342,11 @@
|
|
1227
1342
|
version: '$1'
|
1228
1343
|
engine:
|
1229
1344
|
default: 'WebKit'
|
1345
|
+
- regex: 'Opera%20Touch/.+CFNetwork/.+Darwin/.+(?!.*x86_64)'
|
1346
|
+
name: 'Opera Touch'
|
1347
|
+
version: ''
|
1348
|
+
engine:
|
1349
|
+
default: 'WebKit'
|
1230
1350
|
- regex: 'OPT/(\d+[\.\d]+)'
|
1231
1351
|
name: 'Opera Touch'
|
1232
1352
|
version: '$1'
|
@@ -1398,7 +1518,7 @@
|
|
1398
1518
|
default: 'WebKit'
|
1399
1519
|
versions:
|
1400
1520
|
'5.2': 'Blink'
|
1401
|
-
- regex: '(?:Maxthon(?:%20Browser)?|MxBrowser(?:-inhouse|-iPhone)
|
1521
|
+
- regex: '(?:Maxthon(?:%20Browser)?|MxBrowser(?:-inhouse|-iPhone)?|MXiOS)[ /](\d+[\.\d]+)'
|
1402
1522
|
name: 'Maxthon'
|
1403
1523
|
version: '$1'
|
1404
1524
|
engine:
|
@@ -1430,6 +1550,8 @@
|
|
1430
1550
|
version: '$1'
|
1431
1551
|
engine:
|
1432
1552
|
default: 'WebKit'
|
1553
|
+
versions:
|
1554
|
+
28: 'Blink'
|
1433
1555
|
|
1434
1556
|
- regex: 'Iron(?:/(\d+[\.\d]+))?'
|
1435
1557
|
name: 'Iron'
|
@@ -1531,6 +1653,8 @@
|
|
1531
1653
|
- regex: 'UBrowser(?:/(\d+[\.\d]+))?'
|
1532
1654
|
name: 'UBrowser'
|
1533
1655
|
version: '$1'
|
1656
|
+
engine:
|
1657
|
+
default: 'Blink'
|
1534
1658
|
|
1535
1659
|
#Streamy (Chromium based)
|
1536
1660
|
- regex: 'Streamy(?:/(\d+[\.\d]+))?'
|
@@ -1556,6 +1680,11 @@
|
|
1556
1680
|
- regex: 'UC AppleWebKit'
|
1557
1681
|
name: 'UC Browser'
|
1558
1682
|
version: ''
|
1683
|
+
- regex: 'UC%20Browser/(\d+[\.\d]+)? CFNetwork/.+Darwin/.+(?!.*x86_64)'
|
1684
|
+
name: 'UC Browser'
|
1685
|
+
version: '$1'
|
1686
|
+
engine:
|
1687
|
+
default: 'WebKit'
|
1559
1688
|
|
1560
1689
|
#It should be checked before Chrome since the UA contains the Chrome
|
1561
1690
|
|
@@ -1584,6 +1713,11 @@
|
|
1584
1713
|
version: '$1'
|
1585
1714
|
engine:
|
1586
1715
|
default: 'WebKit'
|
1716
|
+
- regex: 'webexplorer/(\d+)'
|
1717
|
+
name: 'Web Explorer'
|
1718
|
+
version: '$1'
|
1719
|
+
engine:
|
1720
|
+
default: 'WebKit'
|
1587
1721
|
|
1588
1722
|
# Seznam Browser
|
1589
1723
|
- regex: 'SznProhlizec/(\d+[\.\d]+)'
|
@@ -1653,6 +1787,16 @@
|
|
1653
1787
|
engine:
|
1654
1788
|
default: 'WebKit'
|
1655
1789
|
|
1790
|
+
# iBrowser Mini
|
1791
|
+
- regex: 'iBrowser/Mini(\d+\.\d+)'
|
1792
|
+
name: 'iBrowser Mini'
|
1793
|
+
version: '$1'
|
1794
|
+
|
1795
|
+
# iBrowser
|
1796
|
+
- regex: 'iBrowser/(\d+\.[.\d]+)?'
|
1797
|
+
name: 'iBrowser'
|
1798
|
+
version: '$1'
|
1799
|
+
|
1656
1800
|
#IBrowse
|
1657
1801
|
- regex: 'IBrowse(?:[ /](\d+[\.\d]+))?'
|
1658
1802
|
name: 'IBrowse'
|
@@ -1976,8 +2120,20 @@
|
|
1976
2120
|
engine:
|
1977
2121
|
default: 'Gecko'
|
1978
2122
|
|
1979
|
-
#Google Earth
|
1980
|
-
- regex: 'Google Earth(?:/(\d+[\.\d]+))?'
|
2123
|
+
# Google Earth Pro (https://www.google.se/intl/en/earth/versions/)
|
2124
|
+
- regex: 'Google Earth Pro(?:/(\d+[\.\d]+))?'
|
2125
|
+
name: 'Google Earth Pro'
|
2126
|
+
version: '$1'
|
2127
|
+
engine:
|
2128
|
+
default: 'WebKit'
|
2129
|
+
- regex: 'GoogleEarth/(\d+[\.\d]+).+client:(?:Plus|Pro)'
|
2130
|
+
name: 'Google Earth Pro'
|
2131
|
+
version: '$1'
|
2132
|
+
engine:
|
2133
|
+
default: 'WebKit'
|
2134
|
+
|
2135
|
+
# Google Earth (https://www.google.se/intl/en/earth/versions/)
|
2136
|
+
- regex: 'Google ?Earth(?:/v?(\d+[\.\d]+))?'
|
1981
2137
|
name: 'Google Earth'
|
1982
2138
|
version: '$1'
|
1983
2139
|
engine:
|
@@ -2004,13 +2160,6 @@
|
|
2004
2160
|
versions:
|
2005
2161
|
4: 'WebKit'
|
2006
2162
|
|
2007
|
-
#Lunascape
|
2008
|
-
- regex: 'i?Lunascape(?:[/ ](\d+[\.\d]+))?'
|
2009
|
-
name: 'Lunascape'
|
2010
|
-
version: '$1'
|
2011
|
-
engine:
|
2012
|
-
default: '' # multi engine
|
2013
|
-
|
2014
2163
|
# Crazy Browser
|
2015
2164
|
- regex: 'Crazy Browser (\d+[\.\d]+)'
|
2016
2165
|
name: 'Crazy Browser'
|
@@ -2201,6 +2350,11 @@
|
|
2201
2350
|
- regex: 'Coast(?:/(\d+[\.\d]+))?'
|
2202
2351
|
name: 'Coast'
|
2203
2352
|
version: '$1'
|
2353
|
+
- regex: 'Opera%20Coast/(\d+[\.\d]+)? CFNetwork/.+Darwin/.+(?!.*x86_64)'
|
2354
|
+
name: 'Coast'
|
2355
|
+
version: '$1'
|
2356
|
+
engine:
|
2357
|
+
default: 'WebKit'
|
2204
2358
|
|
2205
2359
|
# surf (https://surf.suckless.org/)
|
2206
2360
|
- regex: 'Surf(?:/(\d+[\.\d]+))?'
|
@@ -2266,7 +2420,7 @@
|
|
2266
2420
|
version: '$1'
|
2267
2421
|
|
2268
2422
|
# MAUI Wap Browser
|
2269
|
-
- regex: 'WAP Browser/MAUI|(?:\w
|
2423
|
+
- regex: 'WAP Browser/MAUI|(?:\w*)Maui Wap Browser|MAUI[- ]Browser'
|
2270
2424
|
name: 'MAUI WAP Browser'
|
2271
2425
|
version: ''
|
2272
2426
|
|
@@ -55,7 +55,7 @@
|
|
55
55
|
name: 'aiohttp'
|
56
56
|
version: '$1'
|
57
57
|
|
58
|
-
- regex: 'Google-HTTP-Java-Client(?:/(\d+[\.\
|
58
|
+
- regex: 'Google-HTTP-Java-Client(?:/(\d+[\.\w-]+))?'
|
59
59
|
name: 'Google HTTP Java Client'
|
60
60
|
version: '$1'
|
61
61
|
|
@@ -156,3 +156,22 @@
|
|
156
156
|
- regex: 'gvfs/(?:(\d+[\.\d]+))?'
|
157
157
|
name: 'gvfs'
|
158
158
|
version: '$1'
|
159
|
+
|
160
|
+
# https://openwrt.org/packages/pkgdata/uclient-fetch
|
161
|
+
- regex: 'uclient-fetch'
|
162
|
+
name: 'uclient-fetch'
|
163
|
+
version: ''
|
164
|
+
|
165
|
+
# https://github.com/microsoft/cpprestsdk
|
166
|
+
- regex: 'cpprestsdk/([\.\d]+)'
|
167
|
+
name: 'C++ REST SDK'
|
168
|
+
version: '$1'
|
169
|
+
|
170
|
+
- regex: 'lua-resty-http/([\.\d]+).+ngx_'
|
171
|
+
name: 'LUA OpenResty NGINX'
|
172
|
+
version: '$1'
|
173
|
+
|
174
|
+
# https://github.com/Kong/unirest-java
|
175
|
+
- regex: 'unirest-java/([\.\d]+)'
|
176
|
+
name: 'Unirest for Java'
|
177
|
+
version: '$1'
|
@@ -105,7 +105,7 @@
|
|
105
105
|
name: 'mpv'
|
106
106
|
version: '$1'
|
107
107
|
|
108
|
-
- regex: 'foobar2000(?:/([\
|
108
|
+
- regex: 'foobar2000(?:/([\w\.]+))?'
|
109
109
|
name: 'foobar2000'
|
110
110
|
version: '$1'
|
111
111
|
|
@@ -113,7 +113,7 @@
|
|
113
113
|
name: 'HTC Streaming Player'
|
114
114
|
version: ''
|
115
115
|
|
116
|
-
- regex: 'MediaGo(?:/([\
|
116
|
+
- regex: 'MediaGo(?:/([\w\.]+))?'
|
117
117
|
name: 'Sony Media Go'
|
118
118
|
version: '$1'
|
119
119
|
|