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