ua-parser 0.7.3 → 0.7.4
raw patch · 8 files changed
+2469/−147 lines, 8 files
Files
- changelog.md +3/−0
- deps/uap-core/regexes.yaml +240/−63
- deps/uap-core/test_resources/opera_mini_user_agent_strings.yaml +1224/−0
- deps/uap-core/test_resources/pgts_browser_list.yaml +72/−72
- deps/uap-core/tests/test_device.yaml too large to diff
- deps/uap-core/tests/test_os.yaml +154/−0
- deps/uap-core/tests/test_ua.yaml +775/−11
- ua-parser.cabal +1/−1
changelog.md view
@@ -1,3 +1,6 @@+0.7.4+* Update uap-core+ 0.7.3 * Allow for aeson 1.1
deps/uap-core/regexes.yaml view
@@ -8,7 +8,14 @@ # Pingdom - regex: '(Pingdom.com_bot_version_)(\d+)\.(\d+)' family_replacement: 'PingdomBot'+ # 'Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) PingdomTMS/0.8.5 Safari/534.34'+ - regex: '(PingdomTMS)/(\d+)\.(\d+)\.(\d+)'+ family_replacement: 'PingdomBot' + #StatusCake+ - regex: '(\(StatusCake\))'+ family_replacement: 'StatusCakeBot'+ # Facebook - regex: '(facebookexternalhit)/(\d+)\.(\d+)' family_replacement: 'FacebookBot'@@ -17,20 +24,28 @@ - regex: 'Google.*/\+/web/snippet' family_replacement: 'GooglePlusBot' + # Gmail+ - regex: 'via ggpht.com GoogleImageProxy'+ family_replacement: 'GmailImageProxy'++ # Twitter+ - regex: '(Twitterbot)/(\d+)\.(\d+)'+ family_replacement: 'TwitterBot'+ # Bots Pattern '/name-0.0' - regex: '/((?:Ant-)?Nutch|[A-z]+[Bb]ot|[A-z]+[Ss]pider|Axtaris|fetchurl|Isara|ShopSalad|Tailsweep)[ \-](\d+)(?:\.(\d+)(?:\.(\d+))?)?' # Bots Pattern 'name/0.0'- - regex: '(008|Altresium|Argus|BaiduMobaider|BoardReader|DNSGroup|DataparkSearch|EDI|Goodzer|Grub|INGRID|Infohelfer|LinkedInBot|LOOQ|Nutch|PathDefender|Peew|PostPost|Steeler|Twitterbot|VSE|WebCrunch|WebZIP|Y!J-BR[A-Z]|YahooSeeker|envolk|sproose|wminer)/(\d+)(?:\.(\d+)(?:\.(\d+))?)?'+ - regex: '\b(008|Altresium|Argus|BaiduMobaider|BoardReader|DNSGroup|DataparkSearch|EDI|Goodzer|Grub|INGRID|Infohelfer|LinkedInBot|LOOQ|Nutch|PathDefender|Peew|PostPost|Steeler|Twitterbot|VSE|WebCrunch|WebZIP|Y!J-BR[A-Z]|YahooSeeker|envolk|sproose|wminer)/(\d+)(?:\.(\d+)(?:\.(\d+))?)?' # MSIECrawler - regex: '(MSIE) (\d+)\.(\d+)([a-z]\d?)?;.* MSIECrawler' family_replacement: 'MSIECrawler' # Downloader ...- - regex: '(Google-HTTP-Java-Client|Apache-HttpClient|http%20client|Python-urllib|HttpMonitor|TLSProber|WinHTTP|JNLP)(?:[ /](\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'+ - regex: '(Google-HTTP-Java-Client|Apache-HttpClient|http%20client|Python-urllib|HttpMonitor|TLSProber|WinHTTP|JNLP|okhttp)(?:[ /](\d+)(?:\.(\d+)(?:\.(\d+))?)?)?' # Bots- - regex: '(1470\.net crawler|50\.nu|8bo Crawler Bot|Aboundex|Accoona-[A-z]+-Agent|AdsBot-Google(?:-[a-z]+)?|altavista|AppEngine-Google|archive.*?\.org_bot|archiver|Ask Jeeves|[Bb]ai[Dd]u[Ss]pider(?:-[A-Za-z]+)*|bingbot|BingPreview|blitzbot|BlogBridge|BoardReader(?: [A-Za-z]+)*|boitho.com-dc|BotSeer|\b\w*favicon\w*\b|\bYeti(?:-[a-z]+)?|Catchpoint bot|[Cc]harlotte|Checklinks|clumboot|Comodo HTTP\(S\) Crawler|Comodo-Webinspector-Crawler|ConveraCrawler|CRAWL-E|CrawlConvera|Daumoa(?:-feedfetcher)?|Feed Seeker Bot|findlinks|Flamingo_SearchEngine|FollowSite Bot|furlbot|Genieo|gigabot|GomezAgent|gonzo1|(?:[a-zA-Z]+-)?Googlebot(?:-[a-zA-Z]+)?|Google SketchUp|grub-client|gsa-crawler|heritrix|HiddenMarket|holmes|HooWWWer|htdig|ia_archiver|ICC-Crawler|Icarus6j|ichiro(?:/mobile)?|IconSurf|IlTrovatore(?:-Setaccio)?|InfuzApp|Innovazion Crawler|InternetArchive|IP2[a-z]+Bot|jbot\b|KaloogaBot|Kraken|Kurzor|larbin|LEIA|LesnikBot|Linguee Bot|LinkAider|LinkedInBot|Lite Bot|Llaut|lycos|Mail\.RU_Bot|masidani_bot|Mediapartners-Google|Microsoft .*? Bot|mogimogi|mozDex|MJ12bot|msnbot(?:-media *)?|msrbot|netresearch|Netvibes|NewsGator[^/]*|^NING|Nutch[^/]*|Nymesis|ObjectsSearch|Orbiter|OOZBOT|PagePeeker|PagesInventory|PaxleFramework|Peeplo Screenshot Bot|PlantyNet_WebRobot|Pompos|Read%20Later|Reaper|RedCarpet|Retreiver|Riddler|Rival IQ|scooter|Scrapy|Scrubby|searchsight|seekbot|semanticdiscovery|Simpy|SimplePie|SEOstats|SimpleRSS|SiteCon|Slurp|snappy|Speedy Spider|Squrl Java|TheUsefulbot|ThumbShotsBot|Thumbshots\.ru|TwitterBot|URL2PNG|Vagabondo|VoilaBot|^vortex|Votay bot|^voyager|WASALive.Bot|Web-sniffer|WebThumb|WeSEE:[A-z]+|WhatWeb|WIRE|WordPress|Wotbox|www\.almaden\.ibm\.com|Xenu(?:.s)? Link Sleuth|Xerka [A-z]+Bot|yacy(?:bot)?|Yahoo[a-z]*Seeker|Yahoo! Slurp|Yandex\w+|YodaoBot(?:-[A-z]+)?|YottaaMonitor|Yowedo|^Zao|^Zao-Crawler|ZeBot_www\.ze\.bz|ZooShot|ZyBorg)(?:[ /]v?(\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'+ - regex: '(1470\.net crawler|50\.nu|8bo Crawler Bot|Aboundex|Accoona-[A-z]+-Agent|AdsBot-Google(?:-[a-z]+)?|altavista|AppEngine-Google|archive.*?\.org_bot|archiver|Ask Jeeves|[Bb]ai[Dd]u[Ss]pider(?:-[A-Za-z]+)*|bingbot|BingPreview|blitzbot|BlogBridge|Bloglovin|BoardReader(?: [A-Za-z]+)*|boitho.com-dc|BotSeer|\b\w*favicon\w*\b|\bYeti(?:-[a-z]+)?|Catchpoint(?: bot)?|[Cc]harlotte|Checklinks|clumboot|Comodo HTTP\(S\) Crawler|Comodo-Webinspector-Crawler|ConveraCrawler|CRAWL-E|CrawlConvera|Daumoa(?:-feedfetcher)?|Feed Seeker Bot|Feedbin|findlinks|Flamingo_SearchEngine|FollowSite Bot|furlbot|Genieo|gigabot|GomezAgent|gonzo1|(?:[a-zA-Z]+-)?Googlebot(?:-[a-zA-Z]+)?|Google SketchUp|grub-client|gsa-crawler|heritrix|HiddenMarket|holmes|HooWWWer|htdig|ia_archiver|ICC-Crawler|Icarus6j|ichiro(?:/mobile)?|IconSurf|IlTrovatore(?:-Setaccio)?|InfuzApp|Innovazion Crawler|InternetArchive|IP2[a-z]+Bot|jbot\b|KaloogaBot|Kraken|Kurzor|larbin|LEIA|LesnikBot|Linguee Bot|LinkAider|LinkedInBot|Lite Bot|Llaut|lycos|Mail\.RU_Bot|masscan|masidani_bot|Mediapartners-Google|Microsoft .*? Bot|mogimogi|mozDex|MJ12bot|msnbot(?:-media *)?|msrbot|Mtps Feed Aggregation System|netresearch|Netvibes|NewsGator[^/]*|^NING|Nutch[^/]*|Nymesis|ObjectsSearch|Orbiter|OOZBOT|PagePeeker|PagesInventory|PaxleFramework|Peeplo Screenshot Bot|PlantyNet_WebRobot|Pompos|Qwantify|Read%20Later|Reaper|RedCarpet|Retreiver|Riddler|Rival IQ|scooter|Scrapy|Scrubby|searchsight|seekbot|semanticdiscovery|Simpy|SimplePie|SEOstats|SimpleRSS|SiteCon|Slackbot-LinkExpanding|Slack-ImgProxy|Slurp|snappy|Speedy Spider|Squrl Java|Stringer|TheUsefulbot|ThumbShotsBot|Thumbshots\.ru|Tiny Tiny RSS|TwitterBot|WhatsApp|URL2PNG|Vagabondo|VoilaBot|^vortex|Votay bot|^voyager|WASALive.Bot|Web-sniffer|WebThumb|WeSEE:[A-z]+|WhatWeb|WIRE|WordPress|Wotbox|www\.almaden\.ibm\.com|Xenu(?:.s)? Link Sleuth|Xerka [A-z]+Bot|yacy(?:bot)?|Yahoo[a-z]*Seeker|Yahoo! Slurp|Yandex\w+|YodaoBot(?:-[A-z]+)?|YottaaMonitor|Yowedo|^Zao|^Zao-Crawler|ZeBot_www\.ze\.bz|ZooShot|ZyBorg)(?:[ /]v?(\d+)(?:\.(\d+)(?:\.(\d+))?)?)?' # Bots General matcher 'name/0.0' - regex: '(?:\/[A-Za-z0-9\.]+)? *([A-Za-z0-9 \-_\!\[\]:]*(?:[Aa]rchiver|[Ii]ndexer|[Ss]craper|[Bb]ot|[Ss]pider|[Cc]rawl[a-z]*))/(\d+)(?:\.(\d+)(?:\.(\d+))?)?'@@ -55,9 +70,11 @@ - regex: '\[(Pinterest)/[^\]]+\]' - regex: '(Pinterest)(?: for Android(?: Tablet)?)?/(\d+)(?:\.(\d+)(?:\.(\d)+)?)?' + # Pale Moon+ - regex: '(PaleMoon)/(\d+)\.(\d+)\.?(\d+)?'+ family_replacement: 'Pale Moon'+ # Firefox- - regex: '(Pale[Mm]oon)/(\d+)\.(\d+)\.?(\d+)?'- family_replacement: 'Pale Moon (Firefox Variant)' - regex: '(Fennec)/(\d+)\.(\d+)\.?([ab]?\d+[a-z]*)' family_replacement: 'Firefox Mobile' - regex: '(Fennec)/(\d+)\.(\d+)(pre)'@@ -103,9 +120,15 @@ - regex: '(MyIBrow)/(\d+)\.(\d+)' family_replacement: 'My Internet Browser' + # UC Browser+ # we need check it before opera. In other case case UC Browser detected look like Opera Mini+ - regex: '(UC? ?Browser|UCWEB|U3)[ /]?(\d+)\.(\d+)\.(\d+)'+ family_replacement: 'UC Browser'+ # Opera will stop at 9.80 and hide the real version in the Version string. # see: http://dev.opera.com/articles/view/opera-ua-string-changes/ - regex: '(Opera Tablet).*Version/(\d+)\.(\d+)(?:\.(\d+))?'+ - regex: '(Opera Mini)(?:/att)?/?(\d+)?(?:\.(\d+))?(?:\.(\d+))?' - regex: '(Opera)/.+Opera Mobi.+Version/(\d+)\.(\d+)' family_replacement: 'Opera Mobile' - regex: '(Opera)/(\d+)\.(\d+).+Opera Mobi'@@ -114,7 +137,6 @@ family_replacement: 'Opera Mobile' - regex: 'Opera Mobi' family_replacement: 'Opera Mobile'- - regex: '(Opera Mini)(?:/att)?/(\d+)\.(\d+)' - regex: '(Opera)/9.80.*Version/(\d+)\.(\d+)(?:\.(\d+))?' # Opera 14 for Android uses a WebKit render engine.@@ -133,6 +155,10 @@ - regex: '(OPiOS)/(\d+).(\d+).(\d+)' family_replacement: 'Opera Mini' + # Opera Neon+ - regex: 'Chrome/.+( MMS)/(\d+).(\d+).(\d+)'+ family_replacement: 'Opera Neon'+ # Palm WebOS looks a lot like Safari. - regex: '(hpw|web)OS/(\d+)\.(\d+)(?:\.(\d+))?' family_replacement: 'webOS Browser'@@ -147,7 +173,7 @@ # Lightning (for Thunderbird) # http://www.mozilla.org/projects/calendar/lightning/- - regex: '(Lightning)/(\d+)\.(\d+)\.?((?:[ab]?\d+[a-z]*)|(?:\d*))'+ - regex: 'Gecko/\d+ (Lightning)/(\d+)\.(\d+)\.?((?:[ab]?\d+[a-z]*)|(?:\d*))' # Swiftfox - regex: '(Firefox)/(\d+)\.(\d+)\.(\d+(?:pre)?) \(Swiftfox\)'@@ -177,8 +203,6 @@ - regex: '(Symphony) (\d+).(\d+)' - - regex: '(Minimo)'- - regex: 'PLAYSTATION 3.+WebKit' family_replacement: 'NetFront NX' - regex: 'PLAYSTATION 3'@@ -197,7 +221,6 @@ - regex: '(Silk)/(\d+)\.(\d+)(?:\.([0-9\-]+))?' family_replacement: 'Amazon Silk' - # @ref: http://www.puffinbrowser.com - regex: '(Puffin)/(\d+)\.(\d+)(?:\.(\d+))?' @@ -205,25 +228,47 @@ - regex: 'Windows Phone .*(Edge)/(\d+)\.(\d+)' family_replacement: 'Edge Mobile' + # Samsung Internet (based on Chrome, but lacking some features)+ - regex: '(SamsungBrowser)/(\d+)\.(\d+)'+ family_replacement: 'Samsung Internet'++ # Seznam.cz browser (based on WebKit)+ - regex: '(SznProhlizec)/(\d+)\.(\d+)(?:\.(\d+))?'+ family_replacement: 'Seznam.cz'++ # Coc Coc browser, based on Chrome (used in Vietnam)+ - regex: '(coc_coc_browser)/(\d+)\.(\d+)(?:\.(\d+))?'+ family_replacement: 'Coc Coc'++ # Baidu Browsers (desktop spoofs chrome & IE, explorer is mobile)+ - regex: '(baidubrowser)[/\s](\d+)(?:\.(\d+)(?:\.(\d+))?)?'+ family_replacement: 'Baidu Browser'+ - regex: '(FlyFlow)/(\d+)\.(\d+)'+ family_replacement: 'Baidu Explorer'++ # MxBrowser is Maxthon. Must go before Mobile Chrome for Android+ - regex: '(MxBrowser)/(\d+)\.(\d+)(?:\.(\d+))?'+ family_replacement: 'Maxthon'++ # Crosswalk must go before Mobile Chrome for Android+ - regex: '(Crosswalk)/(\d+)\.(\d+)\.(\d+)\.(\d+)'+ # Chrome Mobile+ - regex: '; wv\).+(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+)'+ family_replacement: 'Chrome Mobile WebView' - regex: '(CrMo)/(\d+)\.(\d+)\.(\d+)\.(\d+)' family_replacement: 'Chrome Mobile' - regex: '(CriOS)/(\d+)\.(\d+)\.(\d+)\.(\d+)' family_replacement: 'Chrome Mobile iOS'- - regex: '(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+) Mobile'+ - regex: '(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+) Mobile(?:[ /]|$)' family_replacement: 'Chrome Mobile'+ - regex: ' Mobile .*(Chrome)/(\d+)\.(\d+)\.(\d+)\.(\d+)'+ family_replacement: 'Chrome Mobile' # Chrome Frame must come before MSIE. - regex: '(chromeframe)/(\d+)\.(\d+)\.(\d+)' family_replacement: 'Chrome Frame' - # UC Browser- - regex: '(UCBrowser)[ /](\d+)\.(\d+)\.(\d+)'- family_replacement: 'UC Browser'- - regex: '(UC Browser)[ /](\d+)\.(\d+)\.(\d+)'- - regex: '(UC Browser|UCBrowser|UCWEB)(\d+)\.(\d+)\.(\d+)'- family_replacement: 'UC Browser'- # Tizen Browser (second case included in browser/major.minor regex) - regex: '(SLP Browser)/(\d+)\.(\d+)' family_replacement: 'Tizen Browser'@@ -232,12 +277,6 @@ - regex: '(SE 2\.X) MetaSr (\d+)\.(\d+)' family_replacement: 'Sogou Explorer' - # Baidu Browsers (desktop spoofs chrome & IE, explorer is mobile)- - regex: '(baidubrowser)[/\s](\d+)'- family_replacement: 'Baidu Browser'- - regex: '(FlyFlow)/(\d+)\.(\d+)'- family_replacement: 'Baidu Explorer'- # QQ Browsers - regex: '(MQQBrowser/Mini)(?:(\d+)(?:\.(\d+)(?:\.(\d+))?)?)?' family_replacement: 'QQ Browser Mini'@@ -268,16 +307,26 @@ #### MAIN CASES - this catches > 50% of all browsers #### ++ # Slack desktop client (needs to be before Apple Mail, Electron, and Chrome as it gets wrongly detected on Mac OS otherwise)+ - regex: '(Slack_SSB)/(\d+)\.(\d+)\.(\d+)'+ family_replacement: 'Slack Desktop Client'+ + # HipChat provides a version on Mac, but not on Windows.+ # Needs to be before Chrome on Windows, and AppleMail on Mac.+ - regex: '(HipChat)/?(\d+)?'+ family_replacement: 'HipChat Desktop Client'+ # Browser/major_version.minor_version.beta_version- - regex: '(AdobeAIR|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Epiphany|Shiira|Sunrise|Spotify|Flock|Netscape|Lunascape|WebPilot|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|Iris|UP\.Browser|Bunjalloo|Google Earth|Raven for Mac|Openwave)/(\d+)\.(\d+)\.(\d+)'+ - regex: '\b(MobileIron|FireWeb|Jasmine|ANTGalio|Midori|Fresco|Lobo|PaleMoon|Maxthon|Lynx|OmniWeb|Dillo|Camino|Demeter|Fluid|Fennec|Epiphany|Shiira|Sunrise|Spotify|Flock|Netscape|Lunascape|WebPilot|NetFront|Netfront|Konqueror|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|Opera Mini|iCab|NetNewsWire|ThunderBrowse|Iris|UP\.Browser|Bunjalloo|Google Earth|Raven for Mac|Openwave|MacOutlook|Electron)/(\d+)\.(\d+)\.(\d+)' # Outlook 2007- - regex: 'MSOffice 12'+ - regex: 'Microsoft Office Outlook 12\.\d+\.\d+|MSOffice 12' family_replacement: 'Outlook' v1_replacement: '2007' # Outlook 2010- - regex: 'MSOffice 14'+ - regex: 'Microsoft Outlook 14\.\d+\.\d+|MSOffice 14' family_replacement: 'Outlook' v1_replacement: '2010' @@ -286,31 +335,63 @@ family_replacement: 'Outlook' v1_replacement: '2013' + # Outlook 2016+ - regex: 'Microsoft Outlook (?:Mail )?16\.\d+\.\d+'+ family_replacement: 'Outlook'+ v1_replacement: '2016'++ # Windows Live Mail+ - regex: 'Outlook-Express\/7\.0.*'+ family_replacement: 'Windows Live Mail'+ # Apple Air Mail - regex: '(Airmail) (\d+)\.(\d+)(?:\.(\d+))?' # Thunderbird- - regex: '(Thunderbird)/(\d+)\.(\d+)\.(\d+(?:pre)?)'+ - regex: '(Thunderbird)/(\d+)\.(\d+)(?:\.(\d+(?:pre)?))?' family_replacement: 'Thunderbird' + # Postbox+ - regex: '(Postbox)/(\d+)\.(\d+)\.(\d+)'+ family_replacement: 'Postbox'++ # Barca+ - regex: '(Barca(?:Pro)?)/(\d+)\.(\d+)(?:\.(\d+))?'+ family_replacement: 'Barca'++ # Lotus Notes+ - regex: '(Lotus-Notes)/(\d+)\.(\d+)(?:\.(\d+))?'+ family_replacement: 'Lotus Notes'+ # Vivaldi uses "Vivaldi" - regex: '(Vivaldi)/(\d+)\.(\d+)\.(\d+)' # Edge/major_version.minor_version- - regex: '(Edge)/(\d+)\.(\d+)'+ - regex: '(Edge)/(\d+)(?:\.(\d+))?' - # Chrome/Chromium/major_version.minor_version.beta_version- - regex: '(Chromium|Chrome)/(\d+)\.(\d+)\.(\d+)'+ # Brave Browser https://brave.com/+ - regex: '(brave)/(\d+)\.(\d+)\.(\d+) Chrome'+ family_replacement: 'Brave' + # Iron Browser ~since version 50+ - regex: '(Chrome)/(\d+)\.(\d+)\.(\d+)[\d.]* Iron[^/]'+ family_replacement: 'Iron'+ # Dolphin Browser # @ref: http://www.dolphin.com - regex: '\b(Dolphin)(?: |HDCN/|/INT\-)(\d+)\.(\d+)\.?(\d+)?' + # Headless Chrome+ # https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md+ # Currently only available on Linux+ - regex: 'HeadlessChrome'+ family_replacement: 'HeadlessChrome'+ # Browser/major_version.minor_version- - regex: '(bingbot|Bolt|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Chrome|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|iTunes|MacAppStore|NetNewsWire|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris|Abrowser|Planetweb|ICE Browser|mDolphin|qutebrowser|Otter|QupZilla)/(\d+)\.(\d+)\.?(\d+)?'+ - regex: '(bingbot|Bolt|AdobeAIR|Jasmine|IceCat|Skyfire|Midori|Maxthon|Lynx|Arora|IBrowse|Dillo|Camino|Shiira|Fennec|Phoenix|Flock|Netscape|Lunascape|Epiphany|WebPilot|Opera Mini|Opera|NetFront|Netfront|Konqueror|Googlebot|SeaMonkey|Kazehakase|Vienna|Iceape|Iceweasel|IceWeasel|Iron|K-Meleon|Sleipnir|Galeon|GranParadiso|iCab|iTunes|MacAppStore|NetNewsWire|Space Bison|Stainless|Orca|Dolfin|BOLT|Minimo|Tizen Browser|Polaris|Abrowser|Planetweb|ICE Browser|mDolphin|qutebrowser|Otter|QupZilla|MailBar|kmail2|YahooMobileMail|ExchangeWebServices|ExchangeServicesClient|Dragon|Outlook-iOS-Android)/(\d+)\.(\d+)(?:\.(\d+))?' # Chrome/Chromium/major_version.minor_version- - regex: '(Chromium|Chrome)/(\d+)\.(\d+)'+ - regex: '(Chromium|Chrome)/(\d+)\.(\d+)(?:\.(\d+))?' ########## # IE Mobile needs to happen before Android to catch cases such as:@@ -324,10 +405,13 @@ - regex: '(IEMobile)[ /](\d+)\.(\d+)' family_replacement: 'IE Mobile' + # Baca Berita App News Reader+ - regex: '(BacaBerita App)\/(\d+)\.(\d+)\.(\d+)'+ # Browser major_version.minor_version.beta_version (space instead of slash) - regex: '(iRider|Crazy Browser|SkipStone|iCab|Lunascape|Sleipnir|Maemo Browser) (\d+)\.(\d+)\.(\d+)' # Browser major_version.minor_version (space instead of slash)- - regex: '(iCab|Lunascape|Opera|Android|Jasmine|Polaris) (\d+)\.(\d+)\.?(\d+)?'+ - regex: '(iCab|Lunascape|Opera|Android|Jasmine|Polaris|Microsoft SkyDriveSync|The Bat!) (\d+)\.(\d+)\.?(\d+)?' # Kindle WebKit - regex: '(Kindle)/(\d+)\.(\d+)'@@ -357,6 +441,7 @@ - regex: '(MSIE) (\d+)\.(\d+).*XBLWP7' family_replacement: 'IE Large Screen' + #### END MAIN CASES #### #### SPECIAL CASES ####@@ -385,18 +470,18 @@ family_replacement: 'Bon Echo' # @note: iOS / OSX Applications- - regex: '(iPod|iPhone|iPad).+Version/(\d+)\.(\d+)(?:\.(\d+))?.* Safari'+ - regex: '(iPod|iPhone|iPad).+Version/(\d+)\.(\d+)(?:\.(\d+))?.*[ +]Safari' family_replacement: 'Mobile Safari' - regex: '(iPod|iPhone|iPad).+Version/(\d+)\.(\d+)(?:\.(\d+))?'- family_replacement: 'Mobile Safari UIWebView'- - regex: '(iPod|iPhone|iPad);.*CPU.*OS (\d+)_(\d+)(?:_(\d+))?.*Mobile.* Safari'+ family_replacement: 'Mobile Safari UI/WKWebView'+ - regex: '(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\d+)_(\d+)(?:_(\d+))?.*Mobile.*[ +]Safari' family_replacement: 'Mobile Safari'- - regex: '(iPod|iPhone|iPad);.*CPU.*OS (\d+)_(\d+)(?:_(\d+))?.*Mobile'- family_replacement: 'Mobile Safari UIWebView'+ - regex: '(iPod|iPod touch|iPhone|iPad);.*CPU.*OS[ +](\d+)_(\d+)(?:_(\d+))?.*Mobile'+ family_replacement: 'Mobile Safari UI/WKWebView' - regex: '(iPod|iPhone|iPad).* Safari' family_replacement: 'Mobile Safari' - regex: '(iPod|iPhone|iPad)'- family_replacement: 'Mobile Safari UIWebView'+ family_replacement: 'Mobile Safari UI/WKWebView' - regex: '(AvantGo) (\d+).(\d+)' @@ -498,7 +583,7 @@ # apple mail - not directly detectable, have it after Safari stuff - regex: '(AppleWebKit)/(\d+)\.(\d+)\.(\d+)'- family_replacement: 'AppleMail'+ family_replacement: 'Apple Mail' # AFTER THE EDGE CASES ABOVE! # AFTER IE11@@ -512,8 +597,19 @@ - regex: '(python-requests)/(\d+)\.(\d+)' family_replacement: 'Python Requests' + # headless user-agents+ - regex: '\b(Windows-Update-Agent|Microsoft-CryptoAPI|SophosUpdateManager|SophosAgent|Debian APT-HTTP|Ubuntu APT-HTTP|libcurl-agent|libwww-perl|urlgrabber|curl|Wget|OpenBSD ftp|jupdate)(?:[ /](\d+)(?:\.(\d+)(?:\.(\d+))?)?)?'+ - regex: '(Java)[/ ]{0,1}\d+\.(\d+)\.(\d+)[_-]*([a-zA-Z0-9]+)*' + # Roku Digital-Video-Players https://www.roku.com/+ - regex: '^(Roku)/DVP-(\d+)\.(\d+)'++ # Kurio App News Reader https://kurio.co.id/+ - regex: '(Kurio)\/(\d+)\.(\d+)\.(\d+)'+ family_replacement: 'Kurio App'++ os_parsers: ########## # HbbTV vendors@@ -583,6 +679,10 @@ - regex: '(Windows Phone) (?:OS[ /])?(\d+)\.(\d+)' + # Again a MS-special one: iPhone.*Outlook-iOS-Android/x.x is erroneously detected as Android+ - regex: '(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone)[ +]+(\d+)[_\.](\d+)(?:[_\.](\d+))?.*Outlook-iOS-Android'+ os_replacement: 'iOS'+ ########## # Android # can actually detect rooted android os. do we care?@@ -611,7 +711,7 @@ # UCWEB - regex: '^UCWEB.*; (Adr) (\d+)\.(\d+)(?:[.\-]([a-z0-9]+))?;' os_replacement: 'Android'- - regex: '^UCWEB.*; (iPad OS|iPh OS) (\d+)_(\d+)(?:_(\d+))?;'+ - regex: '^UCWEB.*; (iPad|iPh|iPd) OS (\d+)_(\d+)(?:_(\d+))?;' os_replacement: 'iOS' - regex: '^UCWEB.*; (wds) (\d+)\.(\d+)(?:\.(\d+))?;' os_replacement: 'Windows Phone'@@ -694,14 +794,14 @@ # Tizen OS from Samsung # spoofs Android so pushing it above ##########- - regex: '(Tizen)/(\d+)\.(\d+)'+ - regex: '(Tizen)[/ ](\d+)\.(\d+)' ########## # Mac OS # @ref: http://en.wikipedia.org/wiki/Mac_OS_X#Versions # @ref: http://www.puredarwin.org/curious/versions ##########- - regex: '((?:Mac ?|; )OS X)[\s/](?:(\d+)[_.](\d+)(?:[_.](\d+))?|Mach-O)'+ - regex: '((?:Mac[ +]?|; )OS[ +]X)[\s+/](?:(\d+)[_.](\d+)(?:[_.](\d+))?|Mach-O)' os_replacement: 'Mac OS X' # Leopard - regex: ' (Dar)(win)/(9).(\d+).*\((?:i386|x86_64|Power Macintosh)\)'@@ -748,7 +848,7 @@ - regex: '(Apple\s?TV)(?:/(\d+)\.(\d+))?' os_replacement: 'ATV OS X' - - regex: '(CPU OS|iPhone OS|CPU iPhone) +(\d+)[_\.](\d+)(?:[_\.](\d+))?'+ - regex: '(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS)[ +]+(\d+)[_\.](\d+)(?:[_\.](\d+))?' os_replacement: 'iOS' # remaining cases are mostly only opera uas, so catch opera as to not catch iphone spoofs@@ -795,11 +895,30 @@ os_replacement: 'Mac OS X' os_v1_replacement: '10' os_v2_replacement: '10'+ - regex: '(CF)(Network)/(760)\.(\d)'+ os_replacement: 'Mac OS X'+ os_v1_replacement: '10'+ os_v2_replacement: '11' - regex: '(CF)(Network)/758\.(\d)' os_replacement: 'iOS' os_v1_replacement: '9'+ - regex: '(CF)(Network)/808\.(\d)'+ os_replacement: 'iOS'+ os_v1_replacement: '10' ##########+ # CFNetwork macOS Apps (must be before CFNetwork iOS Apps+ # @ref: https://en.wikipedia.org/wiki/Darwin_(operating_system)#Release_history+ ##########+ - regex: 'CFNetwork/.* Darwin/16\.\d+.*\(x86_64\)'+ os_replacement: 'Mac OS X'+ os_v1_replacement: '10'+ os_v2_replacement: '12'+ - regex: 'CFNetwork/8.* Darwin/15\.\d+.*\(x86_64\)'+ os_replacement: 'Mac OS X'+ os_v1_replacement: '10'+ os_v2_replacement: '11'+ ########## # CFNetwork iOS Apps # @ref: https://en.wikipedia.org/wiki/Darwin_(operating_system)#Release_history ##########@@ -826,9 +945,13 @@ os_replacement: 'iOS' os_v1_replacement: '9' os_v2_replacement: '0'+ - regex: 'CFNetwork/8.* Darwin/(16)\.\d+'+ os_replacement: 'iOS'+ os_v1_replacement: '10' # iOS Apps- - regex: '\b(iOS[ /]|iPhone(?:/| v|[ _]OS[/,]|; | OS : |\d,\d/|\d,\d; )|iPad/)(\d{1,2})[_\.](\d{1,2})(?:[_\.](\d+))?'+ - regex: '\b(iOS[ /]|iOS; |iPhone(?:/| v|[ _]OS[/,]|; | OS : |\d,\d/|\d,\d; )|iPad/)(\d{1,2})[_\.](\d{1,2})(?:[_\.](\d+))?' os_replacement: 'iOS'+ - regex: '\((iOS);' ########## # Apple TV@@ -954,6 +1077,12 @@ - regex: '(WebTV)/(\d+).(\d+)' ##########+ # Chromecast+ ##########+ - regex: '(CrKey)(?:[/](\d+)\.(\d+)(?:\.(\d+))?)?'+ os_replacement: 'Chromecast'++ ########## # Misc mobile ########## - regex: '(hpw|web)OS/(\d+)\.(\d+)(?:\.(\d+))?'@@ -974,20 +1103,23 @@ - regex: '\((Bada);' # just os- - regex: '(Windows|Android|WeTab|Maemo)'+ - regex: '(Windows|Android|WeTab|Maemo|Web0S)' - regex: '(Ubuntu|Kubuntu|Arch Linux|CentOS|Slackware|Gentoo|openSUSE|SUSE|Red Hat|Fedora|PCLinuxOS|Mageia|(?:Free|Open|Net|\b)BSD)' # Linux + Kernel Version - regex: '(Linux)(?:[ /](\d+)\.(\d+)(?:\.(\d+))?)?' - regex: 'SunOS' os_replacement: 'Solaris' + # Roku Digital-Video-Players https://www.roku.com/+ - regex: '^(Roku)/DVP-(\d+)\.(\d+)'+ device_parsers: ######### # Mobile Spiders # Catch the mobile crawler before checking for iPhones / Androids. #########- - regex: '(?:(?:iPhone|Windows CE|Android).*(?:(?:Bot|Yeti)-Mobile|YRSpider|bots?/\d|(?:bot|spider)\.html)|AdsBot-Google-Mobile.*iPhone)'+ - regex: '(?:(?:iPhone|Windows CE|Windows Phone|Android).*(?:(?:Bot|Yeti)-Mobile|YRSpider|BingPreview|bots?/\d|(?:bot|spider)\.html)|AdsBot-Google-Mobile.*iPhone)' regex_flag: 'i' device_replacement: 'Spider' brand_replacement: 'Spider'@@ -1881,6 +2013,10 @@ device_replacement: '$1' brand_replacement: 'Google' model_replacement: '$1'+ - regex: '; *(Pixel \w+) Build'+ device_replacement: '$1'+ brand_replacement: 'Google'+ model_replacement: '$1' ######### # Gigabyte@@ -2033,7 +2169,7 @@ device_replacement: '$1' brand_replacement: 'Huawei' model_replacement: '$1'- - regex: '; *([^;]+) Build/Huawei'+ - regex: '; *([^;]+) Build/(?:Huawei|HUAWEI)' device_replacement: '$1' brand_replacement: 'Huawei' model_replacement: '$1'@@ -2049,7 +2185,7 @@ device_replacement: 'Huawei Ideos$1' brand_replacement: 'Huawei' model_replacement: 'Ideos$1'- - regex: '; *(Orange Daytona|Pulse|Pulse Mini|Vodafone 858|C8500|C8600|C8650|C8660) Build'+ - regex: '; *(Orange Daytona|Pulse|Pulse Mini|Vodafone 858|C8500|C8600|C8650|C8660|Nexus 6P|ATH-.+?) Build[/ ]' device_replacement: 'Huawei $1' brand_replacement: 'Huawei' model_replacement: '$1'@@ -2571,7 +2707,7 @@ # LG # @ref: http://www.lg.com/uk/mobile #########- - regex: '; *(E[34][0-9]{2}|LS[6-8][0-9]{2}|VS[6-9][0-9]+[^;/]+|Nexus [45]|GT540f?|Optimus (?:2X|G|4X HD)|OptimusX4HD) *(?:Build|;)'+ - regex: '; *(E[34][0-9]{2}|LS[6-8][0-9]{2}|VS[6-9][0-9]+[^;/]+|Nexus 4|Nexus 5X?|GT540f?|Optimus (?:2X|G|4X HD)|OptimusX4HD) *(?:Build|;)' device_replacement: '$1' brand_replacement: 'LG' model_replacement: '$1'@@ -2591,6 +2727,10 @@ device_replacement: '$1 $2' brand_replacement: 'LG' model_replacement: '$2'+ - regex: '(Web0S); Linux/(SmartTV)'+ device_replacement: 'LG $1 $2'+ brand_replacement: 'LG'+ model_replacement: '$1 $2' ######### # Malata@@ -2964,6 +3104,19 @@ model_replacement: '$1' #########+ # OnePlus+ # @ref https://oneplus.net/+ #########+ - regex: '; (ONE [a-zA-Z]\d+) Build/'+ device_replacement: 'OnePlus $1'+ brand_replacement: 'OnePlus'+ model_replacement: '$1'+ - regex: '; (ONEPLUS [a-zA-Z]\d+) Build/'+ device_replacement: 'OnePlus $1'+ brand_replacement: 'OnePlus'+ model_replacement: '$1'++ ######### # Orion # @ref: http://www.orion.ua/en/products/computer-products/tablet-pcs.html #########@@ -3204,6 +3357,15 @@ model_replacement: '$1' #########+ # RCA+ # @ref: http://rcamobilephone.com/+ #########+ - regex: '; (RCT\w+) Build/'+ device_replacement: '$1'+ brand_replacement: 'RCA'+ model_replacement: '$1'++ ######### # Rockchip # @ref: http://www.rock-chips.com/a/cn/product/index.html # @note: manufacturer sells chipsets - I assume that these UAs are dev-boards@@ -3841,7 +4003,7 @@ # XiaoMi # @ref: http://www.xiaomi.com/event/buyphone #########- - regex: '; *((MI|HM|MI-ONE|Redmi)[ -](NOTE |Note )?[^;/]*) Build/'+ - regex: '; *((MI|HM|MI-ONE|Redmi)[ -](NOTE |Note )?[^;/]*) (Build|MIUI)/' device_replacement: 'XiaoMi $1' brand_replacement: 'XiaoMi' model_replacement: '$1'@@ -4108,7 +4270,7 @@ ######### # Noka Windows Phones #########- - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?)*(\d{3,}[^;\)]*)'+ - regex: 'Windows Phone [^;]+; .*?IEMobile/[^;\)]+[;\)] ?(?:ARM; ?Touch; ?|Touch; ?)?(?:rv:11; )?(?:NOKIA|Nokia)[^;]*; *(?:NOKIA ?|Nokia ?|LUMIA ?|[Ll]umia ?)*(\d{3,}[^;\)]*)' device_replacement: 'Lumia $1' brand_replacement: 'Nokia' model_replacement: 'Lumia $1'@@ -4286,10 +4448,10 @@ # cannot determine specific device type from ua string. (3g, 3gs, 4, etc) ########## # @note: on some ua the device can be identified e.g. iPhone5,1- - regex: '((?:iPhone|iPad|iPod)\d+,\d+)'+ - regex: '(iPhone|iPad|iPod)(\d+,\d+)' device_replacement: '$1' brand_replacement: 'Apple'- model_replacement: '$1'+ model_replacement: '$1$2' # @note: iPad needs to be before iPhone - regex: '(iPad)(?:;| Simulator;)' device_replacement: '$1'@@ -4308,6 +4470,12 @@ device_replacement: '$1$2,$3' brand_replacement: 'Apple' model_replacement: '$1$2,$3'+ # @note: newer desktop applications don't show device info+ # This is here so as to not have them recorded as iOS-Device+ - regex: 'CFNetwork/.* Darwin/\d+\.\d+\.\d+ \(x86_64\)'+ device_replacement: 'Mac'+ brand_replacement: 'Apple'+ model_replacement: 'Mac' # @note: iOS applications do not show device info - regex: 'CFNetwork/.* Darwin/\d' device_replacement: 'iOS-Device'@@ -4573,6 +4741,11 @@ ########## # Samsung ##########+ # Samsung Smart-TV+ - regex: '(SMART-TV); .* Tizen '+ device_replacement: 'Samsung $1'+ brand_replacement: 'Samsung'+ model_replacement: '$1' # Samsung Symbian Devices - regex: 'SymbianOS/9\.\d.* Samsung[/\-]([A-Za-z0-9 \-]+)' device_replacement: 'Samsung $1'@@ -4663,27 +4836,27 @@ ######### # Android General Device Matching (far from perfect) #########- - regex: 'Android[\- ][\d]+\.[\d]+; [A-Za-z]{2}\-[A-Za-z]{0,2}; WOWMobile (.+) Build'+ - regex: 'Android[\- ][\d]+\.[\d]+; [A-Za-z]{2}\-[A-Za-z]{0,2}; WOWMobile (.+) Build[/ ]' brand_replacement: 'Generic_Android' model_replacement: '$1'- - regex: 'Android[\- ][\d]+\.[\d]+\-update1; [A-Za-z]{2}\-[A-Za-z]{0,2} *; *(.+?) Build'+ - regex: 'Android[\- ][\d]+\.[\d]+\-update1; [A-Za-z]{2}\-[A-Za-z]{0,2} *; *(.+?) Build[/ ]' brand_replacement: 'Generic_Android' model_replacement: '$1'- - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}; *[A-Za-z]{2}[_\-][A-Za-z]{0,2}\-? *; *(.+?) Build'+ - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}; *[A-Za-z]{2}[_\-][A-Za-z]{0,2}\-? *; *(.+?) Build[/ ]' brand_replacement: 'Generic_Android' model_replacement: '$1'- - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}; *[A-Za-z]{0,2}\- *; *(.+?) Build'+ - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}; *[A-Za-z]{0,2}\- *; *(.+?) Build[/ ]' brand_replacement: 'Generic_Android' model_replacement: '$1' # No build info at all - "Build" follows locale immediately- - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}; *[a-z]{0,2}[_\-]?[A-Za-z]{0,2};? Build'+ - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}; *[a-z]{0,2}[_\-]?[A-Za-z]{0,2};? Build[/ ]' device_replacement: 'Generic Smartphone' brand_replacement: 'Generic' model_replacement: 'Smartphone'- - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}; *\-?[A-Za-z]{2}; *(.+?) Build'+ - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}; *\-?[A-Za-z]{2}; *(.+?) Build[/ ]' brand_replacement: 'Generic_Android' model_replacement: '$1'- - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}(?:;.*)?; *(.+?) Build'+ - regex: 'Android[\- ][\d]+(?:\.[\d]+){1,2}(?:;.*)?; *(.+?) Build[/ ]' brand_replacement: 'Generic_Android' model_replacement: '$1' @@ -4700,6 +4873,10 @@ - regex: '(WebTV)/\d+.\d+' brand_replacement: 'Generic_Inettv' model_replacement: '$1'+ # Roku Digital-Video-Players https://www.roku.com/+ - regex: '^(Roku)/DVP-\d+\.\d+'+ brand_replacement: 'Generic_Inettv'+ model_replacement: '$1' ########## # Generic Tablet@@ -4726,7 +4903,7 @@ ########## # Spiders (this is hack...) ##########- - regex: '(bot|zao|borg|DBot|oegp|silk|Xenu|zeal|^NING|CCBot|crawl|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|^Java/|^JNLP/|Daumoa|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|spider|msnbot|msrbot|vortex|^vortex|crawler|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|bingbot|openbot|gigabot|furlbot|polybot|seekbot|^voyager|archiver|Icarus6j|mogimogi|Netvibes|blitzbot|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|SeznamBot|ProoXiBot|wsr\-agent|Squrl Java|EtaoSpider|PaperLiBot|SputnikBot|A6\-Indexer|netresearch|searchsight|baiduspider|YisouSpider|ICC\-Crawler|http%20client|Python-urllib|dataparksearch|converacrawler|Screaming Frog|AppEngine-Google|YahooCacheSystem|fast\-webcrawler|Sogou Pic Spider|semanticdiscovery|Innovazion Crawler|facebookexternalhit|Google.*/\+/web/snippet|Google-HTTP-Java-Client|BlogBridge|IlTrovatore-Setaccio|InternetArchive|GomezAgent|WebThumbnail|heritrix|NewsGator|PagePeeker|Reaper|ZooShot|holmes)'+ - regex: '(bot|zao|borg|DBot|oegp|silk|Xenu|zeal|^NING|CCBot|crawl|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|^Java/|^JNLP/|Daumoa|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|spider|msnbot|msrbot|vortex|^vortex|crawler|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|bingbot|BingPreview|openbot|gigabot|furlbot|polybot|seekbot|^voyager|archiver|Icarus6j|mogimogi|Netvibes|blitzbot|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|SeznamBot|ProoXiBot|wsr\-agent|Squrl Java|EtaoSpider|PaperLiBot|SputnikBot|A6\-Indexer|netresearch|searchsight|baiduspider|YisouSpider|ICC\-Crawler|http%20client|Python-urllib|dataparksearch|converacrawler|Screaming Frog|AppEngine-Google|YahooCacheSystem|fast\-webcrawler|Sogou Pic Spider|semanticdiscovery|Innovazion Crawler|facebookexternalhit|Google.*/\+/web/snippet|Google-HTTP-Java-Client|BlogBridge|IlTrovatore-Setaccio|InternetArchive|GomezAgent|WebThumbnail|heritrix|NewsGator|PagePeeker|Reaper|ZooShot|holmes|NL-Crawler|Pingdom|StatusCake|WhatsApp|masscan|Google Web Preview|Qwantify)' regex_flag: 'i' device_replacement: 'Spider' brand_replacement: 'Spider'
+ deps/uap-core/test_resources/opera_mini_user_agent_strings.yaml view
@@ -0,0 +1,1224 @@+# Additional tests for opera mini detection.+# List of user agent strings and corresponding versions is taken from http://www.useragentstring.com/pages/Opera%20Mini/+# Some user agent string are from http://www.webapps-online.com/online-tools/user-agent-strings/dv/plugin55599/opera-mini++test_cases:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (S60; SymbOS; Opera Mobi/23.348; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '9'+ minor: '80'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (S60; SymbOS; Opera Mobi/23.334; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '9'+ minor: '80'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (J2ME/23.377; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '9'+ minor: '80'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (J2ME/22.478; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '9'+ minor: '80'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9 (Compatible; MSIE:9.0; iPhone; BlackBerry9700; AppleWebKit/24.746; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '9'+ minor:+ patch:++ - user_agent_string: 'Opera/9.80 (Android; Opera Mini/7.6.35766/35.5706; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '7'+ minor: '6'+ patch: '35766'++ - user_agent_string: 'Opera/9.80 (Android; Opera Mini/7.5.33361/31.1350; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '7'+ minor: '5'+ patch: '33361'++ - user_agent_string: 'Opera/9.80 (Android; Opera Mini/7.29530/27.1407; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '7'+ minor: '29530'+ patch:++ - user_agent_string: 'Opera/9.80 (iPhone; Opera Mini/7.1.32694/27.1407; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '7'+ minor: '1'+ patch: '32694'++ - user_agent_string: 'Opera/9.80 (iPad; Opera Mini/7.1.32694/27.1407; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '7'+ minor: '1'+ patch: '32694'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/7.1.32444/35.5706; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '7'+ minor: '1'+ patch: '32444'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/7.1.32444/35.2883; U; ru) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '7'+ minor: '1'+ patch: '32444'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/7.1.32052/35.5706; U; id) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '7'+ minor: '1'+ patch: '32052'++ - user_agent_string: 'Opera/9.80 (iPhone; Opera Mini/7.0.4/28.2555; U; fr) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '7'+ minor: '0'+ patch: '4'++ - user_agent_string: 'Opera/9.80 (Android; Opera Mini/7.0.29952/28.2075; U; es) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '7'+ minor: '0'+ patch: '29952'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/6.5.29702/28.2647; U; es) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '6'+ minor: '5'+ patch: '29702'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/6.5.26955/27.1407; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '6'+ minor: '5'+ patch: '26955'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/6.24288/25.729; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '6'+ minor: '24288'+ patch:++ - user_agent_string: 'Opera/9.80 (BlackBerry; Opera Mini/6.24209/27.1366; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '6'+ minor: '24209'+ patch:++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/6.24096/25.657; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '6'+ minor: '24096'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/6.24093/26.1305; U; en) Presto/2.8.119 Version/10.54'+ family: 'Opera Mini'+ major: '6'+ minor: '24093'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/6.24093/25.657; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '6'+ minor: '24093'+ patch:++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/6.1.25759/25.872; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '6'+ minor: '1'+ patch: '25759'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/6.1.25378/25.677; U; th) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '6'+ minor: '1'+ patch: '25378'++ - user_agent_string: 'Opera/9.80 (Android; Opera Mini/6.1.25375/25.657; U; es) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '6'+ minor: '1'+ patch: '25375'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/6.0.24455/28.2766; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '6'+ minor: '0'+ patch: '24455'++ - user_agent_string: 'Opera/9.80 (Android;Opera Mini/6.0.24212/24.746 U;en) Presto/2.5.25 Version/10.5454'+ family: 'Opera Mini'+ major: '6'+ minor: '0'+ patch: '24212'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/6.0.24095/24.760; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '6'+ minor: '0'+ patch: '24095'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/6.0.24095/24.741; U; zh) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '6'+ minor: '0'+ patch: '24095'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/5.1.22784/23.334; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22784'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/5.1.22784/22.394; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22784'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/5.1.22784/22.387; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22784'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/5.1.22783/23.334; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22783'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/5.1.22783/22.478; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22783'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/5.1.22783/22.478; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22783'++ - user_agent_string: 'Opera/9.80 (Android; Opera Mini/5.1.22460/23.334; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22460'++ - user_agent_string: 'Opera/9.80 (Android; Opera Mini/5.1.22460/22.478; U; fr) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22460'++ - user_agent_string: 'Opera/9.80 (Android; Opera Mini/5.1.22460/22.414; U; de) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22460'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/5.1.22396/22.478; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22396'++ - user_agent_string: 'Opera/9.80 (BlackBerry; Opera Mini/5.1.22303/22.387; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22303'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.22296; BlackBerry9800; U; AppleWebKit/23.370; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22296'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.22296/22.87; U; fr) Presto/2.5.25'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22296'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.22296/22.87; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22296'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.22296/22.478; U; fr) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22296'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.22296/22.387; U; fr) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '22296'++ - user_agent_string: 'Opera/9.50 (J2ME/MIDP; Opera Mini/5.1.21965/20.2513; U; en)'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '21965'++ - user_agent_string: 'Opera/9.80 (Windows Mobile; Opera Mini/5.1.21595/25.657; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '21595'++ - user_agent_string: 'Opera/9.80 (Windows Mobile; Opera Mini/5.1.21594/22.387; U; ru) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '21594'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21415/22.387; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '21415'++ - user_agent_string: 'Opera/10.61 (J2ME/MIDP; Opera Mini/5.1.21219/19.999; en-US; rv:1.9.3a5) WebKit/534.5 Presto/2.6.30'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '21219'++ - user_agent_string: 'Opera/9.80(J2ME/MIDP; Opera Mini/5.1.21214/22.414; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '21214'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21214/22.414; U; ro) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '21214'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21214/22.387; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '21214'++ - user_agent_string: 'Opera/9.80 (Android; Opera Mini/5.1.21126/19.892; U; de) Presto/2.5.25'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '21126'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21051/27.1573; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '21051'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21051/23.377; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '21051'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.1.21051/20.2477; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '5'+ minor: '1'+ patch: '21051'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.3521/886; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '3521'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.3521/22.414; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '3521'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.3521/18.684; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '3521'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.22349/37.6584; U; en) Presto/2.12.423 Version/12.16'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '22349'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.20873/19.916; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '20873'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.19693Mod.by.Handler/23.390; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '19693'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.19693Mod.by.Handler/18.794; U; id) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '19693'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.19693/870; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '19693'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.19683/1278; U; ko) Presto/2.2.0'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '19683'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18741Mod.by.Handler/22.414; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '18741'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18741/886; U; id) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '18741'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18741/886; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '18741'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18741/870; U; fr) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '18741'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18741/870; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '18741'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18741/18.794; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '18741'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18635Mod.by.Handler/23.377; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '18635'++ - user_agent_string: 'Opera/9.80 (Windows NT 5.1; U; Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18635/1030; U; en) Presto/2.4.15; ru) Presto/2.8.99 Version/11.10'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '18635'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.18635/886; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '18635'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.17443/886; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '17443'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.17443/20.2477; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '17443'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.17381/886; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '17381'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.16823Mod.by.Handler/22.387; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '16823'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.16823/870; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '16823'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.15650/20.2479; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '15650'++ - user_agent_string: 'Opera/9.80 (J2ME/iPhone;Opera Mini/5.0.019802/886; U; ja)Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '019802'++ - user_agent_string: 'Opera/9.80 (J2ME/iPhone;Opera Mini/5.0.019802/886; U; ja)Presto/ 2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '019802'++ - user_agent_string: 'Opera/9.80 (J2ME/iPhone;Opera Mini/5.0.019802/886; U; ja) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '019802'++ - user_agent_string: 'Opera/9.80 (iPhone; Opera Mini/5.0.019802/886; U; ja) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '019802'++ - user_agent_string: 'Opera/9.80 (iPhone; Opera Mini/5.0.019802/886; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '019802'++ - user_agent_string: 'Opera/9.80 (iPhone; Opera Mini/5.0.019802/22.414; U; de) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '019802'++ - user_agent_string: 'Opera/9.80 (iPhone; Opera Mini/5.0.019802/18.738; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '019802'++ - user_agent_string: 'Opera/9.80 (iPhone; Opera Mini/5.0.0176/764; U; en) Presto/2.4.154.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '0176'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.0.862 Profile/24.743; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '0'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.0.423 Profile/18.684; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '0'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0.0.351 Profile/22.478; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch: '0'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0/870; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0(Windows; U; Windows NT 5.1; en-US)/23.390; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows; U; Windows NT 6.1; sv-SE) AppleWebKit/23.411; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/24.838; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/23.411; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/22.478; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/23.377; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows NT 6.1; WOW64) AppleWebKit/23.411; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (SymbianOS/24.838; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Linux; U; Android 2.2; fr-lu; HTC Legend Build/24.838; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Linux; U; Android 2.2; en-sa; HTC_DesireHD_A9191 Build/24.741; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (iPhone; U; xxxx like Mac OS X; en) AppleWebKit/24.838; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (iPhone; U; fr; CPU iPhone OS 4_2_1 like Mac OS X; fr) AppleWebKit/23.405; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/23.411; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (iPhone; U; CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/23.377; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (BlackBerry; U; BlackBerry9800; en-GB) AppleWebKit/24.783; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (BlackBerry; U; BlackBerry 9800) AppleWebKit/24.783; U; es) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.5.33867/35.2883; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '4'+ minor: '5'+ patch: '33867'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.4.Vista/19.916; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '4'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.4.29476/27.1573; U; id) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '4'+ minor: '4'+ patch: '29476'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.4.26736/28.2647; U; it) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '4'+ minor: '4'+ patch: '26736'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.4.0.60 (Windows XP)/886; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '4'+ patch: '0'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.3.24214; iPhone; CPU iPhone OS 4_2_1 like Mac OS X; AppleWebKit/24.783; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '3'+ patch: '24214'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.3.24214/27.1407; U; id) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '4'+ minor: '3'+ patch: '24214'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.3.24214 (Windows; U; Windows NT 6.1) AppleWebKit/24.838; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '3'+ patch: '24214'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.3.13337/25.657; U; ro) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '3'+ patch: '13337'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.24721/30.3316; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '24721'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.23453/28.2647; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '23453'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.21465/22.478; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '21465'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.21465/22.387; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '21465'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.19634/23.333; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '19634'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.18887/22.478; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '18887'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.16320/29.3594; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '16320'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.16007Mod.by.Handler/23.390; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '16007'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.15410QUAIN/22.478; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '15410'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.15410Mod.by.Handler/23.334; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '15410'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.15410Mod.by.Handler/23.333; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '15410'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.15410Mod.by.Handler/22.401; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '15410'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.15410Mod.by.Handler/20.2485; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '15410'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.15410Mod.by.Handler/18.678; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '15410'++ - user_agent_string: 'Opera/9.60 (J2ME/MIDP;Opera Mini/4.2.15410Mod.by.Handler/503; U; en)Presto/2.2.0'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '15410'++ - user_agent_string: 'Opera/9.50 (J2ME/MIDP; Opera Mini/4.2.15410Mod.by.Handler/20.2590; U; en)'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '15410'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.15410/870; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '15410'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.15410/24.899; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '15410'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.15410/22.394; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '15410'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.15066/886; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '15066'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912mod.By.onome/22.401; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14912'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912Mod.by.Handler/24.783; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14912'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912Mod.by.Handler/23.377; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14912'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912Mod.By.www.9jamusic.cz.cc/22.387; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14912'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912/870; U; id) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14912'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912/35.5706; U; id) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14912'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912/24.746; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14912'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912/23.334; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14912'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912/23.333; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14912'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14912/22.394; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14912'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14885/20.2485; U; zh) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14885'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14881Mod.by.Handler/24.743; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14881'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14881Mod.by.Handler/23.317; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14881'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14753/20.2485; U; zh) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14753'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14409/20.2485; U; zh) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14409'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14320/886; U; id) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14320'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14320/22.478; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14320'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.14320/20.2485; U; zh) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '14320'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.13943/20.2485; U; zh) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '13943'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.13918/22.414; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '13918'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.13400/20.2485; U; zh) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '13400'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.13337.Mod.by.Handler/870; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '13337'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.13337/886; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '13337'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.13337/870; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '13337'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.13337/19.916; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '13337'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.13265/870; U; ro) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '13265'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.13221/886; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '13221'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.13221/870; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '13221'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2.13057/870; U; ja) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch: '13057'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.2 19.42.55/19.892; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '2'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.18061/27.1407; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '4'+ minor: '18061'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.1.15082/870; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '1'+ patch: '15082'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.1.15082/25.677; U; vi) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '1'+ patch: '15082'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.1.15082/20.2489; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '1'+ patch: '15082'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.1.14287/22.387; U; id) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '1'+ patch: '14287'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.1.13907/21.529; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '1'+ patch: '13907'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.1.13573/20.2485; U; zh) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '1'+ patch: '13573'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.1.12965/19.892; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '1'+ patch: '12965'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.1.11321/24.871; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '1'+ patch: '11321'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0.8462/22.414; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch: '8462'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0.8462/19.916; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch: '8462'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0.10247/19.916; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch: '10247'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0.10031/22.453; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch: '10031'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0/886; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0/870; U; id) Presto/2.4.15'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0/22.453; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0/22.401; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0/22.394; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.8.1.11) Gecko/23.390; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0 (Linux; U;'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/23.411; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0 (compatible; MSIE 5.0; UNIX) Opera 6.12 [en]/24.838; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/4.0 (BlackBerry; U; BlackBerry 9800; en) AppleWebKit/24.705; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.60 (J2ME/MIDP; Opera Mini/4.0/490; U; en) Presto/2.2.0'+ family: 'Opera Mini'+ major: '4'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/3.1.10423/22.387; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '3'+ minor: '1'+ patch: '10423'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/1.6.0_13/22.478; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '1'+ minor: '6'+ patch: '0'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/1.6.0_13/19.916; U; en) Presto/2.5.25'+ family: 'Opera Mini'+ major: '1'+ minor: '6'+ patch: '0'++ - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/1.0.30710/29.3594; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '1'+ minor: '0'+ patch: '30710'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/1.0/886; U; en) Presto/2.4.15'+ family: 'Opera Mini'+ major: '1'+ minor: '0'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/SymbianOS/22.478; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major:+ minor:+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/Nokia2730c-1/22.478; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major:+ minor:+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/Mozilla/23.334; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major:+ minor:+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/(Windows; U; Windows NT 5.1; en-US) AppleWebKit/23.411; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major:+ minor:+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini; U; zh) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major:+ minor:+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini; U; en) Presto/2.8.119 Version/11.1019 Version/11.10.10'+ family: 'Opera Mini'+ major:+ minor:+ patch:+
deps/uap-core/test_resources/pgts_browser_list.yaml view
@@ -55,7 +55,7 @@ patch: - user_agent_string: 'Alizee iPod 2005 (Beta; Mac OS X)'- family: 'Mobile Safari UIWebView'+ family: 'Mobile Safari UI/WKWebView' major: minor: patch:@@ -1051,70 +1051,70 @@ patch: '0' - user_agent_string: 'curl/7.10.2 (powerpc-apple-darwin7.0) libcurl/7.10.2 OpenSSL/0.9.7b zlib/1.1.4'- family: 'Other'- major:- minor:- patch:+ family: 'curl'+ major: '7'+ minor: '10'+ patch: '2' - user_agent_string: 'curl/7.10.6 (i386-redhat-linux-gnu) libcurl/7.10.6 OpenSSL/0.9.7a ipv6 zlib/1.1.4'- family: 'Other'- major:- minor:- patch:+ family: 'curl'+ major: '7'+ minor: '10'+ patch: '6' - user_agent_string: 'curl/7.10.6 (i386-redhat-linux-gnu) libcurl/7.10.6 OpenSSL/0.9.7a ipv6 zlib/1.2.0.7'- family: 'Other'- major:- minor:- patch:+ family: 'curl'+ major: '7'+ minor: '10'+ patch: '6' - user_agent_string: 'curl/7.11.2 (i686-pc-linux-gnu) libcurl/7.10.2 OpenSSL/0.9.6i ipv6 zlib/1.1.4'- family: 'Other'- major:- minor:- patch:+ family: 'curl'+ major: '7'+ minor: '11'+ patch: '2' - user_agent_string: 'curl/7.12.0 (i686-pc-linux-gnu) libcurl/7.12.0 OpenSSL/0.9.7e ipv6 zlib/1.2.2'- family: 'Other'- major:- minor:- patch:+ family: 'curl'+ major: '7'+ minor: '12'+ patch: '0' - user_agent_string: 'curl/7.7.2 (powerpc-apple-darwin6.0) libcurl 7.7.2 (OpenSSL 0.9.6b)'- family: 'Other'- major:- minor:- patch:+ family: 'curl'+ major: '7'+ minor: '7'+ patch: '2' - user_agent_string: 'curl/7.7.3 (i686-pc-linux-gnu) libcurl 7.7.3 (OpenSSL 0.9.6)'- family: 'Other'- major:- minor:- patch:+ family: 'curl'+ major: '7'+ minor: '7'+ patch: '3' - user_agent_string: 'curl/7.7.3 (win32) libcurl 7.7.3 (OpenSSL 0.9.6)'- family: 'Other'- major:- minor:- patch:+ family: 'curl'+ major: '7'+ minor: '7'+ patch: '3' - user_agent_string: 'curl/7.9.3 (powerpc-ibm-aix4.3.3.0) libcurl 7.9.3 (OpenSSL 0.9.6m)'- family: 'Other'- major:- minor:- patch:+ family: 'curl'+ major: '7'+ minor: '9'+ patch: '3' - user_agent_string: 'curl/7.9.5 (i386-redhat-linux-gnu) libcurl 7.9.5 (OpenSSL 0.9.6b) (ipv6 enabled)'- family: 'Other'- major:- minor:- patch:+ family: 'curl'+ major: '7'+ minor: '9'+ patch: '5' - user_agent_string: 'curl/7.9.8 (i386-redhat-linux-gnu) libcurl 7.9.8 (OpenSSL 0.9.7a) (ipv6 enabled)'- family: 'Other'- major:- minor:- patch:+ family: 'curl'+ major: '7'+ minor: '9'+ patch: '8' - user_agent_string: 'DA 5.0' family: 'Other'@@ -4165,27 +4165,27 @@ patch: - user_agent_string: 'libwww-perl/5.79'- family: 'Other'- major:- minor:+ family: 'libwww-perl'+ major: '5'+ minor: '79' patch: - user_agent_string: 'SonyEricssonT306/R101 [Html2Wml/0.4.11 libwww-perl/5.79]'- family: 'Other'- major:- minor:+ family: 'libwww-perl'+ major: '5'+ minor: '79' patch: - user_agent_string: 'testJapanequeDelicious/0.1 libwww-perl/5.803'- family: 'Other'- major:- minor:+ family: 'libwww-perl'+ major: '5'+ minor: '803' patch: - user_agent_string: 'W3C-checklink/4.1 [4.14] libwww-perl/5.803'- family: 'Other'- major:- minor:+ family: 'libwww-perl'+ major: '5'+ minor: '803' patch: - user_agent_string: 'Mozilla/3.0 (compatible; Linkman)'@@ -4711,15 +4711,15 @@ patch: - user_agent_string: 'Mozilla/4.0 (compatible; Lotus-Notes/5.0; Windows-NT)'- family: 'Other'- major:- minor:+ family: 'Lotus Notes'+ major: '5'+ minor: '0' patch: - user_agent_string: 'Mozilla/4.0 (compatible; Lotus-Notes/6.0; Windows-NT)'- family: 'Other'- major:- minor:+ family: 'Lotus Notes'+ major: '6'+ minor: '0' patch: - user_agent_string: 'LTH/3.02a (http://www.learntohack.nil)'@@ -74779,15 +74779,15 @@ patch: - user_agent_string: 'Wget/1.8.2 modified'- family: 'Other'- major:- minor:- patch:+ family: 'Wget'+ major: '1'+ minor: '8'+ patch: '2' - user_agent_string: 'Wget/1.9+cvs-stable (Red Hat modified)'- family: 'Other'- major:- minor:+ family: 'Wget'+ major: '1'+ minor: '9' patch: - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 5.00; Window 98)'@@ -74989,13 +74989,13 @@ patch: - user_agent_string: 'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en) AppleWebKit/412.6.2 (KHTML, like Gecko)'- family: 'AppleMail'+ family: 'Apple Mail' major: '412' minor: '6' patch: '2' - user_agent_string: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_3; es-es) AppleWebKit/531.22.7 (KHTML, like Gecko)'- family: 'AppleMail'+ family: 'Apple Mail' major: '531' minor: '22' patch: '7'
deps/uap-core/tests/test_device.yaml view
file too large to diff
deps/uap-core/tests/test_os.yaml view
@@ -245,6 +245,13 @@ patch: '2' patch_minor: + - user_agent_string: 'Mozilla/5.0 (iPod touch; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69'+ family: 'iOS'+ major: '9'+ minor: '3'+ patch: '2'+ patch_minor:+ - user_agent_string: 'MQQBrowser/371 Mozilla/5.0 (iPhone 4S; CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10A523 Safari/7534.48.3' family: 'iOS' major: '6'@@ -413,6 +420,13 @@ patch: patch_minor: + - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview) Chrome/27.0 .1453 Safari/537.36.'+ family: 'Linux'+ major:+ minor:+ patch:+ patch_minor:+ - user_agent_string: 'Bunjalloo/0.7.6(Nintendo DS;U;en)' family: 'Other' major:@@ -784,6 +798,13 @@ patch: patch_minor: + - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Thunderbird/45.0'+ family: 'Windows 7'+ major:+ minor:+ patch:+ patch_minor:+ - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.3a1) Gecko/20100208 MozillaDeveloperPreview/3.7a1 (.NET CLR 3.5.30729)' family: 'Windows 7' major:@@ -2188,9 +2209,142 @@ patch: patch_minor: + - user_agent_string: 'TestApp/1.0 CFNetwork/808.0.2 Darwin/16.0.0'+ family: 'iOS'+ major: '10'+ minor: '0'+ patch:+ patch_minor:++ - user_agent_string: 'TestApp/1.0 CFNetwork/808.1.4 Darwin/16.1.0'+ family: 'iOS'+ major: '10'+ minor: '1'+ patch:+ patch_minor:++ - user_agent_string: 'TestApp/1.0 CFNetwork/808.2.16 Darwin/16.3.0'+ family: 'iOS'+ major: '10'+ minor: '2'+ patch:+ patch_minor:+ - user_agent_string: 'TestApp-tvOS/1.0-1' family: 'tvOS' major: '1' minor: '0'+ patch:+ patch_minor:++ - user_agent_string: 'Roku/DVP-6.2 (096.02E06005A)'+ family: 'Roku'+ major: '6'+ minor: '2'+ patch:+ patch_minor:++ - user_agent_string: 'Roku/DVP-5.0 (025.00E08043A)'+ family: 'Roku'+ major: '5'+ minor: '0'+ patch:+ patch_minor:++ - user_agent_string: 'Roku/DVP-5.1 (025.01E01195A)'+ family: 'Roku'+ major: '5'+ minor: '1'+ patch:+ patch_minor:++ - user_agent_string: 'Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.41 (KHTML, like Gecko) Large Screen WebAppManager Safari/537.41'+ family: 'Web0S'+ major:+ minor:+ patch:+ patch_minor:++ - user_agent_string: 'Mozilla/5.0+(iPhone;+CPU+iPhone+OS+9_3_1+like+Mac+OS+X)+AppleWebKit/601.1.46+(KHTML,+like+Gecko)+Version/9.0+Mobile/13E238+Safari/601.1'+ family: 'iOS'+ major: '9'+ minor: '3'+ patch: '1'+ patch_minor:++ - user_agent_string: 'Mozilla/5.0+(iPad;+CPU+OS+9_3_1+like+Mac+OS+X)+AppleWebKit/601.1.46+(KHTML,+like+Gecko)+Version/9.0+Mobile/13E238+Safari/601.1'+ family: 'iOS'+ major: '9'+ minor: '3'+ patch: '1'+ patch_minor:++ - user_agent_string: 'Mozilla/5.0 (SMART-TV; Linux; Tizen 2.3) AppleWebkit/538.1 (KHTML, like Gecko) SamsungBrowser/1.0 TV Safari/538.1'+ family: 'Tizen'+ major: '2'+ minor: '3'+ patch:+ patch_minor:++ - user_agent_string: 'Deezer/4.8.2 (iOS; 7.1; Mobile; de)'+ family: 'iOS'+ major: '7'+ minor: '1'+ patch:+ patch_minor:++ - user_agent_string: 'Mozilla/5.0 (iOS; U; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/19.0'+ family: 'iOS'+ major:+ minor:+ patch:+ patch_minor:++ - user_agent_string: 'UCWEB/2.0 (iOS; U; iPd OS 7_0_4; zh-CN; iPd5,1) U2/1.0.0 UCBrowser/9.0.1.284 U2/1.0.0 Mobile'+ family: 'iOS'+ major: '7'+ minor: '0'+ patch: '4'+ patch_minor:++ - user_agent_string: 'Mozilla/5.0 (iPhone; CPU IPhone OS 8_1_3 Like Mac OS X) AppleWebKit/600.1.4 (KHTML, Like Gecko) CriOS/43.0.2357.61 Mobile/12B466 Safari/600.1.4'+ family: 'iOS'+ major: '8'+ minor: '1'+ patch: '3'+ patch_minor:++ - user_agent_string: 'Mozilla/5.0 (iPhone; CPU IPhone OS 9_2_1 Like Mac OS X) AppleWebKit/601.1.46 (KHTML, Like Gecko) Mobile/13D15 [FBAN/FBIOS;FBAV/52.0.0.46.157;FBBV/26424168;FBDV/iPhone6,2;FBMD/iPhone;FBSN/iPhone OS;FBSV/9.2.1;FBSS/2; FBCR/Globe;FBID/phone;FBLC/en_US;FBOP/5]'+ family: 'iOS'+ major: '9'+ minor: '2'+ patch: '1'+ patch_minor:++ - user_agent_string: 'Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.84 Safari/537.36 CrKey/1.22.74257'+ family: 'Chromecast'+ major: '1'+ minor: '22'+ patch: '74257'+ patch_minor:++ - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1 (KHTML, like Gecko) Outlook-iOS-Android/1.0 Mobile/13G35 Safari/601.1.46")'+ family: 'iOS'+ major: '9'+ minor: '3'+ patch: '4'+ patch_minor:++ - user_agent_string: 'Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_11_6)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/52.0.2743.116+Safari/537.36'+ family: 'Mac OS X'+ major: '10'+ minor: '11'+ patch: '6'+ patch_minor:++ - user_agent_string: 'Safari/12602.2.14.0.7 CFNetwork/807.1.3 Darwin/16.1.0 (x86_64)'+ family: 'Mac OS X'+ major: '10'+ minor: '12' patch: patch_minor:
deps/uap-core/tests/test_ua.yaml view
@@ -192,12 +192,30 @@ minor: '8' patch: '5' + - user_agent_string: 'Mozilla/5.0 (compatible; Windows NT 6.1; Catchpoint) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'+ family: 'Catchpoint'+ major:+ minor:+ patch:++ - user_agent_string: 'Mozilla/5.0 (compatible; Windows NT 6.1; Catchpoint bot) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36'+ family: 'Catchpoint bot'+ major:+ minor:+ patch:+ - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; chromeframe/11.0.660.0)' family: 'Chrome Frame' major: '11' minor: '0' patch: '660' + - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.1.2; Nexus 5X Build/N2G47W; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36'+ family: 'Chrome Mobile WebView'+ major: '58'+ minor: '0'+ patch: '3029'+ - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.2; Galaxy Nexus Build/JOP40C) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19' family: 'Chrome Mobile' major: '18'@@ -264,6 +282,24 @@ minor: patch: + - user_agent_string: 'Firefox/11.0 (via ggpht.com GoogleImageProxy)'+ family: 'GmailImageProxy'+ major:+ minor:+ patch:++ - user_agent_string: 'Twitterbot/1.0'+ family: 'TwitterBot'+ major: '1'+ minor: '0'+ patch:++ - user_agent_string: 'WhatsApp/2.17.70 W'+ family: 'WhatsApp'+ major: '2'+ minor: '17'+ patch: '70'+ - user_agent_string: 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.1pre) Gecko/20090717 Ubuntu/9.04 (jaunty) Shiretoko/3.5.1pre' family: 'Firefox (Shiretoko)' major: '3'@@ -462,8 +498,14 @@ minor: '0' patch: '2' + - user_agent_string: 'Mozilla/5.0 (iPod touch; CPU iPhone OS 9_3_2 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13F69'+ family: 'Mobile Safari UI/WKWebView'+ major: '9'+ minor: '3'+ patch: '2'+ - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Mobile/11D257'- family: 'Mobile Safari UIWebView'+ family: 'Mobile Safari UI/WKWebView' major: '7' minor: '1' patch: '2'@@ -634,7 +676,7 @@ family: 'Opera Mini' major: '5' minor: '1'- patch:+ patch: '191' - user_agent_string: 'Opera/9.80 (Series 60; Opera Mini/6.24455/25.677; U; fr) Presto/2.5.25 Version/10.54' family: 'Opera Mini'@@ -646,8 +688,32 @@ family: 'Opera Mini' major: '7' minor: '0'+ patch: '31437'++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (S60; SymbOS; Opera Mobi/23.348; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '9'+ minor: '80' patch: + - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9.80 (J2ME/22.478; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '9'+ minor: '80'+ patch:++ - user_agent_string: 'Opera/9.80 (J2ME/MIDP; Opera Mini/9 (Compatible; MSIE:9.0; iPhone; BlackBerry9700; AppleWebKit/24.746; U; en) Presto/2.5.25 Version/10.54'+ family: 'Opera Mini'+ major: '9'+ minor:+ patch:++ - user_agent_string: 'Opera/9.80 (Android; Opera Mini/7.6.35766/35.5706; U; en) Presto/2.8.119 Version/11.10'+ family: 'Opera Mini'+ major: '7'+ minor: '6'+ patch: '35766'+ - user_agent_string: 'Opera/9.80 (S60; SymbOS; Opera Mobi/275; U; es-ES) Presto/2.4.13 Version/10.00' family: 'Opera Mobile' major: '10'@@ -727,11 +793,29 @@ patch: '2' - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20110407 Firefox/4.0.3 PaleMoon/4.0.3'- family: 'Pale Moon (Firefox Variant)'+ family: 'Pale Moon' major: '4' minor: '0' patch: '3' + - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:3.0) Goanna/20170207 PaleMoon/27.1.0'+ family: 'Pale Moon'+ major: '27'+ minor: '1'+ patch: '0'++ - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:3.0) Gecko/20100101 Goanna/20170207 PaleMoon/27.1.0'+ family: 'Pale Moon'+ major: '27'+ minor: '1'+ patch: '0'++ - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:45.9) Gecko/20100101 Goanna/3.0 Firefox/45.9 PaleMoon/27.1.0'+ family: 'Pale Moon'+ major: '27'+ minor: '1'+ patch: '0'+ - user_agent_string: 'Mozilla/5.0 (LG-T500 AppleWebkit/531 Browser/Phantom/V2.0 Widget/LGMW/3.0 MMS/LG-MMS-V1.0/1.2 Java/ASVM/1.1 Profile/MIDP-2.1 Configuration/CLDC-1.1)' family: 'Phantom Browser' major: '2'@@ -744,6 +828,18 @@ minor: '4' patch: + - user_agent_string: 'Mozilla/5.0 (Unknown; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) PingdomTMS/0.8.5 Safari/534.34'+ family: 'PingdomBot'+ major: '0'+ minor: '8'+ patch: '5'++ - user_agent_string: 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/98 Safari/537.4 (StatusCake)'+ family: 'StatusCakeBot'+ major:+ minor:+ patch:+ - user_agent_string: 'Mozilla/3.0 (Planetweb/2.100 JS SSL US; Dreamcast US)' family: 'Planetweb' major: '2'@@ -823,10 +919,10 @@ patch: '5' - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0 Lightning/2.6.4'- family: 'Lightning'- major: '2'- minor: '6'- patch: '4'+ family: 'Thunderbird'+ major: '24'+ minor: '2'+ patch: '0' - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0' family: 'Thunderbird'@@ -834,6 +930,60 @@ minor: '2' patch: '0' + - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Thunderbird/45.0'+ family: 'Thunderbird'+ major: '45'+ minor: '0'+ patch:++ - user_agent_string: 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:7.0.1) Gecko/20151105 Postbox/4.0.8'+ family: 'Postbox'+ major: '4'+ minor: '0'+ patch: '8'++ - user_agent_string: 'Mozilla/4.0 (compatible; Lotus-Notes/6.0; Windows-NT)'+ family: 'Lotus Notes'+ major: '6'+ minor: '0'+ patch:++ - user_agent_string: 'YahooMobileMail/1.0 (Android Mail; 1.3.10) (supersonic;HTC;PC36100;2.3.5/GRJ90)'+ family: 'YahooMobileMail'+ major: '1'+ minor: '0'+ patch:++ - user_agent_string: 'Barca/2.8.2'+ family: 'Barca'+ major: '2'+ minor: '8'+ patch: '2'++ - user_agent_string: 'BarcaPro/1.4.12'+ family: 'Barca'+ major: '1'+ minor: '4'+ patch: '12'++ - user_agent_string: 'The Bat! 4.0.0.22'+ family: 'The Bat!'+ major: '4'+ minor: '0'+ patch: '0'++ - user_agent_string: 'MailBar/1.3.2 (Mac OS X Version 10.11.1 (Build 15B42))'+ family: 'MailBar'+ major: '1'+ minor: '3'+ patch: '2'++ - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) kmail2/4.14.2 Safari/534.34'+ family: 'kmail2'+ major: '4'+ minor: '14'+ patch: '2'+ - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; MSOffice 12)' family: 'Outlook' major: '2007'@@ -853,7 +1003,7 @@ patch: - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/536.26.14 (KHTML, like Gecko)'- family: 'AppleMail'+ family: 'Apple Mail' major: '536' minor: '26' patch: '14'@@ -882,6 +1032,18 @@ minor: '4' patch: '0' + - user_agent_string: 'UCWEB/3.0 (iPhone; CPU OS_6; en-US)AppleWebKit/534.1 U3/3.0.0 Mobile'+ family: 'UC Browser'+ major: '3'+ minor: '0'+ patch: '0'++ - user_agent_string: 'UCWEB/2.0 (Linux; U; Opera Mini/7.1.32052/30.2697; en-US; GT-S5302) U2/1.0.0 UCBrowser/9.3.0.440 Mobile'+ family: 'UC Browser'+ major: '9'+ minor: '3'+ patch: '0'+ - user_agent_string: 'IUC(U;iOS 5.1.1;Zh-cn;320*480;)/UCWEB7.9.0.94/41/997' family: 'UC Browser' major: '7'@@ -906,6 +1068,12 @@ minor: '7' patch: '0' + - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 UBrowser/5.7.14488.1025 Safari/537.36'+ family: 'UC Browser'+ major: '5'+ minor: '7'+ patch: '14488'+ - user_agent_string: 'Alcatel-OH5/1.0 UP.Browser/6.1.0.7.7 (GUI) MMP/1.0' family: 'UP.Browser' major: '6'@@ -1142,14 +1310,14 @@ family: 'Opera Mini' major: '4' minor: '2'- patch:+ patch: '14812' patch_minor: - user_agent_string: 'SAMSUNG-SGH-A897/A897UCJC1; Mozilla/5.0 (Profile/MIDP-2.0 Configuration/CLDC-1.1; Opera Mini/att/4.2.15304; U; fr-US) Opera 9.50' family: 'Opera Mini' major: '4' minor: '2'- patch:+ patch: '15304' patch_minor: - user_agent_string: 'MQQBrowser/39 Mozilla/5.0 (iPhone 4S; CPU iPhone OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10A523 Safari/7534.48.3'@@ -2193,6 +2361,18 @@ minor: patch: + - user_agent_string: 'Google Web Preview'+ family: 'Other'+ major:+ minor:+ patch:++ - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview) Chrome/27.0 .1453 Safari/537.36.'+ family: 'Chrome'+ major: '27'+ minor: '0'+ patch:+ - user_agent_string: 'HiddenMarket-1.0-beta (www.hiddenmarket.net/crawler.php)' family: 'HiddenMarket' major:@@ -3711,6 +3891,30 @@ minor: '7' patch: + - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.0.1; SAMSUNG GT-I9506-ORANGE Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.1 Chrome/34.0.1847.76 Mobile Safari/537.36'+ family: 'Samsung Internet'+ major: '2'+ minor: '1'+ patch:++ - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-T800 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.0 Chrome/38.0.2125.102 Safari/537.36'+ family: 'Samsung Internet'+ major: '3'+ minor: '0'+ patch:++ - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.1.1; SAMSUNG SM-G920F Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2 Chrome/38.0.2125.102 Mobile Safari/537.36'+ family: 'Samsung Internet'+ major: '3'+ minor: '2'+ patch:++ - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-T710 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.5 Chrome/38.0.2125.102 Safari/537.36'+ family: 'Samsung Internet'+ major: '3'+ minor: '5'+ patch:+ - user_agent_string: 'ScSpider/0.2' family: 'ScSpider' major: '0'@@ -5721,6 +5925,12 @@ minor: patch: + - user_agent_string: 'NL-Crawler'+ family: 'NL-Crawler'+ major:+ minor:+ patch:+ - user_agent_string: 'Mozilla/5.0 (compatible; YoudaoBot-rts/1.0; http://www.youdao.com/help/webmaster/spider/; )' family: 'YoudaoBot' major:@@ -6345,8 +6555,14 @@ minor: '2' patch: '1' + - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) pagedraw/0.1.0 Chrome/49.0.2623.75 Electron/0.37.8 Safari/537.36'+ family: 'Electron'+ major: '0'+ minor: '37'+ patch: '8'+ - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Mobile'- family: 'Mobile Safari UIWebView'+ family: 'Mobile Safari UI/WKWebView' major: '4' minor: '3' patch: '2'@@ -6422,3 +6638,551 @@ major: '12' minor: '0' patch:++ - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) brave/0.7.11 Chrome/47.0.2526.110 Brave/0.36.5 Safari/537.36'+ family: 'Brave'+ major: '0'+ minor: '7'+ patch: '11'++ - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) brave/0.7.12 Chrome/47.0.2526.110 Brave/0.36.7 Safari/537.36 '+ family: 'Brave'+ major: '0'+ minor: '7'+ patch: '12'++ - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) brave/0.7.10 Chrome/47.0.2526.110 Brave/0.36.5 Safari/537.36'+ family: 'Brave'+ major: '0'+ minor: '7'+ patch: '10'++ - user_agent_string: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome Safari/537.36'+ family: 'HeadlessChrome'+ major:+ minor:+ patch:++ - user_agent_string: 'Roku/DVP-6.2 (096.02E06005A)'+ family: 'Roku'+ major: '6'+ minor: '2'+ patch:++ - user_agent_string: 'Roku/DVP-5.0 (025.00E08043A)'+ family: 'Roku'+ major: '5'+ minor: '0'+ patch:++ - user_agent_string: 'Roku/DVP-5.1 (025.01E01195A)'+ family: 'Roku'+ major: '5'+ minor: '1'+ patch:++ - user_agent_string: 'Microsoft Office/12.0 (Windows NT 6.1; Microsoft Office Outlook 12.0.6739; Pro)'+ family: 'Outlook'+ major: '2007'+ minor:+ patch:++ - user_agent_string: 'Microsoft Office/14.0 (Windows NT 6.1; Microsoft Outlook 14.0.5128; Pro)'+ family: 'Outlook'+ major: '2010'+ minor:+ patch:++ - user_agent_string: 'Microsoft Office/16.0 (Microsoft Outlook Mail 16.0.6525; Pro)'+ family: 'Outlook'+ major: '2016'+ minor:+ patch:++ - user_agent_string: 'Microsoft Office/16.0 (Windows NT 10.0; Microsoft Outlook 16.0.6326; Pro)'+ family: 'Outlook'+ major: '2016'+ minor:+ patch:++ - user_agent_string: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; WOW64; Trident/8.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Microsoft Outlook 16.0.6366; ms-office; MSOffice 16)'+ family: 'Outlook'+ major: '2016'+ minor:+ patch:++ - user_agent_string: 'Outlook-Express/7.0 (MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; TmstmpExt)'+ family: 'Windows Live Mail'+ major:+ minor:+ patch:++ - user_agent_string: 'Outlook-Express/7.0 (MSIE 7.0; Windows NT 5.1; Trident/4.0; AskTB5.6; TmstmpExt)'+ family: 'Windows Live Mail'+ major:+ minor:+ patch:++ - user_agent_string: 'Outlook-Express/7.0 (MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; Media Center PC 6.0; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; InfoPath.3; FDM; TmstmpExt)'+ family: 'Windows Live Mail'+ major:+ minor:+ patch:++ - user_agent_string: 'Outlook-Express/7.0 (MSIE 6.0; Windows NT 5.1; SV1; GTB6.3; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; InfoPath.2; .NET CLR 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; TmstmpExt)'+ family: 'Windows Live Mail'+ major:+ minor:+ patch:++ - user_agent_string: 'Outlook-Express/7.0 (MSIE 8; Windows NT 5.1; Trident/4.0; GTB7.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; TmstmpExt)'+ family: 'Windows Live Mail'+ major:+ minor:+ patch:++ - user_agent_string: 'Outlook-Express/7.0 (MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; InfoPath.1; TmstmpExt)'+ family: 'Windows Live Mail'+ major:+ minor:+ patch:++ - user_agent_string: 'Outlook-Express/7.0 (MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; HPDTDF; .NET4.0C; BRI/2; AskTbLOL/5.12.5.17640; TmstmpExt)'+ family: 'Windows Live Mail'+ major:+ minor:+ patch:++ - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.0.1; GT-I9505 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 YaBrowser/16.2.1.1239.00 Mobile Safari/537.36'+ family: 'Yandex Browser'+ major: '16'+ minor: '2'+ patch: '1'++ - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.4.2; SM-G800F Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 MobileIron/1.6.0 Mobile Safari/537.36'+ family: 'MobileIron'+ major: '1'+ minor: '6'+ patch: '0'++ - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.4.4; GT-I9195I Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Crosswalk/14.43.343.17 Mobile Safari/537.36'+ family: 'Crosswalk'+ major: '14'+ minor: '43'+ patch: '343'++ - user_agent_string: 'Mozilla/5.0 (Linux; Android 6.0.1; Z831 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.94 Mobile Crosswalk/11.45.2454.20160425 Mobile Safari/537.36'+ family: 'Crosswalk'+ major: '11'+ minor: '45'+ patch: '2454'++ - user_agent_string: 'Mozilla/5.0 (Linux; Android 4.1.2; GT-S7710 Build/JZO54K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile'+ family: 'Chrome Mobile'+ major: '18'+ minor: '0'+ patch: '1025'++ - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU OS 5_1_1 like Mac OS X; en-us) AppleWebKit/534.46.0 (KHTML, like Gecko) Chrome/19.0.1084.60 Mobile/9B206 Safari/7534.48.3'+ family: 'Chrome Mobile'+ major: '19'+ minor: '0'+ patch: '1084'++ - user_agent_string: 'Mozilla/5.0 (Linux; U; Android 4.4.4; de-de; SM-G850F Build/KTU84P) AppleWebKit/537.16 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.16 Chrome/33.0.0.0'+ family: 'Chrome Mobile'+ major: '33'+ minor: '0'+ patch: '0'++ - user_agent_string: 'Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.41 (KHTML, like Gecko) Large Screen WebAppManager Safari/537.41'+ family: 'Safari'+ major:+ minor:+ patch:++ - user_agent_string: 'MacOutlook/15.27.0.161010 (Intelx64 Mac OS X Version 10.11.6 (Build 15G1108))'+ family: 'MacOutlook'+ major: '15'+ minor: '27'+ patch: '0'++ - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/601.7.8 (KHTML, like Gecko) Slack_SSB/2.0.3'+ family: 'Slack Desktop Client'+ major: '2'+ minor: '0'+ patch: '3'++ - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) AtomShell/2.6.0 Chrome/56.0.2924.87 Electron/1.6.3 Safari/537.36 MacAppStore/16.5.0 Slack_SSB/2.6.0'+ family: 'Slack Desktop Client'+ major: '2'+ minor: '6'+ patch: '0'++ - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Slack/2.6.0-beta18998559 Chrome/56.0.2924.87 AtomShell/1.6.3 Safari/537.36 Slack_SSB/2.6.0'+ family: 'Slack Desktop Client'+ major: '2'+ minor: '6'+ patch: '0'++ - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/603.1.30 (KHTML, like Gecko) HipChat/732 (modern)'+ family: 'HipChat Desktop Client'+ major: '732'+ minor:+ patch:++ - user_agent_string: 'HipChat Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.7.0 Chrome/49.0.2623.111 Safari/537.36'+ family: 'HipChat Desktop Client'+ major:+ minor:+ patch:++ - user_agent_string: 'Microsoft-CryptoAPI/6.1'+ family: 'Microsoft-CryptoAPI'+ major: '6'+ minor: '1'+ patch:++ - user_agent_string: 'Microsoft SkyDriveSync 17.3.6517.0809 ship; Windows NT 6.1 Service Pack 1 (7601)'+ family: 'Microsoft SkyDriveSync'+ major: '17'+ minor: '3'+ patch: '6517'++ - user_agent_string: 'ExchangeServicesClient/14.02.0051.000'+ family: 'ExchangeServicesClient'+ major: '14'+ minor: '02'+ patch: '0051'++ - user_agent_string: 'Mac OS X/10.11.6 (15G1004); ExchangeWebServices/6.0 (243); Mail/9.3 (3124)'+ family: 'ExchangeWebServices'+ major: '6'+ minor: '0'+ patch:++ - user_agent_string: 'Mozilla/5.0+(iPhone;+CPU+iPhone+OS+9_3_1+like+Mac+OS+X)+AppleWebKit/601.1.46+(KHTML,+like+Gecko)+Version/9.0+Mobile/13E238+Safari/601.1'+ family: 'Mobile Safari'+ major: '9'+ minor: '0'+ patch:++ - user_agent_string: 'Mozilla/5.0+(iPad;+CPU+OS+9_3_1+like+Mac+OS+X)+AppleWebKit/601.1.46+(KHTML,+like+Gecko)+Version/9.0+Mobile/13E238+Safari/601.1'+ family: 'Mobile Safari'+ major: '9'+ minor: '0'+ patch:++ - user_agent_string: 'Slackbot-LinkExpanding 1.0 (+https://api.slack.com/robots)'+ family: 'Slackbot-LinkExpanding'+ major: '1'+ minor: '0'+ patch:++ - user_agent_string: 'Slack-ImgProxy 1.136 (+https://api.slack.com/robots)'+ family: 'Slack-ImgProxy'+ major: '1'+ minor: '136'+ patch:++ - user_agent_string: 'okhttp/3.4.2'+ family: 'okhttp'+ major: '3'+ minor: '4'+ patch: '2'++ - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1300.0 Iron/23.0.1300.0 Safari/537.11'+ family: 'Iron'+ major: '23'+ minor: '0'+ patch: '1300'++ - user_agent_string: 'Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Iron/9.0.600.2 Chrome/9.0.600.2 Safari/534.13'+ family: 'Iron'+ major: '9'+ minor: '0'+ patch: '600'++ - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2750.0 Iron Safari/537.36'+ family: 'Iron'+ major: '52'+ minor: '0'+ patch: '2750'++ - user_agent_string: 'Mozilla/5.0 (Android; U; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/23.0'+ family: 'AdobeAIR'+ major: '23'+ minor: '0'+ patch:++ - user_agent_string: 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/19.0'+ family: 'AdobeAIR'+ major: '19'+ minor: '0'+ patch:++ - user_agent_string: 'Mozilla/5.0 (iOS; U; en-US) AppleWebKit/533.19.4 (KHTML, like Gecko) AdobeAIR/19.0'+ family: 'AdobeAIR'+ major: '19'+ minor: '0'+ patch:++ - user_agent_string: 'Kurio/3.0.8 Build 65303(Android Kitkat 4.4.4; Phone)'+ family: 'Kurio App'+ major: '3'+ minor: '0'+ patch: '8'++ - user_agent_string: 'BacaBerita App/5.5.0 (Linux; U; Android 4.4.4; en-us) Mobile Safari'+ family: 'BacaBerita App'+ major: '5'+ minor: '5'+ patch: '0'++ - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) MxBrowser/4.5.2.2000 Chrome/30.0.1551.0 Safari/537.36'+ family: 'Maxthon'+ major: '4'+ minor: '5'+ patch: '2'++ - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Maxthon/4.4.5.1000 Chrome/30.0.1599.101 Safari/537.36'+ family: 'Maxthon'+ major: '4'+ minor: '4'+ patch: '5'++ - user_agent_string: 'Mozilla/5.0 (Linux; Android 7.0; SM-G930P Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36 MxBrowser/4.5.10.7000'+ family: 'Maxthon'+ major: '4'+ minor: '5'+ patch: '10'++ - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.6 (KHTML, like Gecko) Chrome/18.0.1025.133 Safari/537.6 Midori/0.5'+ family: 'Midori'+ major: '0'+ minor: '5'+ patch:++ - user_agent_string: 'Mozilla/5.0 (iPad; U; CPU like Mac OS X; FIT_LANG_REPLACE) AppleWebKit/532+ (KHTML, like Gecko) Version/3.0 Mobile/1A538b Safari/419.3 Midori/0.4'+ family: 'Midori'+ major: '0'+ minor: '4'+ patch:++ - user_agent_string: 'curl/7.29.0'+ family: 'curl'+ major: '7'+ minor: '29'+ patch: '0'++ - user_agent_string: 'Debian APT-HTTP/1.3 (1.0.1ubuntu2)'+ family: 'Debian APT-HTTP'+ major: '1'+ minor: '3'+ patch:++ - user_agent_string: 'jupdate'+ family: 'jupdate'+ major:+ minor:+ patch:++ - user_agent_string: 'libcurl-agent/1.0'+ family: 'libcurl-agent'+ major: '1'+ minor: '0'+ patch:++ - user_agent_string: 'libwww-perl/6.05'+ family: 'libwww-perl'+ major: '6'+ minor: '05'+ patch:++ - user_agent_string: 'Microsoft-CryptoAPI/6.3'+ family: 'Microsoft-CryptoAPI'+ major: '6'+ minor: '3'+ patch:++ - user_agent_string: 'OpenBSD ftp'+ family: 'OpenBSD ftp'+ major:+ minor:+ patch:++ - user_agent_string: 'SophosAgent/1.0 (type= spa )'+ family: 'SophosAgent'+ major: '1'+ minor: '0'+ patch:++ - user_agent_string: 'SophosUpdateManager/1.5.7.50 SDDS/2.0 (u= EO2ANA123G c= 6342da15-f351-4ab7-9656-3f5f2d50885d )'+ family: 'SophosUpdateManager'+ major: '1'+ minor: '5'+ patch: '7'++ - user_agent_string: 'Ubuntu APT-HTTP/1.3 (0.7.20.2ubuntu6)'+ family: 'Ubuntu APT-HTTP'+ major: '1'+ minor: '3'+ patch:++ - user_agent_string: 'urlgrabber/3.10 yum/3.4.3'+ family: 'urlgrabber'+ major: '3'+ minor: '10'+ patch:++ - user_agent_string: 'urlgrabber/3.9.1 yum/3.2.29'+ family: 'urlgrabber'+ major: '3'+ minor: '9'+ patch: '1'++ - user_agent_string: 'Wget/1.14 (linux-gnu)'+ family: 'Wget'+ major: '1'+ minor: '14'+ patch:++ - user_agent_string: 'Windows-Update-Agent/7.9.9600.17729 Client-Protocol/1.21'+ family: 'Windows-Update-Agent'+ major: '7'+ minor: '9'+ patch: '9600'++ - user_agent_string: 'Windows-Update-Agent/7.9.9600.18094 Client-Protocol/1.21'+ family: 'Windows-Update-Agent'+ major: '7'+ minor: '9'+ patch: '9600'++ - user_agent_string: 'Mozilla/5.0 (Linux; Android 5.1.1; MI NOTE Pro Build/LMY47V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/48.0.2564.116 Mobile Safari/537.36 baidubrowser/7.7.13.0 (Baidu; P1 5.1.1)'+ family: 'Baidu Browser'+ major: '7'+ minor: '7'+ patch: '13'++ - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/36.1.1.21 Chrome/36.0.1985.97 Safari/537.36'+ family: 'Dragon'+ major: '36'+ minor: '1'+ patch: '1'++ - user_agent_string: 'Mozilla/5.0 (Windows; U; Windows CE 5.1; rv:1.8.1a3) Gecko/20060610 Minimo/0.016'+ family: 'Minimo'+ major: '0'+ minor: '016'+ patch:++ - user_agent_string: 'Opera/9.80 (MAUI Runtime; Opera Mini/4.4.39008/37.9178; U; en) Presto/2.12.423 Version/12.16'+ family: 'Opera Mini'+ major: '4'+ minor: '4'+ patch: '39008'++ - user_agent_string: 'Mozilla/5.0 (compatible; 008/0.83; http://www.80legs.com/spider.html) Gecko/2008032620'+ family: '008'+ major: '0'+ minor: '83'+ patch:++ - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1 (KHTML, like Gecko) Outlook-iOS-Android/1.0 Mobile/13G35 Safari/601.1.46")'+ family: 'Outlook-iOS-Android'+ major: '1'+ minor: '0'+ patch:++ - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.21 Safari/537.36 MMS/1.0.2459.0'+ family: 'Opera Neon'+ major: '1'+ minor: '0'+ patch: '2459'++ - user_agent_string: 'PANTECH-EUROPA-U4000-orange/1.0 Obigo/Q04C MMS/1.2.0 profile/MIDP-2.0 configuration/CLDC-1.1'+ family: 'Obigo'+ major: '04'+ minor:+ patch:++ - user_agent_string: 'masscan/1.0 (https://github.com/robertdavidgraham/masscan)'+ family: 'masscan'+ major: '1'+ minor: '0'+ patch:+++ - user_agent_string: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36 SznProhlizec/3.8.4 NWjs/0.19.6'+ family: 'Seznam.cz'+ major: '3'+ minor: '8'+ patch: '4'+ + - user_agent_string: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_2_1 like Mac OS X) AppleWebKit/602.4.6 (KHTML, like Gecko) Mobile/14D27 SznProhlizec/4.4i'+ family: 'Seznam.cz'+ major: '4'+ minor: '4'+ patch:++ - user_agent_string: 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/42.0 CoRom/36.0.1985.144 Chrome/36.0.1985.144 Safari/537.36'+ family: 'Coc Coc'+ major: '42'+ minor: '0'+ patch:++ - user_agent_string: 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/49.0 Chrome/43.0.2357.138 Safari/537.36'+ family: 'Coc Coc'+ major: '49'+ minor: '0'+ patch:++ - user_agent_string: 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) coc_coc_browser/50.0.125 Chrome/44.0.2403.125 Safari/537.36'+ family: 'Coc Coc'+ major: '50'+ minor: '0'+ patch: '125'++ - user_agent_string: 'Mozilla/5.0 (compatible; Qwantify/2.4w; +https://www.qwant.com/)/2.4w'+ family: 'Qwantify'+ major: '2'+ minor: '4'+ patch:++ - user_agent_string: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12'+ family: 'Edge'+ major: '12'+ minor:+ patch:++ - user_agent_string: 'Bloglovin/1.0 (http://www.bloglovin.com; 1000 subscribers)'+ family: 'Bloglovin'+ major: '1'+ minor: '0'+ patch:++ - user_agent_string: 'Feedbin feed-id:1033517 - 1000 subscribers'+ family: 'Feedbin'+ major:+ minor:+ patch:++ - user_agent_string: 'Tiny Tiny RSS/16.3 (http://tt-rss.org/)'+ family: 'Tiny Tiny RSS'+ major: '16'+ minor: '3'+ patch:++ - user_agent_string: 'Mtps Feed Aggregation System'+ family: 'Mtps Feed Aggregation System'+ major:+ minor:+ patch:++ - user_agent_string: 'Stringer'+ family: 'Stringer'+ major:+ minor:+ patch:+
ua-parser.cabal view
@@ -1,6 +1,6 @@ name: ua-parser description: Please refer to the git/github README on the project for example usage.-version: 0.7.3+version: 0.7.4 synopsis: A library for parsing User-Agent strings, official Haskell port of ua-parser license: BSD3 license-file: LICENSE