device_detector 1.0.3 → 1.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +15 -0
  3. data/README.md +8 -7
  4. data/lib/device_detector/bot.rb +2 -2
  5. data/lib/device_detector/browser.rb +364 -0
  6. data/lib/device_detector/client.rb +11 -2
  7. data/lib/device_detector/device.rb +1247 -22
  8. data/lib/device_detector/memory_cache.rb +5 -5
  9. data/lib/device_detector/metadata_extractor.rb +7 -8
  10. data/lib/device_detector/model_extractor.rb +3 -3
  11. data/lib/device_detector/name_extractor.rb +2 -2
  12. data/lib/device_detector/os.rb +150 -116
  13. data/lib/device_detector/parser.rb +23 -10
  14. data/lib/device_detector/version.rb +1 -1
  15. data/lib/device_detector/version_extractor.rb +29 -2
  16. data/lib/device_detector.rb +73 -40
  17. data/regexes/bots.yml +868 -62
  18. data/regexes/client/browser_engine.yml +11 -2
  19. data/regexes/client/browsers.yml +1132 -112
  20. data/regexes/client/feed_readers.yml +5 -11
  21. data/regexes/client/libraries.yml +86 -2
  22. data/regexes/client/mediaplayers.yml +39 -3
  23. data/regexes/client/mobile_apps.yml +940 -66
  24. data/regexes/client/pim.yml +66 -3
  25. data/regexes/device/cameras.yml +6 -6
  26. data/regexes/device/car_browsers.yml +23 -3
  27. data/regexes/device/consoles.yml +15 -3
  28. data/regexes/device/mobiles.yml +18351 -3566
  29. data/regexes/device/notebooks.yml +114 -0
  30. data/regexes/device/portable_media_player.yml +36 -9
  31. data/regexes/device/shell_tv.yml +117 -0
  32. data/regexes/device/televisions.yml +440 -35
  33. data/regexes/oss.yml +635 -284
  34. data/regexes/vendorfragments.yml +5 -1
  35. metadata +21 -118
  36. data/.gitignore +0 -14
  37. data/.travis.yml +0 -14
  38. data/Gemfile +0 -8
  39. data/Rakefile +0 -96
  40. data/device_detector.gemspec +0 -26
  41. data/spec/device_detector/bot_fixtures_spec.rb +0 -30
  42. data/spec/device_detector/client_fixtures_spec.rb +0 -31
  43. data/spec/device_detector/concrete_user_agent_spec.rb +0 -135
  44. data/spec/device_detector/detector_fixtures_spec.rb +0 -100
  45. data/spec/device_detector/device_fixtures_spec.rb +0 -36
  46. data/spec/device_detector/device_spec.rb +0 -151
  47. data/spec/device_detector/memory_cache_spec.rb +0 -148
  48. data/spec/device_detector/model_extractor_spec.rb +0 -63
  49. data/spec/device_detector/os_fixtures_spec.rb +0 -26
  50. data/spec/device_detector/version_extractor_spec.rb +0 -79
  51. data/spec/device_detector_spec.rb +0 -189
  52. data/spec/fixtures/client/browser.yml +0 -2206
  53. data/spec/fixtures/client/feed_reader.yml +0 -199
  54. data/spec/fixtures/client/library.yml +0 -175
  55. data/spec/fixtures/client/mediaplayer.yml +0 -163
  56. data/spec/fixtures/client/mobile_app.yml +0 -193
  57. data/spec/fixtures/client/pim.yml +0 -115
  58. data/spec/fixtures/detector/bots.yml +0 -3260
  59. data/spec/fixtures/detector/camera.yml +0 -121
  60. data/spec/fixtures/detector/car_browser.yml +0 -21
  61. data/spec/fixtures/detector/console.yml +0 -281
  62. data/spec/fixtures/detector/desktop.yml +0 -5361
  63. data/spec/fixtures/detector/feature_phone.yml +0 -891
  64. data/spec/fixtures/detector/feed_reader.yml +0 -551
  65. data/spec/fixtures/detector/mediaplayer.yml +0 -210
  66. data/spec/fixtures/detector/mobile_apps.yml +0 -456
  67. data/spec/fixtures/detector/phablet.yml +0 -3785
  68. data/spec/fixtures/detector/portable_media_player.yml +0 -178
  69. data/spec/fixtures/detector/smart_display.yml +0 -61
  70. data/spec/fixtures/detector/smartphone-1.yml +0 -9953
  71. data/spec/fixtures/detector/smartphone-10.yml +0 -9924
  72. data/spec/fixtures/detector/smartphone-11.yml +0 -9889
  73. data/spec/fixtures/detector/smartphone-12.yml +0 -8655
  74. data/spec/fixtures/detector/smartphone-2.yml +0 -9967
  75. data/spec/fixtures/detector/smartphone-3.yml +0 -9887
  76. data/spec/fixtures/detector/smartphone-4.yml +0 -9911
  77. data/spec/fixtures/detector/smartphone-5.yml +0 -9933
  78. data/spec/fixtures/detector/smartphone-6.yml +0 -9923
  79. data/spec/fixtures/detector/smartphone-7.yml +0 -9892
  80. data/spec/fixtures/detector/smartphone-8.yml +0 -9896
  81. data/spec/fixtures/detector/smartphone-9.yml +0 -9928
  82. data/spec/fixtures/detector/smartphone.yml +0 -9984
  83. data/spec/fixtures/detector/tablet-1.yml +0 -10023
  84. data/spec/fixtures/detector/tablet-2.yml +0 -9968
  85. data/spec/fixtures/detector/tablet-3.yml +0 -7787
  86. data/spec/fixtures/detector/tablet.yml +0 -9951
  87. data/spec/fixtures/detector/tv.yml +0 -3333
  88. data/spec/fixtures/detector/unknown.yml +0 -3283
  89. data/spec/fixtures/device/camera.yml +0 -19
  90. data/spec/fixtures/device/car_browser.yml +0 -7
  91. data/spec/fixtures/device/console.yml +0 -79
  92. data/spec/fixtures/parser/oss.yml +0 -1047
  93. data/spec/fixtures/parser/vendorfragments.yml +0 -162
  94. data/spec/spec_helper.rb +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: d05eccb050bff6aa4688bd53d886e93df0925d5e
4
- data.tar.gz: a197886f998a925a7cdc9f0b238556cfec2cff96
2
+ SHA256:
3
+ metadata.gz: cf2f053badb0bf6d448acd7e43f7ddc704a556d3a0049985be6f8f04a658e109
4
+ data.tar.gz: 6254e2e2b15669a9dc561f856b41d0e27bc075b9fe3b978e59569f863ef568d4
5
5
  SHA512:
6
- metadata.gz: 5fbece6531362b1125f35d8fb578e0e559bb003026cc7f2e45a72314fc416ef0cc3bc452baadd95f0ec2129c52f4211d1660a8c0268ecedb36b8c112a26be214
7
- data.tar.gz: 5322208277526dbbfceb78924d6c15da242a7a5c958e89b6587bfc6c5b2904f5ae2e1b378c9e23022e743e4c5111c8654204dad409c9ec1fc59344bb853d97f5
6
+ metadata.gz: 7af37852e13dcf08642c6a5f89631d3457af5daae1bb36f092b8df5f7b757c1d8c76f3549431f479513e6823b03cbb1f2b583422fab371de9143db887d175cd5
7
+ data.tar.gz: 3bb70427bc65393a7fe0f502009a9bcda0e775b9c0343179054e6f4d59d2301e161bdb1f232ebfdc4b3542a2e04a5284a92ec6955f2d125b481bce474dd86c7b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Change Log
2
2
 
3
+ ## [1.0.7]
4
+ - Updated detection rules from upstream on 2022-02-17
5
+ - Fixes Ruby warnings when compiling RegExes ([#89](https://github.com/podigee/device_detector/issues/89), [#91](https://github.com/podigee/device_detector/issues/91))
6
+
7
+ ## [1.0.6]
8
+ - Updated detection rules from upstream on 2021-10-28
9
+
10
+ ## [1.0.5]
11
+ - Updated detection rules from upstream on 2020-10-06
12
+
13
+ ## [1.0.4]
14
+ - Updated detection rules from upstream on 2020-06-23
15
+ - [Issue #69](https://github.com/podigee/device_detector/issues/69): Performance: RegExp definitions are only loaded once.
16
+ - [Issue #74](https://github.com/podigee/device_detector/issues/74): Development: Added Rubocop
17
+
3
18
  ## [1.0.3]
4
19
  - Updated detection rules from upstream on 2019-12-09
5
20
 
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # DeviceDetector
2
2
 
3
- [![Build Status](https://travis-ci.org/podigee/device_detector.svg?branch=develop)](https://travis-ci.org/podigee/device_detector)
3
+ [![CI](https://github.com/podigee/device_detector/workflows/CI/badge.svg)](https://github.com/podigee/device_detector/actions)
4
4
 
5
5
  DeviceDetector is a precise and fast user agent parser and device detector written in Ruby, backed by the largest and most up-to-date user agent database.
6
6
 
@@ -47,8 +47,9 @@ client.os_full_version # => '8'
47
47
 
48
48
  # For many devices, you can also query the device name (usually the model name)
49
49
  client.device_name # => 'iPhone 5'
50
- # Device types can be one of the following: desktop, smartphone, tablet, console,
51
- # portable media player, tv, car browser, camera
50
+ # Device types can be one of the following: desktop, smartphone, tablet,
51
+ # feature phone, console, tv, car browser, smart display, camera,
52
+ # portable media player, phablet, smart speaker, wearable, peripheral
52
53
  client.device_type # => 'smartphone'
53
54
  ```
54
55
 
@@ -134,19 +135,19 @@ useragent 4.450000 0.000000 4.450000 ( 4.452741)
134
135
 
135
136
  ## Detectable clients, bots and devices
136
137
 
137
- Updated on 2019-12-09
138
+ Updated on 2022-02-17
138
139
 
139
140
  ### Bots
140
141
 
141
- 360Spider, Aboundexbot, Acoon, AddThis.com, ADMantX, aHrefs Bot, Alexa Crawler, Alexa Site Audit, Amazon Route53 Health Check, Amorank Spider, Analytics SEO Crawler, ApacheBench, Applebot, Arachni, archive.org bot, Ask Jeeves, Backlink-Check.de, BacklinkCrawler, Baidu Spider, BazQux Reader, BingBot, BitlyBot, Blekkobot, BLEXBot Crawler, Bloglovin, Blogtrottr, BoardReader Blog Indexer, Bountii Bot, Browsershots, BUbiNG, Butterfly Robot, CareerBot, Castro 2, Catchpoint, ccBot crawler, Charlotte, Cliqzbot, CloudFlare Always Online, CloudFlare AMP Fetcher, Collectd, CommaFeed, CSS Certificate Spider, Cốc Cốc Bot, Datadog Agent, Datanyze, Dataprovider, Daum, Dazoobot, Discobot, Domain Re-Animator Bot, DotBot, DuckDuckGo Bot, Easou Spider, eCairn-Grabber, EMail Exractor, EmailWolf, evc-batch, ExaBot, ExactSeek Crawler, Ezooms, Facebook External Hit, Feed Wrangler, Feedbin, FeedBurner, Feedly, Feedspot, Fever, Findxbot, Flipboard, FreshRSS, Generic Bot, Genieo Web filter, Gigablast, Gigabot, Gluten Free Crawler, Gmail Image Proxy, Goo, Google Favicon, Google PageSpeed Insights, Google Partner Monitoring, Google Search Console, Google Structured Data Testing Tool, Googlebot, Grapeshot, Heritrix, Heureka Feed, HTTPMon, HubPages, HubSpot, ICC-Crawler, ichiro, IIS Site Analysis, Inktomi Slurp, inoreader, IP-Guide Crawler, IPS Agent, Kouio, Larbin web crawler, Let's Encrypt Validation, Lighthouse, Linkdex Bot, LinkedIn Bot, LTX71, Lycos, Magpie-Crawler, MagpieRSS, Mail.Ru Bot, masscan, Mastodon Bot, Meanpath Bot, MetaInspector, MetaJobBot, Mixrank Bot, MJ12 Bot, Mnogosearch, MojeekBot, Monitor.Us, Munin, Nagios check_http, NalezenCzBot, nbertaupete95, Netcraft Survey Bot, netEstate, NetLyzer FastProbe, NetResearchServer, Netvibes, NewsBlur, NewsGator, NLCrawler, Nmap, Nutch-based Bot, Nuzzel, Octopus, Omgili bot, Openindex Spider, OpenLinkProfiler, OpenWebSpider, Orange Bot, Outbrain, PagePeeker, PaperLiBot, Phantomas, PHP Server Monitor, Picsearch bot, Pingdom Bot, Pinterest, PocketParser, Pompos, PritTorrent, QuerySeekerSpider, Quora Link Preview, Qwantify, Rainmeter, RamblerMail Image Proxy, Reddit Bot, Riddler, Rogerbot, ROI Hunter, RSSRadio Bot, SafeDNSBot, Scooter, ScoutJet, Scrapy, Screaming Frog SEO Spider, ScreenerBot, Semrush Bot, Sensika Bot, Sentry Bot, SEOENGBot, SEOkicks-Robot, Seoscanners.net, Server Density, Seznam Bot, Seznam Email Proxy, Seznam Zbozi.cz, ShopAlike, Shopify Partner, ShopWiki, SilverReader, SimplePie, SISTRIX Crawler, SISTRIX Optimizer, Site24x7 Website Monitoring, SiteSucker, Sixy.ch, Skype URI Preview, Slackbot, Snapchat Proxy, Sogou Spider, Soso Spider, Sparkler, Speedy, Spinn3r, Spotify, Sputnik Bot, sqlmap, SSL Labs, StatusCake, Superfeedr Bot, Survey Bot, Tarmot Gezgin, TelegramBot, The Knowledge AI, theoldreader, TinEye Crawler, Tiny Tiny RSS, TLSProbe, Trendiction Bot, TurnitinBot, TweetedTimes Bot, Tweetmeme Bot, Twingly Recon, Twitterbot, UkrNet Mail Proxy, UniversalFeedParser, Uptime Robot, Uptimebot, URLAppendBot, Vagabondo, Visual Site Mapper Crawler, VK Share Button, W3C CSS Validator, W3C I18N Checker, W3C Link Checker, W3C Markup Validation Service, W3C MobileOK Checker, W3C Unified Validator, Wappalyzer, WebbCrawler, WebPageTest, WebSitePulse, WebThumbnail, WeSEE:Search, Willow Internet Crawler, WordPress, Wotbox, YaCy, Yahoo Gemini, Yahoo! Cache System, Yahoo! Link Preview, Yahoo! Slurp, Yandex Bot, Yeti/Naverbot, Yottaa Site Monitor, Youdao Bot, Yourls, Yunyun Bot, Zao, zgrab, Zookabot, ZumBot
142
+ 360Spider, Aboundexbot, Acoon, Adbeat, AddThis.com, ADMantX, ADmantX Service Fetcher, Adsbot, aHrefs Bot, Alexa Crawler, Alexa Site Audit, Amazon Bot, Amazon Route53 Health Check, Amorank Spider, Analytics SEO Crawler, ApacheBench, Applebot, AppSignalBot, Arachni, archive.org bot, ArchiveBox, Ask Jeeves, AspiegelBot, Awario, Backlink-Check.de, BacklinkCrawler, Baidu Spider, Barkrowler, BazQux Reader, BDCbot, Better Uptime Bot, BingBot, BitlyBot, Blekkobot, BLEXBot Crawler, Bloglovin, Blogtrottr, BoardReader, BoardReader Blog Indexer, Bountii Bot, BrandVerity, Browsershots, BUbiNG, Buck, BuiltWith, Butterfly Robot, Bytespider, CareerBot, Castro 2, Catchpoint, CATExplorador, ccBot crawler, CensysInspect, Charlotte, Choosito, Cincraw, CISPA Web Analyzer, Cliqzbot, CloudFlare Always Online, CloudFlare AMP Fetcher, Cloudflare Diagnostics, Cocolyzebot, Collectd, colly, CommaFeed, Comscore, ContentKing, Cookiebot, Crawldad, CSS Certificate Spider, Cốc Cốc Bot, Datadog Agent, DataForSeoBot, datagnionbot, Datanyze, Dataprovider, DataXu, Daum, Dazoobot, Discobot, Discord Bot, Domain Re-Animator Bot, Domains Project, DotBot, Dotcom Monitor, DuckDuckGo Bot, Easou Spider, eCairn-Grabber, EMail Exractor, EmailWolf, Embedly, evc-batch, ExaBot, ExactSeek Crawler, Expanse, eZ Publish Link Validator, Ezooms, Facebook External Hit, Feed Wrangler, Feedbin, FeedBurner, Feedly, Feedspot, Fever, Findxbot, Flipboard, FreshRSS, GDNP, Generic Bot, Genieo Web filter, Gigablast, Gigabot, Gluten Free Crawler, Gmail Image Proxy, Gobuster, Goo, Google Cloud Scheduler, Google Favicon, Google PageSpeed Insights, Google Partner Monitoring, Google Search Console, Google Stackdriver Monitoring, Google StoreBot, Google Structured Data Testing Tool, Googlebot, Gowikibot, Grammarly, Grapeshot, GTmetrix, Hatena Favicon, Heart Rails Capture, Heritrix, Heureka Feed, HTTPMon, httpx, HuaweiWebCatBot, HubPages, HubSpot, ICC-Crawler, ichiro, IDG/IT, IIS Site Analysis, Inktomi Slurp, inoreader, IONOS Crawler, IP-Guide Crawler, IPS Agent, JungleKeyThumbnail, K6, Kaspersky, KomodiaBot, Kouio, l9tcpid, Larbin web crawler, LCC, Let's Encrypt Validation, Lighthouse, Linespider, Linkdex Bot, LinkedIn Bot, LinkpadBot, LinkPreview, LTX71, LumtelBot, Lycos, Magpie-Crawler, MagpieRSS, Mail.Ru Bot, masscan, Mastodon Bot, Meanpath Bot, Mediatoolkit Bot, MegaIndex, MetaInspector, MetaJobBot, MicroAdBot, Mixrank Bot, MJ12 Bot, Mnogosearch, MojeekBot, Monitor.Us, MTRobot, Munin, MuscatFerret, Nagios check_http, NalezenCzBot, nbertaupete95, Neevabot, Netcraft Survey Bot, netEstate, NetLyzer FastProbe, NetResearchServer, NetSystemsResearch, Netvibes, NewsBlur, NewsGator, Nimbostratus Bot, NLCrawler, Nmap, Notify Ninja, Nutch-based Bot, Nuzzel, oBot, Octopus, Odnoklassniki Bot, Omgili bot, Openindex Spider, OpenLinkProfiler, OpenWebSpider, Orange Bot, Outbrain, PagePeeker, PageThing, PaperLiBot, parse.ly, Petal Bot, Phantomas, PHP Server Monitor, Picsearch bot, PingAdmin.Ru, Pingdom Bot, Pinterest, PiplBot, Plukkie, PocketParser, Pompos, PritTorrent, Project Resonance, PRTG Network Monitor, QuerySeekerSpider, Quora Bot, Quora Link Preview, Qwantify, Rainmeter, RamblerMail Image Proxy, Reddit Bot, Riddler, Robozilla, RocketMonitorBot, Rogerbot, ROI Hunter, RSSRadio Bot, Ryowl, SabsimBot, SafeDNSBot, Scooter, ScoutJet, Scrapy, Screaming Frog SEO Spider, ScreenerBot, security.txt scanserver, Seekport, Semantic Scholar Bot, Semrush Bot, Sensika Bot, Sentry Bot, Seobility, SEOENGBot, SEOkicks, SEOkicks-Robot, seolyt, Seoscanners.net, Serendeputy Bot, serpstatbot, Server Density, Seznam Bot, Seznam Email Proxy, Seznam Zbozi.cz, ShopAlike, Shopify Partner, ShopWiki, SilverReader, SimplePie, SISTRIX Crawler, SISTRIX Optimizer, Site24x7 Website Monitoring, Siteimprove, SitemapParser-VIPnytt, SiteSucker, Sixy.ch, Skype URI Preview, Slackbot, SMTBot, Snapchat Proxy, Sogou Spider, Soso Spider, Sparkler, Speedy, Spinn3r, Spotify, Sprinklr, Sputnik Bot, Sputnik Favicon Bot, Sputnik Image Bot, sqlmap, SSL Labs, Startpagina Linkchecker, StatusCake, Superfeedr Bot, SurdotlyBot, Survey Bot, Tarmot Gezgin, TelegramBot, The Knowledge AI, theoldreader, ThinkChaos, TinEye Crawler, Tiny Tiny RSS, TLSProbe, TraceMyFile, Trendiction Bot, Turnitin, TurnitinBot, TweetedTimes Bot, Tweetmeme Bot, Twingly Recon, Twitterbot, UkrNet Mail Proxy, UniversalFeedParser, Uptime Robot, Uptimebot, URLAppendBot, Vagabondo, Velen Public Web Crawler, Vercel Bot, VeryHip, Visual Site Mapper Crawler, VK Share Button, W3C CSS Validator, W3C I18N Checker, W3C Link Checker, W3C Markup Validation Service, W3C MobileOK Checker, W3C Unified Validator, Wappalyzer, WebbCrawler, WebDataStats, Weborama, WebPageTest, WebSitePulse, WebThumbnail, WellKnownBot, WeSEE:Search, WeViKaBot, WhatCMS, WikiDo, Willow Internet Crawler, WooRank, WordPress, Wotbox, XenForo, YaCy, Yahoo Gemini, Yahoo! Cache System, Yahoo! Japan BRW, Yahoo! Link Preview, Yahoo! Mail Proxy, Yahoo! Slurp, YaK, Yandex Bot, Yeti/Naverbot, Yottaa Site Monitor, Youdao Bot, Yourls, Yunyun Bot, Zao, Ze List, zgrab, Zookabot, ZoominfoBot, ZumBot
142
143
 
143
144
  ### Clients
144
145
 
145
- 2345 Browser, 360 Browser, 360 Phone Browser, ABrowse, aiohttp, Airmail, Akregator, Aloha Browser, Amaya, Amiga Aweb, Amiga Voyager, Amigo, Android Browser, AndroidDownloadManager, ANT Fresco, AntennaPod, ANTGalio, AOL Shield, Apple News, Apple PubSub, Arora, Atomic Web Browser, Audacious, Avant Browser, Avast Secure Browser, B-Line, Baidu Box App, Baidu Browser, Baidu Spark, Banshee, Barca, BashPodder, Basilisk, Beaker Browser, Beonex, BeyondPod, BingWebApp, BlackBerry Browser, Boxee, bPod, Brave, Breaker, BriskBard, BrowseX, Bunjalloo, Camino, Castro, Castro 2, Charon, Cheetah Browser, Cheshire, Chrome, Chrome Frame, Chrome Mobile, Chrome Mobile iOS, Chrome Webview, ChromePlus, Chromium, Clementine, CM Browser, Coast, Coc Coc, CometBird, Comodo Dragon, Conkeror, CoolNovo, CrosswalkApp, Cunaguaro, curl, Cyberfox, DAVdroid, dbrowser, Deepnet Explorer, Deezer, Dillo, DoggCatcher, Dolphin, Dooble, Dorado, douban App, Downcast, DuckDuckGo Privacy Browser, Ecosia, Element Browser, Elinks, Epic, Espial TV Browser, Facebook, Facebook Messenger, Faraday, FeedDemon, Feeddler RSS Reader, FeedR, Fennec, Firebird, Firefox, Firefox Focus, Firefox Mobile, Firefox Mobile iOS, Firefox Rocket, Fireweb, Fireweb Navigator, Flipboard App, Flock, Fluid, FlyCast, Foobar2000, FreeU, Galeon, GNOME Web, Go-http-client, Google Earth, Google HTTP Java Client, Google Play Newsstand, Google Plus, Google Search App, gPodder, Guzzle (PHP HTTP Client), Hawk Turbo Browser, Headless Chrome, hola! Browser, HotJava, HTTP_Request2, HTTPie, Huawei Browser, IBrowse, iCab, iCab Mobile, iCatcher, IceCat, IceDragon, Iceweasel, IE Mobile, Instacast, Instagram App, Internet Explorer, Iridium, Iron, Iron Mobile, Isivioo, iTunes, Jasmine, Java, JetBrains Omea Reader, Jig Browser, Jio Browser, K-meleon, K.Browser, Kapiko, Kazehakase, Kindle Browser, Kiwi, Kodi, Konqueror, Kylo, LG Browser, libdnf, LieBaoFast, Liferea, Line, Links, Lotus Notes, LuaKit, Lunascape, Lynx, MailBar, Maxthon, Mechanize, MediaMonkey, Mercury, MicroB, Microsoft Edge, Microsoft Outlook, Midori, Mint Browser, Miro, MIUI Browser, Mobicip, Mobile Safari, Mobile Silk, NCSA Mosaic, NetFront, NetFront Life, NetNewsWire, NetPositive, Netscape, NetSurf, NewsArticle App, Newsbeuter, NewsBlur, NewsBlur Mobile App, NexPlayer, Nightingale, Nokia Browser, Nokia OSS Browser, Nokia Ovi Browser, Nox Browser, NTENT Browser, Obigo, Oculus Browser, Odyssey Web Browser, Off By One, OkHttp, OmniWeb, ONE Browser, Openwave Mobile Browser, Opera, Opera Devices, Opera Mini, Opera Mini iOS, Opera Mobile, Opera Neon, Opera Next, Opera Touch, Oppo Browser, Oregano, Otter Browser, Outlook Express, Overcast, Pale Moon, Palm Blazer, Palm Pre, Palm WebPro, Palmscape, Perl, Phoenix, Pinterest, Player FM, Pocket Casts, Podcast & Radio Addict, Podcast Republic, Podcasts, Podcat, Podcatcher Deluxe, Podkicker, Polaris, Polarity, Postbox, PritTorrent, Puffin, Pulp, Python Requests, Python urllib, QQ Browser, QQ Browser Mini, QtWebEngine, QuickTime, QuiteRSS, QupZilla, Qutebrowser, Qwant Mobile, ReadKit, Realme Browser, Reeder, Rekonq, REST Client for Ruby, RestSharp, RockMelt, RSS Bandit, RSS Junkie, RSSOwl, RSSRadio, Safari, Sailfish Browser, Samsung Browser, SeaMonkey, SEMC-Browser, Seraphic Sraf, Seznam Browser, Shiira, Sina Weibo, Skyfire, Sleipnir, Snowshoe, Sogou Explorer, Sogou Mobile Browser, SogouSearch App, Songbird, Sputnik Browser, Stagefright, Streamy, Stringer, SubStream, Sunrise, SuperBird, Swiftfox, TenFourFox, Tenta Browser, The Bat!, Thunderbird, tieba, Tizen Browser, TweakStyle, UC Browser, UC Browser Mini, urlgrabber (yum), Vision Mobile Browser, Vivaldi, vivo Browser, VLC, Waterfox, Web Explorer, WebPositive, WeChat, WeTab Browser, Wget, Whale Browser, WhatsApp, Winamp, Windows Media Player, wOSBrowser, WWW-Mechanize, XBMC, Xiino, Yahoo! Japan, Yandex Browser, Yandex Browser Lite, Yelp Mobile, YouTube
146
+ 115 Browser, 1Password, 2345 Browser, 2tch, 360 Browser, 360 Phone Browser, 7654 Browser, 7Star, ABrowse, Adobe Creative Cloud, Adobe Synchronizer, Aha Radio 2, AIDA64, aiohttp, Airmail, Akka HTTP, Akregator, Alexa Media Player, AliExpress, Aloha Browser, Aloha Browser Lite, Amaya, Amiga Aweb, Amiga Voyager, Amigo, Android Browser, AndroidDownloadManager, ANT Fresco, AntennaPod, ANTGalio, AOL Desktop, AOL Shield, Apple News, Apple PubSub, Arctic Fox, Aria2, Arora, Arvin, ASUS Updater, Atom, Atomic Web Browser, Audacious, Avant Browser, Avast Secure Browser, AVG Secure Browser, Avid Link, Avira Scout, AwoX, B-Line, Background Intelligent Transfer Service, Baidu Box App, Baidu Browser, Baidu Spark, Banshee, Barca, Basecamp, BashPodder, Basilisk, BathyScaphe, Battle.net, BB2C, BBC News, Be Focused, Beaker Browser, Beamrise, Beonex, BetBull, BeyondPod, Bible KJV, Binance, BingWebApp, Bitsboard, Biyubi, BlackBerry Browser, Blackboard, BlackHawk, Blitz, Blue Browser, Blue Proxy, BlueStacks, Bonsai, Bookshelf, Borealis Navigator, Bose Music, Boxee, bPod, Brave, Breaker, BriskBard, BrowseX, Browzar, Bunjalloo, Byffox, C++ REST SDK, Camino, CastBox, Castro, Castro 2, CCleaner, Centaury, CGN, ChanjetCloud, Charon, Chedot, Cheetah Browser, Cheshire, Chim Lac, ChMate, Chrome, Chrome Frame, Chrome Mobile, Chrome Mobile iOS, Chrome Update, Chrome Webview, ChromePlus, Chromium, Chromium GOST, Ciisaa, Clementine, Clovia, CM Browser, COAF SMART Citizen, Coast, Coc Coc, Colibri, CometBird, Comodo Dragon, Conkeror, CoolBrowser, CoolNovo, Copied, Cornowser, Cortana, COS Browser, Covenant Eyes, CPU-Z, Craving Explorer, Crazy Browser, CrosswalkApp, Crusta, Cunaguaro, curl, Cyberfox, DAVdroid, dbrowser, Deepnet Explorer, Deezer, deg-degan, Deledao, Delta Browser, DeskBrowse, DevCasts, DeviantArt, Dillo, DingTalk, Discord, DoggCatcher, Dolphin, Dooble, Dorado, Dot Browser, douban App, Downcast, Dr. Watson, DuckDuckGo Privacy Browser, Ecosia, Edge Update, Edge WebView, Element Browser, Elements Browser, Elinks, Embarcadero URI Client, Emby Theater, Epic, Epic Games Launcher, ESET Remote Administrator, Espial TV Browser, eToro, EUI Browser, Evernote, Evolve Podcast, eZ Browser, F-Secure SAFE, Facebook, Facebook Audience Network, Facebook Groups, Facebook Lite, Facebook Messenger, Facebook Messenger Lite, Falkon, Faraday, Faux Browser, FeedDemon, Feeddler RSS Reader, FeedR, Fennec, Firebird, Firefox, Firefox Focus, Firefox Mobile, Firefox Mobile iOS, Firefox Reality, Firefox Rocket, Fireweb, Fireweb Navigator, Flash Browser, Flast, Flipboard App, Flipp, Flock, Flow, Fluid, FlyCast, Focus Keeper, Focus Matrix, foobar2000, Foobar2000, Franz, FreeU, Gaana, Galeon, Ghostery Privacy Browser, GinxDroid Browser, Git, GitHub Desktop, Glass Browser, GlobalProtect, GNOME Web, Go-http-client, GoBrowser, GOG Galaxy, GoNative, Google Drive, Google Earth, Google Earth Pro, Google Fiber TV, Google Go, Google HTTP Java Client, Google Play Newsstand, Google Plus, Google Podcasts, Google Search App, Google Tag Manager, gPodder, GRequests, Guzzle (PHP HTTP Client), gvfs, HandBrake, Harman Browser, HasBrowser, Hawk Quick Browser, Hawk Turbo Browser, Headless Chrome, Helio, HeyTapBrowser, Hik-Connect, HiSearch, hola! Browser, HotJava, HP Smart, HTC Streaming Player, HTTP_Request2, HTTPie, Huawei Browser, Huawei Browser Mobile, IBrowse, iBrowser, iBrowser Mini, iCab, iCab Mobile, iCatcher, IceCat, IceDragon, Iceweasel, IE Mobile, IMO HD Video Calls & Chat, IMO International Calls & Chat, Instabridge, Instacast, Instagram App, Instapaper, Internet Explorer, Iridium, Iron, Iron Mobile, Isivioo, iTunes, Jakarta Commons HttpClient, JaneStyle, JaneView, Japan Browser, Jasmine, Java, JavaFX, JetBrains Omea Reader, Jig Browser, Jig Browser Plus, Jio Browser, Jungle Disk, K-meleon, K.Browser, KakaoTalk, Kapiko, Kazehakase, Keeper Password Manager, Kik, Kindle Browser, Kinza, Kiwi, Kode Browser, Kodi, Konqueror, Kylo, Lagatos Browser, Landis+Gyr AIM Browser, LG Browser, libdnf, LieBaoFast, Liferea, Light, Line, LinkedIn, Links, Live5ch, Logi Options+, Lolifox, Lotus Notes, Lovense Browser, LT Browser, LUA OpenResty NGINX, LuaKit, Lulumi, Lunascape, Lunascape Lite, Lynx, Maelstrom, MailBar, Mailbird, Mailspring, Mandarin, MAUI WAP Browser, Maxthon, mCent, Mechanize, MediaMonkey, Meizu Browser, Mercury, MetaTrader, MicroB, Microsoft Bing Search, Microsoft Edge, Microsoft Office $1, Microsoft Office Mobile, Microsoft OneDrive, Microsoft Outlook, Microsoft Store, Midori, Mikrotik Fetch, Minimo, Mint Browser, Miro, MIUI Browser, Mobicip, Mobile Safari, Mobile Silk, Monument Browser, MPlayer, mpv, Music Player Daemon, MxNitro, My World, Mypal, Naver, Navigateur Web, NCSA Mosaic, Netflix, NetFront, NetFront Life, NetNewsWire, NetPositive, Netscape, NetSurf, NewsArticle App, Newsbeuter, NewsBlur, NewsBlur Mobile App, NexPlayer, Nextcloud, NFS Browser, Nightingale, Node Fetch, Nokia Browser, Nokia OSS Browser, Nokia Ovi Browser, Notion, Nox Browser, NPR One, NTENT Browser, NTV Mobil, NuMuKi Browser, Obigo, OceanHero, Oculus Browser, Odin, Odnoklassniki, Odyssey Web Browser, Off By One, OfferUp, OhHai Browser, OkHttp, OmniWeb, ONE Browser, Opal Travel, OpenFin, Openwave Mobile Browser, Opera, Opera Devices, Opera GX, Opera Mini, Opera Mini iOS, Opera Mobile, Opera Neon, Opera News, Opera Next, Opera Touch, Oppo Browser, Orca, Ordissimo, Oregano, Origin In-Game Overlay, Origyn Web Browser, Otter Browser, Outlook Express, Overcast, Paint by Number, Pale Moon, Palm Blazer, Palm Pre, Palm WebPro, Palmscape, Pandora, Papers, Peeps dBrowser, Perfect Browser, Perl, Perl REST::Client, Phantom Browser, Phoenix, Phoenix Browser, Pic Collage, Pinterest, Player FM, PlayFree Browser, Pocket Casts, Podbean, Podcast & Radio Addict, Podcast Republic, Podcaster, Podcasts, Podcat, Podcatcher Deluxe, Podimo, Podkicker$1, Polaris, Polarity, PolyBrowser, Polypane, Postbox, Postman Desktop, PowerShell, PritTorrent, PrivacyWall, Procast, PSI Secure Browser, Puffin, Pulp, Python Requests, Python urllib, Q-municate, Qazweb, qBittorrent, QQ Browser, QQ Browser Lite, QQ Browser Mini, QQMusic, QtWebEngine, Quark, Quick Search TV, QuickCast, QuickTime, QuiteRSS, QupZilla, Qutebrowser, Qwant Mobile, RadioPublic, Raindrop.io, Rambox Pro, Rave Social, Razer Synapse, RDDocuments, ReactorNetty, ReadKit, Realme Browser, Reeder, Rekonq, rekordbox, REST Client for Ruby, RestSharp, Roblox, RoboForm, Rocket Chat, RockMelt, RSS Bandit, RSS Junkie, RSSOwl, RSSRadio, Safari, Safe Exam Browser, Sailfish Browser, SalamWeb, Samsung Browser, Samsung Magician, ScalaJ HTTP, SeaMonkey, Secure Browser, Seewo Browser, SEMC-Browser, Seraphic Sraf, Seznam Browser, SFive, Shiira, Shopee, ShowMe, SimpleBrowser, Sina Weibo, Siri, Sizzy, Skyeng Teachers, Skyfire, Skype, Skype for Business, Slack, Sleipnir, Slimjet, Smart Lenovo Browser, Smooz, Snapchat, Snowshoe, Sogou Explorer, Sogou Mobile Browser, SogouSearch App, Songbird, SONOS, Sony Media Go, SP Browser, Spectre Browser, Splash, SPORT1, Sputnik Browser, Stagefright, Stampy Browser, Stargon, START Internet Browser, Steam In-Game Overlay, Streamlabs OBS, Streamy, Strimio, Stringer, SubStream, Sunrise, Super Fast Browser, SuperBird, surf, Sushi Browser, Swiftfox, Swoot, T+Browser, T-Browser, t-online.de Browser, Tao Browser, Teams, TenFourFox, Tenta Browser, The Bat!, The Wall Street Journal, Theyub, Thunder, Thunderbird, tieba, TikTok, Tizen Browser, ToGate, TopBuzz, TradingView, TuneIn Radio, TuneIn Radio Pro, Tungsten, TV Bro, TVirl, TweakStyle, twinkle, Twitter, Twitterrific, U-Cursos, UBrowser, UC Browser, UC Browser HD, UC Browser Mini, UC Browser Turbo, uclient-fetch, Uconnect LIVE, Unibox, Unirest for Java, UnityPlayer, UR Browser, urlgrabber (yum), uTorrent, Uzbl, Venus Browser, Viber, Vision Mobile Browser, Visual Studio Code, Vivaldi, vivo Browser, VLC, VMware AirWatch, Vuhuv, Waterfox, Wattpad, Wayback Machine, Wear Internet Browser, Web Explorer, WebDAV, WebPositive, WeChat, WeChat Share Extension, WeTab Browser, Wget, WH Questions, Whale Browser, WhatsApp, Whisper, Winamp, Windows CryptoAPI, Windows Delivery Optimization, Windows Mail, Windows Media Player, Windows Push Notification Services, Windows Update Agent, WinHttp WinHttpRequest, Wireshark, Wirtschafts Woche, Word Cookies!, wOSBrowser, WWW-Mechanize, XBMC, Xiino, xStand, Xvast, Y8 Browser, Yaani Browser, Yahoo! Japan, Yahoo! Japan Browser, YakYak, Yandex, Yandex Browser, Yandex Browser Lite, Yelp Mobile, Yolo Browser, YouTube, Zalo, ZEPETO, Zetakey, Zoho Chat, Zvu
146
147
 
147
148
  ### Devices
148
149
 
149
- 3Q, 4Good, Acer, Advan, Advance, AGM, Ainol, Airness, Airties, AIS, Aiwa, Akai, Alcatel, AllCall, Allview, Allwinner, Altech UEC, altron, Amazon, AMGOO, Amoi, ANS, Apple, Archos, Arian Space, Ark, Arnova, ARRIS, Ask, Assistant, Asus, Audiovox, AVH, Avvio, Axxion, Azumi Mobile, BangOlufsen, Barnes & Noble, Becker, Beeline, Beetel, BenQ, BenQ-Siemens, BGH, Bird, Bitel, Black Fox, Blackview, Blaupunkt, Blu, Bluboo, Bluegood, Bmobile, bogo, Boway, bq, Bravis, Brondi, Bush, CAGI, Capitel, Captiva, Carrefour, Casio, Casper, Cat, Celkon, Changhong, Cherry Mobile, China Mobile, Clarmin, CnM, Coby Kyros, Comio, Compal, ComTrade Tesla, Concord, ConCorde, Condor, Coolpad, Cowon, CreNova, Crescent, Cricket, Crius Mea, Crosscall, Cube, CUBOT, Cyrus, Danew, Datang, Datsun, Dbtel, Dell, Denver, Desay, DEXP, Dialog, Dicam, Digi, Digicel, Digiland, Digma, DMM, DNS, DoCoMo, Doogee, Doov, Dopod, Doro, Dune HD, E-Boda, E-tel, Easypix, EBEST, Echo Mobiles, ECS, EE, EKO, Eks Mobility, Elenberg, Elephone, Energizer, Energy Sistem, Ergo, Ericsson, Ericy, Essential, Essentielb, Eton, eTouch, Etuline, Eurostar, Evercoss, Evertek, Evolio, Evolveo, EvroMedia, Explay, Extrem, Ezio, Ezze, Fairphone, Famoco, Fengxiang, FiGO, FinePower, Fly, FNB, Fondi, FORME, Forstar, Foxconn, Freetel, Fujitsu, G-TiDE, Garmin-Asus, Gemini, Geotel, Ghia, Gigabyte, Gigaset, Ginzzu, Gionee, GOCLEVER, Goly, GoMobile, Google, Gradiente, Grape, Grundig, Hafury, Haier, HannSpree, Hasee, Hi-Level, Hisense, Hoffmann, Homtom, Hoozo, Hosin, HP, HTC, Huawei, Humax, Hyundai, i-Joy, i-mate, i-mobile, iBall, iBerry, IconBIT, iHunt, Ikea, iKoMo, iLA, IMO Mobile, Impression, iNew, Infinix, InFocus, Inkti, InnJoo, Innostream, Inoi, INQ, Insignia, Intek, Intex, Inverto, iOcean, iPro, Irbis, iRola, iTel, iView, JAY-Tech, Jiayu, Jolla, Just5, K-Touch, Kaan, Kalley, Karbonn, Kazam, KDDI, Kempler & Strauss, Keneksi, Kiano, Kingsun, Kocaso, Kodak, Kogan, Komu, Konka, Konrow, Koobee, KOPO, Koridy, KRONO, Krüger&Matz, KT-Tech, Kumai, Kyocera, LAIQ, Land Rover, Landvo, Lanix, Lark, Lava, LCT, Le Pan, Leagoo, Ledstar, LeEco, Lemhoov, Lenco, Lenovo, Leotec, Lephone, Lexand, Lexibook, LG, Lingwin, Loewe, Logicom, Lumus, LYF, M.T.T., M4tel, Majestic, Manta Multimedia, Masstel, Maxwest, Maze, Mecer, Mecool, Mediacom, MediaTek, Medion, MEEG, MegaFon, Meitu, Meizu, Memup, Metz, MEU, MicroMax, Microsoft, Mio, Miray, Mitsubishi, MIXC, MLLED, Mobicel, Mobiistar, Mobiola, Mobistel, Modecom, Mofut, Motorola, Movic, Mpman, MSI, MTC, MTN, MYFON, MyPhone, Myria, MyWigo, Navon, NEC, Neffos, Netgear, NeuImage, Newgen, NEXBOX, Nexian, Nextbit, NextBook, NGM, Nikon, Nintendo, NOA, Noain, Nobby, Noblex, Nokia, Nomi, Nous, NUU Mobile, Nvidia, NYX Mobile, O+, O2, Obi, Odys, Onda, OnePlus, OPPO, Opsson, Orange, Ouki, OUYA, Overmax, Oysters, Palm, Panacom, Panasonic, Pantech, PCBOX, PCD, PCD Argentina, PEAQ, Pentagram, Philips, phoneOne, Pioneer, Pixus, Ployer, Plum, Point of View, Polaroid, PolyPad, Polytron, Pomp, Positivo, PPTV, Prestigio, Primepad, ProScan, PULID, Q-Touch, Qilive, QMobile, Qtek, Quantum, Quechua, R-TV, Ramos, RCA Tablets, Readboy, Rikomagic, RIM, Rinno, Ritmix, Riviera, Rokit, Roku, Rombica, Ross&Moor, Rover, RT Project, Safaricom, Sagem, Samsung, Sanei, Santin BiTBiZ, Sanyo, Savio, Sega, Selevision, Selfix, Sencor, Sendo, Senseit, Senwa, SFR, Sharp, Shuttle, Siemens, Sigma, Silent Circle, Simbans, Sky, Skyworth, Smart, Smartfren, Smartisan, Softbank, Sonim, Sony, Spice, Star, Starway, STF Mobile, STK, Stonex, Storex, Sumvision, SunVan, SuperSonic, Supra, SWISSMOBILITY, Symphony, Syrox, T-Mobile, TB Touch, TCL, TechniSat, TechnoTrend, TechPad, Teclast, Tecno Mobile, Telefunken, Telego, Telenor, Telit, Tesco, Tesla, teXet, ThL, Thomson, TIANYU, Timovi, TiPhone, Tolino, Tooky, Top House, Toplux, Toshiba, Touchmate, TrekStor, Trevi, True, Tunisie Telecom, Turbo-X, TVC, U.S. Cellular, Uhappy, Ulefone, UMIDIGI, Unimax, Uniscope, Unknown, Unnecto, Unonu, Unowhy, UTOK, UTStarcom, Vastking, Venso, Verizon, Vernee, Vertex, Vertu, Verykool, Vestel, VGO TEL, Videocon, Videoweb, ViewSonic, Vinsoc, Vitelcom, Vivax, Vivo, Vizio, VK Mobile, Vodafone, Vonino, Vorago, Voto, Voxtel, Vulcan, Walton, Weimei, WellcoM, Wexler, Wiko, Wileyfox, Wink, Wolder, Wolfgang, Wonu, Woo, Woxter, X-TIGI, X-View, Xiaolajiao, Xiaomi, Xion, Xolo, Yandex, Yarvik, Yes, Yezz, Ytone, Yu, Yuandao, Yusun, Zeemi, Zen, Zenek, Zonda, Zopo, ZTE, Zuum, Zync, ZYQ, öwn
150
+ 2E, 360, 3GNET, 3GO, 3Q, 4Good, 4ife, 7 Mobile, 8848, A1, Accent, Ace, Acer, Acteck, Adronix, Advan, Advance, AfriOne, AG Mobile, AGM, AIDATA, Ainol, Airness, AIRON, Airties, AIS, Aiuto, Aiwa, Akai, AKIRA, Alba, Alcatel, Alcor, ALDI NORD, ALDI SÜD, Alfawise, Aligator, AllCall, AllDocube, Allview, Allwinner, Alps, Altech UEC, Altice, altron, Amazon, AMCV, AMGOO, Amigoo, Amino, Amoi, Andowl, Anker, Anry, ANS, AOC, Aocos, AOpen, Aoson, AOYODKG, Apple, Archos, Arian Space, Ark, ArmPhone, Arnova, ARRIS, Artel, Artizlee, ArtLine, Asano, Asanzo, Ask, Aspera, Assistant, Astro, Asus, AT&T, Atom, Atvio, Audiovox, AURIS, Avenzo, AVH, Avvio, Awow, Axioo, Axxion, Azumi Mobile, BangOlufsen, Barnes & Noble, BB Mobile, BBK, BDF, BDQ, Becker, Beeline, Beelink, Beetel, Beista, Bellphone, Benco, BenQ, BenQ-Siemens, Benzo, Beyond, Bezkam, BGH, Bigben, BIHEE, BilimLand, Billion, BioRugged, Bird, Bitel, Bitmore, Bkav, Black Bear, Black Fox, Blackview, Blaupunkt, Bleck, Blloc, Blow, Blu, Bluboo, Bluebird, Bluedot, Bluegood, Bluewave, BMAX, Bmobile, Bobarry, bogo, Boway, bq, Brandt, Bravis, BrightSign, Brondi, BS Mobile, Bubblegum, Bundy, Bush, CAGI, Camfone, Canal Digital, Capitel, Captiva, Carrefour, Casio, Casper, Cat, Cavion, Celcus, Celkon, Cell-C, CellAllure, Cellution, Centric, CG Mobile, CGV, Changhong, Cherry Mobile, Chico Mobile, China Mobile, Chuwi, Claresta, Clarmin, Clementoni, Cloud, Cloudfone, Cloudpad, Clout, CnM, Cobalt, Coby Kyros, Colors, Comio, Compal, ComTrade Tesla, Concord, ConCorde, Condor, Connectce, Connex, Conquest, Contixo, Coolpad, CORN, Cosmote, Covia, Cowon, CreNova, Crescent, Cricket, Crius Mea, Crony, Crosscall, Cube, CUBOT, CVTE, Cyrus, Daewoo, Danew, Datalogic, Datamini, Datang, Datawind, Datsun, Dazen, Dbtel, Dell, Denver, Desay, DeWalt, DEXP, DF, Dialog, Dicam, Digi, Digicel, DIGIFORS, Digihome, Digiland, Digma, DING DING, DISH, Ditecma, Diva, Divisat, DIXON, DMM, DNS, DoCoMo, Doffler, Dolamee, Doogee, Doopro, Doov, Dopod, Doro, Dragon Touch, Dreamgate, Droxio, Dune HD, DUNNS Mobile, E-Boda, E-Ceros, E-tel, Eagle, Easypix, EBEST, Echo Mobiles, ECON, ECS, EE, Einstein, EKO, Eks Mobility, EKT, ELARI, Electroneum, ELECTRONIA, Elekta, Element, Elenberg, Elephone, Eltex, Ematic, Energizer, Energy Sistem, Engel, Enot, Epik One, Epson, Ergo, Ericsson, Ericy, Erisson, Essential, Essentielb, eSTAR, Eton, eTouch, Etuline, Eurocase, Eurostar, Evercoss, Evertek, Evolio, Evolveo, Evoo, EvroMedia, EWIS, EXCEED, Exmart, ExMobile, EXO, Explay, Extrem, Ezio, Ezze, F&U, F150, F2 Mobile, Facebook, Fairphone, Famoco, Fantec, FaRao Pro, FarEasTone, Fengxiang, FEONAL, Fero, FiGi, FiGO, FiiO, FinePower, Finlux, FireFly Mobile, FISE, Fly, FLYCAT, FMT, FNB, FNF, Fondi, Fonos, FORME, Formuler, Forstar, Fortis, Four Mobile, Fourel, Foxconn, Freetel, Fuego, Fujitsu, Fusion5, G-TiDE, G-Touch, Galaxy Innovations, Garmin-Asus, Gateway, Gemini, General Mobile, Genesis, GEOFOX, Geotel, Geotex, GFive, Ghia, Ghong, Ghost, Gigabyte, Gigaset, Gini, Ginzzu, Gionee, Globex, Glofiish, GLONYX, GLX, GOCLEVER, Gocomma, GoGEN, Gol Mobile, Goly, Gome, GoMobile, Google, Goophone, Gooweel, Gplus, Gradiente, Grape, Gree, Greentel, Gresso, Gretel, Grundig, Gtel, H96, Hafury, Haier, HannSpree, Hardkernel, Hasee, Helio, HERO, Hezire, Hi, Hi-Level, High Q, Highscreen, HiMax, Hipstreet, Hisense, Hitachi, Hitech, Hoffmann, Hometech, Homtom, Honeywell, Hoozo, Horizon, Horizont, Hosin, Hot Pepper, Hotel, Hotwav, How, HP, HTC, Huadoo, Huavi, Huawei, Humax, Hurricane, Huskee, Hyundai, Hyve, i-Cherry, i-Joy, i-mate, i-mobile, iBall, iBerry, iBrit, IconBIT, iData, iDroid, iGet, iHunt, Ikea, IKI Mobile, iKoMo, iKon, IKU Mobile, iLA, iLife, iMan, iMars, IMO Mobile, Impression, INCAR, Inch, Inco, iNew, Infinix, InFocus, InfoKit, Inkti, InnJoo, Innos, Innostream, Inoi, INQ, Insignia, INSYS, Intek, Intex, Invens, Inverto, Invin, iOcean, iOutdoor, iPro, iQ&T, IQM, IRA, Irbis, Iris, iRola, iRulu, iSafe Mobile, iSWAG, IT, iTel, iTruck, IUNI, iVA, iView, iVooMi, ivvi, iZotron, JAY-Tech, Jeka, Jesy, JFone, Jiake, Jiayu, Jinga, Jivi, JKL, Jolla, Juniper Systems, Just5, JVC, K-Touch, Kaan, Kaiomy, Kalley, Kanji, Karbonn, Kata, KATV1, Kazam, Kazuna, KDDI, Kempler & Strauss, Keneksi, Kenxinda, Kiano, Kingsun, KINGZONE, Kiowa, Kivi, Klipad, Kocaso, Kodak, Kogan, Komu, Konka, Konrow, Koobee, Koolnee, Kooper, KOPO, Koridy, KREZ, KRIP, KRONO, Krüger&Matz, KT-Tech, KUBO, Kuliao, Kult, Kumai, Kurio, Kvant, Kyocera, Kyowon, Kzen, L-Max, LAIQ, Land Rover, Landvo, Lanix, Lark, Laurus, Lava, LCT, Le Pan, Leader Phone, Leagoo, Leben, Ledstar, LeEco, Leff, LEMFO, Lemhoov, Lenco, Lenovo, Leotec, Lephone, Lesia, Lexand, Lexibook, LG, Liberton, Lifemaxx, Lingwin, Linnex, Linsar, Loewe, Logic, Logicom, Loview, LT Mobile, Lumigon, Lumus, Luna, Luxor, LYF, M-Horse, M-Tech, M.T.T., M4tel, MAC AUDIO, Macoox, Mafe, Magicsee, Magnus, Majestic, Malata, Manhattan, Mann, Manta Multimedia, Mantra, Mara, Masstel, Matrix, Maxcom, Maximus, Maxtron, MAXVI, Maxwest, Maze, Maze Speed, MBOX, MDC Store, MDTV, meanIT, Mecer, Mecool, Mediacom, MediaTek, Medion, MEEG, MegaFon, Meitu, Meizu, Melrose, Memup, Metz, MEU, MicroMax, Microsoft, Microtech, Minix, Mintt, Mio, Mione, Miray, Mito, Mitsubishi, Mitsui, MIVO, MIXC, MiXzo, MLLED, MLS, Mobicel, MobiIoT, Mobiistar, Mobiola, Mobistel, MobiWire, Mobo, Modecom, Mofut, Motorola, Movic, mPhone, Mpman, MSI, MStar, MTC, MTN, Multilaser, MYFON, MyGica, Mymaga, MyPhone, Myria, Myros, Mystery, MyTab, MyWigo, Nabi, Naomi Phone, National, Navcity, Navitech, Navitel, Navon, NavRoad, NEC, Necnot, Neffos, Neomi, Neon IQ, Netgear, NeuImage, New Balance, Newgen, Newland, Newman, Newsday, NewsMy, NEXBOX, Nexian, NEXON, Nextbit, NextBook, NextTab, NG Optics, NGM, Nikon, Nintendo, NOA, Noain, Nobby, Noblex, NOBUX, NOGA, Nokia, Nomi, Nomu, Nordmende, NorthTech, Nos, Nous, Novex, NuAns, Nubia, NUU Mobile, Nuvo, Nvidia, NYX Mobile, O+, O2, Oale, OASYS, Obabox, Obi, Oculus, Odys, OINOM, Ok, Okapia, OKSI, OKWU, Onda, OnePlus, Onix, ONN, ONYX BOOX, OpelMobile, Openbox, OPPO, Opsson, Orange, Orbic, Orbita, Ordissimo, Ouki, Oukitel, OUYA, Overmax, Ovvi, Owwo, Oysters, Oyyu, OzoneHD, P-UP, Packard Bell, Paladin, Palm, Panacom, Panasonic, Pantech, Parrot Mobile, PCBOX, PCD, PCD Argentina, PEAQ, Pendoo, Pentagram, Perfeo, Phicomm, Philco, Philips, Phonemax, phoneOne, Pico, Pioneer, PiPO, Pixela, Pixelphone, Pixus, Planet Computers, Ployer, Plum, Pluzz, PocketBook, POCO, Point of View, Polar, PolarLine, Polaroid, Polestar, PolyPad, Polytron, Pomp, Poppox, POPTEL, Porsche, Positivo, Positivo BGH, PPTV, Premio, Prestigio, Primepad, Primux, Prixton, PROFiLO, Proline, Prology, ProScan, Protruly, ProVision, PULID, Q-Box, Q-Touch, Q.Bell, Qilive, QMobile, Qnet Mobile, QTECH, Qtek, Quantum, Qubo, Quechua, Qumo, R-TV, Rakuten, Ramos, Raspberry, Ravoz, Razer, RCA Tablets, Reach, Readboy, Realme, RED, Redfox, Reeder, REGAL, Remdun, Retroid Pocket, Revo, Rikomagic, RIM, Rinno, Ritmix, Ritzviva, Riviera, Rivo, Roadrover, Rokit, Roku, Rombica, Ross&Moor, Rover, RoverPad, RoyQueen, RT Project, RugGear, Ruio, Runbo, Ryte, S-TELL, Saba, Safaricom, Sagem, Saiet, Salora, Samsung, Sanei, Sansui, Santin, Sanyo, Savio, SCBC, Schneider, Seatel, Seeken, SEG, Sega, Selecline, Selenga, Selevision, Selfix, SEMP TCL, Sencor, Sendo, Senkatel, Senseit, Senwa, Seuic, SFR, Sharp, Shift Phones, Shivaki, Shtrikh-M, Shuttle, Sico, Siemens, Sigma, Silelis, Silent Circle, Simbans, Simply, Singtech, Siragon, Sirin labs, SKG, Sky, Skyworth, Smadl, Smailo, Smart, Smart Electronic, Smartab, SmartBook, SMARTEC, Smartfren, Smartisan, Smarty, Smooth Mobile, Smotreshka, Softbank, Soho Style, SOLE, SOLO, Solone, Sonim, SONOS, Sony, Soundmax, Soyes, Spark, SPC, Spectralink, Spectrum, Spice, Sprint, SQOOL, Star, Starlight, Starmobile, Starway, Starwind, STF Mobile, STG Telecom, STK, Stonex, Storex, StrawBerry, STRONG, Stylo, Subor, Sugar, Sumvision, Sunmi, Sunny, Sunstech, SunVan, Sunvell, SUNWIND, SuperSonic, SuperTab, Supra, Suzuki, Swipe, SWISSMOBILITY, Swisstone, SWTV, Symphony, Syrox, T-Mobile, TAG Tech, Taiga System, Takara, Tambo, Tanix, TB Touch, TCL, TD Systems, Technicolor, Technika, TechniSat, TechnoTrend, TechPad, Techwood, Teclast, Tecno Mobile, TEENO, Teknosa, Tele2, Telefunken, Telego, Telenor, Telia, Telit, Telpo, Tesco, Tesla, Tetratab, teXet, ThL, Thomson, Thuraya, TIANYU, Tigers, Time2, Timovi, Tinai, Tinmo, TiPhone, TiVo, TOKYO, Tolino, Tone, Tooky, Top House, Topelotek, Toplux, Topway, Torex, TOSCIDO, Toshiba, Touchmate, Transpeed, TrekStor, Trevi, Trident, Trifone, Trio, Tronsmart, True, True Slim, TTEC, TuCEL, Tunisie Telecom, Turbo, Turbo-X, TurboKids, TurboPad, Turkcell, TVC, TWM, Twoe, TWZ, Tymes, Türk Telekom, U.S. Cellular, Ugoos, Uhans, Uhappy, Ulefone, Umax, UMIDIGI, Unihertz, Unimax, Uniscope, UNIWA, Unknown, Unnecto, Unonu, Unowhy, Urovo, UTime, UTOK, UTStarcom, UZ Mobile, v-mobile, VAIO, Vankyo, Vargo, Vastking, VAVA, VC, Vega, Venso, Venturer, VEON, Verico, Verizon, Vernee, Vertex, Vertu, Verykool, Vesta, Vestel, Vexia, VGO TEL, Videocon, Videoweb, ViewSonic, Vinabox, Vinga, Vinsoc, Vipro, Virzo, Vision Touch, Vitelcom, Viumee, Vivax, Vivo, VIWA, Vizio, VK Mobile, VKworld, Vodacom, Vodafone, Vonino, Vontar, Vorago, Vorke, Voto, VOX, Voxtel, Voyo, Vsmart, Vsun, Vulcan, VVETIME, Walton, WE, Weimei, WellcoM, WELLINGTON, Western Digital, Westpoint, Wexler, Wieppo, Wigor, Wiko, Wileyfox, Winds, Wink, Winmax, Winnovo, Wintouch, Wiseasy, WIWA, Wizz, Wolder, Wolfgang, Wolki, Wonu, Woo, Wortmann, Woxter, X-BO, X-TIGI, X-View, X.Vision, XGIMI, Xgody, Xiaolajiao, Xiaomi, Xion, Xolo, Xoro, Xshitou, Xtouch, Xtratech, Yandex, Yarvik, YASIN, Yes, Yezz, Yoka TV, Yota, YOTOPT, Ytone, Yu, Yuandao, YUHO, Yuno, Yusun, Yxtel, Zaith, Zatec, Zebra, Zeemi, Zen, Zenek, Zentality, Zfiner, ZH&K, Zidoo, ZIFRO, Ziox, Zonda, Zopo, ZTE, Zuum, Zync, ZYQ, Zyrex, öwn
150
151
 
151
152
  ## Maintainers
152
153
 
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class DeviceDetector
2
4
  class Bot < Parser
3
-
4
5
  def bot?
5
6
  regex_meta.any?
6
7
  end
@@ -10,6 +11,5 @@ class DeviceDetector
10
11
  def filenames
11
12
  ['bots.yml']
12
13
  end
13
-
14
14
  end
15
15
  end
@@ -0,0 +1,364 @@
1
+ # frozen_string_literal: true
2
+
3
+ class DeviceDetector
4
+ class Browser
5
+ AVAILABLE_BROWSERS = {
6
+ '1B' => '115 Browser',
7
+ '2B' => '2345 Browser',
8
+ '36' => '360 Phone Browser',
9
+ '3B' => '360 Browser',
10
+ '7B' => '7654 Browser',
11
+ 'AA' => 'Avant Browser',
12
+ 'AB' => 'ABrowse',
13
+ 'AF' => 'ANT Fresco',
14
+ 'AG' => 'ANTGalio',
15
+ 'AL' => 'Aloha Browser',
16
+ 'AH' => 'Aloha Browser Lite',
17
+ 'AM' => 'Amaya',
18
+ 'AO' => 'Amigo',
19
+ 'AN' => 'Android Browser',
20
+ 'AE' => 'AOL Desktop',
21
+ 'AD' => 'AOL Shield',
22
+ 'AR' => 'Arora',
23
+ 'AX' => 'Arctic Fox',
24
+ 'AV' => 'Amiga Voyager',
25
+ 'AW' => 'Amiga Aweb',
26
+ 'AI' => 'Arvin',
27
+ 'A0' => 'Atom',
28
+ 'AT' => 'Atomic Web Browser',
29
+ 'AS' => 'Avast Secure Browser',
30
+ 'VG' => 'AVG Secure Browser',
31
+ 'AC' => 'Avira Scout',
32
+ 'A1' => 'AwoX',
33
+ 'BA' => 'Beaker Browser',
34
+ 'BM' => 'Beamrise',
35
+ 'BB' => 'BlackBerry Browser',
36
+ 'BD' => 'Baidu Browser',
37
+ 'BS' => 'Baidu Spark',
38
+ 'BI' => 'Basilisk',
39
+ 'BE' => 'Beonex',
40
+ 'BH' => 'BlackHawk',
41
+ 'BJ' => 'Bunjalloo',
42
+ 'BL' => 'B-Line',
43
+ 'BU' => 'Blue Browser',
44
+ 'BN' => 'Borealis Navigator',
45
+ 'BR' => 'Brave',
46
+ 'BK' => 'BriskBard',
47
+ 'BX' => 'BrowseX',
48
+ 'BZ' => 'Browzar',
49
+ 'BY' => 'Biyubi',
50
+ 'BF' => 'Byffox',
51
+ 'CA' => 'Camino',
52
+ 'CL' => 'CCleaner',
53
+ 'C6' => 'Chedot',
54
+ 'C0' => 'Centaury',
55
+ 'CC' => 'Coc Coc',
56
+ 'C4' => 'CoolBrowser',
57
+ 'C2' => 'Colibri',
58
+ 'CD' => 'Comodo Dragon',
59
+ 'C1' => 'Coast',
60
+ 'CX' => 'Charon',
61
+ 'CE' => 'CM Browser',
62
+ 'CF' => 'Chrome Frame',
63
+ 'HC' => 'Headless Chrome',
64
+ 'CH' => 'Chrome',
65
+ 'CI' => 'Chrome Mobile iOS',
66
+ 'CK' => 'Conkeror',
67
+ 'CM' => 'Chrome Mobile',
68
+ 'CN' => 'CoolNovo',
69
+ 'CO' => 'CometBird',
70
+ 'CB' => 'COS Browser',
71
+ 'CW' => 'Cornowser',
72
+ 'C3' => 'Chim Lac',
73
+ 'CP' => 'ChromePlus',
74
+ 'CR' => 'Chromium',
75
+ 'C5' => 'Chromium GOST',
76
+ 'CY' => 'Cyberfox',
77
+ 'CS' => 'Cheshire',
78
+ 'CT' => 'Crusta',
79
+ 'CG' => 'Craving Explorer',
80
+ 'CZ' => 'Crazy Browser',
81
+ 'CU' => 'Cunaguaro',
82
+ 'CV' => 'Chrome Webview',
83
+ 'DB' => 'dbrowser',
84
+ 'DE' => 'Deepnet Explorer',
85
+ 'DG' => 'deg-degan',
86
+ 'DA' => 'Deledao',
87
+ 'DT' => 'Delta Browser',
88
+ 'DS' => 'DeskBrowse',
89
+ 'DF' => 'Dolphin',
90
+ 'DO' => 'Dorado',
91
+ 'DR' => 'Dot Browser',
92
+ 'DL' => 'Dooble',
93
+ 'DI' => 'Dillo',
94
+ 'DD' => 'DuckDuckGo Privacy Browser',
95
+ 'EC' => 'Ecosia',
96
+ 'EW' => 'Edge WebView',
97
+ 'EI' => 'Epic',
98
+ 'EL' => 'Elinks',
99
+ 'EB' => 'Element Browser',
100
+ 'EE' => 'Elements Browser',
101
+ 'EZ' => 'eZ Browser',
102
+ 'EU' => 'EUI Browser',
103
+ 'EP' => 'GNOME Web',
104
+ 'ES' => 'Espial TV Browser',
105
+ 'FA' => 'Falkon',
106
+ 'FX' => 'Faux Browser',
107
+ 'F1' => 'Firefox Mobile iOS',
108
+ 'FB' => 'Firebird',
109
+ 'FD' => 'Fluid',
110
+ 'FE' => 'Fennec',
111
+ 'FF' => 'Firefox',
112
+ 'FK' => 'Firefox Focus',
113
+ 'FY' => 'Firefox Reality',
114
+ 'FR' => 'Firefox Rocket',
115
+ 'FL' => 'Flock',
116
+ 'FO' => 'Flow',
117
+ 'FM' => 'Firefox Mobile',
118
+ 'FW' => 'Fireweb',
119
+ 'FN' => 'Fireweb Navigator',
120
+ 'FS' => 'Flast',
121
+ 'FU' => 'FreeU',
122
+ 'GA' => 'Galeon',
123
+ 'GH' => 'Ghostery Privacy Browser',
124
+ 'GI' => 'GinxDroid Browser',
125
+ 'GB' => 'Glass Browser',
126
+ 'GE' => 'Google Earth',
127
+ 'GO' => 'GOG Galaxy',
128
+ 'GR' => 'GoBrowser',
129
+ 'HS' => 'HasBrowser',
130
+ 'HA' => 'Hawk Turbo Browser',
131
+ 'HE' => 'Helio',
132
+ 'HO' => 'hola! Browser',
133
+ 'HJ' => 'HotJava',
134
+ 'HU' => 'Huawei Browser',
135
+ 'IB' => 'IBrowse',
136
+ 'IC' => 'iCab',
137
+ 'I2' => 'iCab Mobile',
138
+ 'I1' => 'Iridium',
139
+ 'I3' => 'Iron Mobile',
140
+ 'I4' => 'IceCat',
141
+ 'ID' => 'IceDragon',
142
+ 'IV' => 'Isivioo',
143
+ 'IW' => 'Iceweasel',
144
+ 'IE' => 'Internet Explorer',
145
+ 'IM' => 'IE Mobile',
146
+ 'IR' => 'Iron',
147
+ 'JB' => 'Japan Browser',
148
+ 'JS' => 'Jasmine',
149
+ 'JA' => 'JavaFX',
150
+ 'JI' => 'Jig Browser',
151
+ 'JP' => 'Jig Browser Plus',
152
+ 'JO' => 'Jio Browser',
153
+ 'KB' => 'K.Browser',
154
+ 'KI' => 'Kindle Browser',
155
+ 'KM' => 'K-meleon',
156
+ 'KO' => 'Konqueror',
157
+ 'KP' => 'Kapiko',
158
+ 'KN' => 'Kinza',
159
+ 'KW' => 'Kiwi',
160
+ 'KD' => 'Kode Browser',
161
+ 'KY' => 'Kylo',
162
+ 'KZ' => 'Kazehakase',
163
+ 'LB' => 'Cheetah Browser',
164
+ 'LF' => 'LieBaoFast',
165
+ 'LG' => 'LG Browser',
166
+ 'LH' => 'Light',
167
+ 'LI' => 'Links',
168
+ 'IF' => 'Lolifox',
169
+ 'LO' => 'Lovense Browser',
170
+ 'LU' => 'LuaKit',
171
+ 'LL' => 'Lulumi',
172
+ 'LS' => 'Lunascape',
173
+ 'LN' => 'Lunascape Lite',
174
+ 'LX' => 'Lynx',
175
+ 'MD' => 'Mandarin',
176
+ 'M1' => 'mCent',
177
+ 'MB' => 'MicroB',
178
+ 'MC' => 'NCSA Mosaic',
179
+ 'MZ' => 'Meizu Browser',
180
+ 'ME' => 'Mercury',
181
+ 'MF' => 'Mobile Safari',
182
+ 'MI' => 'Midori',
183
+ 'MO' => 'Mobicip',
184
+ 'MU' => 'MIUI Browser',
185
+ 'MS' => 'Mobile Silk',
186
+ 'MN' => 'Minimo',
187
+ 'MT' => 'Mint Browser',
188
+ 'MX' => 'Maxthon',
189
+ 'MA' => 'Maelstrom',
190
+ 'NM' => 'MxNitro',
191
+ 'MY' => 'Mypal',
192
+ 'MR' => 'Monument Browser',
193
+ 'MW' => 'MAUI WAP Browser',
194
+ 'NW' => 'Navigateur Web',
195
+ 'NR' => 'NFS Browser',
196
+ 'NB' => 'Nokia Browser',
197
+ 'NO' => 'Nokia OSS Browser',
198
+ 'NV' => 'Nokia Ovi Browser',
199
+ 'NX' => 'Nox Browser',
200
+ 'NE' => 'NetSurf',
201
+ 'NF' => 'NetFront',
202
+ 'NL' => 'NetFront Life',
203
+ 'NP' => 'NetPositive',
204
+ 'NS' => 'Netscape',
205
+ 'NT' => 'NTENT Browser',
206
+ 'OC' => 'Oculus Browser',
207
+ 'O1' => 'Opera Mini iOS',
208
+ 'OB' => 'Obigo',
209
+ 'O2' => 'Odin',
210
+ 'H2' => 'OceanHero',
211
+ 'OD' => 'Odyssey Web Browser',
212
+ 'OF' => 'Off By One',
213
+ 'HH' => 'OhHai Browser',
214
+ 'OE' => 'ONE Browser',
215
+ 'OX' => 'Opera GX',
216
+ 'OG' => 'Opera Neon',
217
+ 'OH' => 'Opera Devices',
218
+ 'OI' => 'Opera Mini',
219
+ 'OM' => 'Opera Mobile',
220
+ 'OP' => 'Opera',
221
+ 'ON' => 'Opera Next',
222
+ 'OO' => 'Opera Touch',
223
+ 'OA' => 'Orca',
224
+ 'OS' => 'Ordissimo',
225
+ 'OR' => 'Oregano',
226
+ 'O0' => 'Origin In-Game Overlay',
227
+ 'OY' => 'Origyn Web Browser',
228
+ 'OV' => 'Openwave Mobile Browser',
229
+ 'O3' => 'OpenFin',
230
+ 'OW' => 'OmniWeb',
231
+ 'OT' => 'Otter Browser',
232
+ 'PL' => 'Palm Blazer',
233
+ 'PM' => 'Pale Moon',
234
+ 'PY' => 'Polypane',
235
+ 'PP' => 'Oppo Browser',
236
+ 'PR' => 'Palm Pre',
237
+ 'PU' => 'Puffin',
238
+ 'PW' => 'Palm WebPro',
239
+ 'PA' => 'Palmscape',
240
+ 'PE' => 'Perfect Browser',
241
+ 'PH' => 'Phantom Browser',
242
+ 'PX' => 'Phoenix',
243
+ 'PB' => 'Phoenix Browser',
244
+ 'PF' => 'PlayFree Browser',
245
+ 'PO' => 'Polaris',
246
+ 'PT' => 'Polarity',
247
+ 'LY' => 'PolyBrowser',
248
+ 'PI' => 'PrivacyWall',
249
+ 'PS' => 'Microsoft Edge',
250
+ 'QA' => 'Qazweb',
251
+ 'Q2' => 'QQ Browser Lite',
252
+ 'Q1' => 'QQ Browser Mini',
253
+ 'QQ' => 'QQ Browser',
254
+ 'QT' => 'Qutebrowser',
255
+ 'QU' => 'Quark',
256
+ 'QZ' => 'QupZilla',
257
+ 'QM' => 'Qwant Mobile',
258
+ 'QW' => 'QtWebEngine',
259
+ 'RE' => 'Realme Browser',
260
+ 'RK' => 'Rekonq',
261
+ 'RM' => 'RockMelt',
262
+ 'SB' => 'Samsung Browser',
263
+ 'SA' => 'Sailfish Browser',
264
+ 'S8' => 'Seewo Browser',
265
+ 'SC' => 'SEMC-Browser',
266
+ 'SE' => 'Sogou Explorer',
267
+ 'SF' => 'Safari',
268
+ 'S5' => 'Safe Exam Browser',
269
+ 'SW' => 'SalamWeb',
270
+ 'S9' => 'Secure Browser',
271
+ 'SV' => 'SFive',
272
+ 'SH' => 'Shiira',
273
+ 'S1' => 'SimpleBrowser',
274
+ 'SY' => 'Sizzy',
275
+ 'SK' => 'Skyfire',
276
+ 'SS' => 'Seraphic Sraf',
277
+ 'SL' => 'Sleipnir',
278
+ 'S6' => 'Slimjet',
279
+ 'S7' => 'SP Browser',
280
+ 'T1' => 'Stampy Browser',
281
+ '7S' => '7Star',
282
+ 'LE' => 'Smart Lenovo Browser',
283
+ 'OZ' => 'Smooz',
284
+ 'SN' => 'Snowshoe',
285
+ 'SO' => 'Sogou Mobile Browser',
286
+ 'S2' => 'Splash',
287
+ 'SI' => 'Sputnik Browser',
288
+ 'SR' => 'Sunrise',
289
+ 'SP' => 'SuperBird',
290
+ 'SU' => 'Super Fast Browser',
291
+ 'S3' => 'surf',
292
+ 'SG' => 'Stargon',
293
+ 'S0' => 'START Internet Browser',
294
+ 'S4' => 'Steam In-Game Overlay',
295
+ 'ST' => 'Streamy',
296
+ 'SX' => 'Swiftfox',
297
+ 'SZ' => 'Seznam Browser',
298
+ 'TR' => 'T-Browser',
299
+ 'TO' => 't-online.de Browser',
300
+ 'TA' => 'Tao Browser',
301
+ 'TF' => 'TenFourFox',
302
+ 'TB' => 'Tenta Browser',
303
+ 'TZ' => 'Tizen Browser',
304
+ 'TU' => 'Tungsten',
305
+ 'TG' => 'ToGate',
306
+ 'TS' => 'TweakStyle',
307
+ 'TV' => 'TV Bro',
308
+ 'UB' => 'UBrowser',
309
+ 'UC' => 'UC Browser',
310
+ 'UH' => 'UC Browser HD',
311
+ 'UM' => 'UC Browser Mini',
312
+ 'UT' => 'UC Browser Turbo',
313
+ 'UR' => 'UR Browser',
314
+ 'UZ' => 'Uzbl',
315
+ 'VE' => 'Venus Browser',
316
+ 'VI' => 'Vivaldi',
317
+ 'VV' => 'vivo Browser',
318
+ 'VB' => 'Vision Mobile Browser',
319
+ 'VM' => 'VMware AirWatch',
320
+ 'WI' => 'Wear Internet Browser',
321
+ 'WP' => 'Web Explorer',
322
+ 'WE' => 'WebPositive',
323
+ 'WF' => 'Waterfox',
324
+ 'WH' => 'Whale Browser',
325
+ 'WO' => 'wOSBrowser',
326
+ 'WT' => 'WeTab Browser',
327
+ 'YJ' => 'Yahoo! Japan Browser',
328
+ 'YA' => 'Yandex Browser',
329
+ 'YL' => 'Yandex Browser Lite',
330
+ 'YN' => 'Yaani Browser',
331
+ 'YB' => 'Yolo Browser',
332
+ 'XS' => 'xStand',
333
+ 'XI' => 'Xiino',
334
+ 'XV' => 'Xvast',
335
+ 'ZE' => 'Zetakey',
336
+ 'ZV' => 'Zvu'
337
+
338
+ # detected browsers in older versions
339
+ # 'IA' => 'Iceape', => pim
340
+ # 'SM' => 'SeaMonkey', => pim
341
+ }.freeze
342
+
343
+ BROWSER_FULL_TO_SHORT = AVAILABLE_BROWSERS.invert.freeze
344
+
345
+ MOBILE_ONLY_BROWSERS = Set.new(
346
+ %w[
347
+ 36 AH AI BL C1 C4 CB CW DB
348
+ DD DT EU EZ FK FM FR FX GH
349
+ GI GR HA HU IV JB KD M1 MF
350
+ MN MZ NX OC OI OM OZ PU PI
351
+ PE QU RE S0 S7 SA SB SG SK
352
+ ST SU T1 UH UM UT VE VV WI
353
+ WP YN
354
+ ]
355
+ ).freeze
356
+
357
+ def self.mobile_only_browser?(name)
358
+ return true if MOBILE_ONLY_BROWSERS.include?(name)
359
+
360
+ short = BROWSER_FULL_TO_SHORT[name]
361
+ MOBILE_ONLY_BROWSERS.include?(short)
362
+ end
363
+ end
364
+ end
@@ -1,10 +1,19 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class DeviceDetector
2
4
  class Client < Parser
3
-
4
5
  def known?
5
6
  regex_meta.any?
6
7
  end
7
8
 
9
+ def browser?
10
+ regex_meta[:path] == :"client/browsers.yml"
11
+ end
12
+
13
+ def mobile_only_browser?
14
+ DeviceDetector::Browser.mobile_only_browser?(name)
15
+ end
16
+
8
17
  private
9
18
 
10
19
  def filenames
@@ -14,7 +23,7 @@ class DeviceDetector
14
23
  'client/mediaplayers.yml',
15
24
  'client/pim.yml',
16
25
  'client/browsers.yml',
17
- 'client/libraries.yml',
26
+ 'client/libraries.yml'
18
27
  ]
19
28
  end
20
29
  end