mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-30 01:14:25 +03:00
Reorganize test files & directories
This commit is contained in:
72
test/data/ua/extension/cli.json
Normal file
72
test/data/ua/extension/cli.json
Normal file
@@ -0,0 +1,72 @@
|
||||
[
|
||||
{
|
||||
"desc" : "curl",
|
||||
"ua" : "curl/7.38.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "curl",
|
||||
"version" : "7.38.0",
|
||||
"type" : "cli"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "ELinks",
|
||||
"ua" : "ELinks/0.11.4-3-lite (textmode; Debian; Linux 2.6.26-1-686 i686;",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "ELinks",
|
||||
"version" : "0.11.4-3-lite",
|
||||
"type" : "cli"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "ELinks",
|
||||
"ua" : "ELinks (0.11.3; Linux 2.6.23-hardened-r4 i686; 166x55)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "ELinks",
|
||||
"version" : "0.11.3",
|
||||
"type" : "cli"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "HTTPie",
|
||||
"ua" : "HTTPie/0.9.9",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "HTTPie",
|
||||
"version" : "0.9.9",
|
||||
"type" : "cli"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "lynx",
|
||||
"ua" : "Lynx 2.8.8dev.3",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Lynx",
|
||||
"version" : "2.8.8dev.3",
|
||||
"type" : "cli"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "lynx",
|
||||
"ua" : "Lynx/2.6",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Lynx",
|
||||
"version" : "2.6",
|
||||
"type" : "cli"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "wget",
|
||||
"ua" : "Wget/1.21.1",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Wget",
|
||||
"version" : "1.21.1",
|
||||
"type" : "cli"
|
||||
}
|
||||
}
|
||||
]
|
593
test/data/ua/extension/crawler.json
Normal file
593
test/data/ua/extension/crawler.json
Normal file
@@ -0,0 +1,593 @@
|
||||
[
|
||||
{
|
||||
"desc" : "360Spider",
|
||||
"ua" : "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0); 360Spider",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "360Spider",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "AdsBot Mobile Web",
|
||||
"ua" : "AdsBot-Google (+http://www.google.com/adsbot.html)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "AdsBot-Google",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "AdsBot Mobile Web",
|
||||
"ua" : "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; AdsBot-Google-Mobile; +http://www.google.com/mobile/adsbot.html)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "AdsBot-Google-Mobile",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "AdSense",
|
||||
"ua" : "Mediapartners-Google",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Mediapartners-Google",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "AhrefsBot",
|
||||
"ua" : "Mozilla/5.0 (compatible; AhrefsBot/7.0; +http://ahrefs.com/robot/)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "AhrefsBot",
|
||||
"version" : "7.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "AI2Bot",
|
||||
"ua" : "Mozilla/5.0 (compatible) AI2Bot (+https://www.allenai.org/crawler)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "AI2Bot",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "aiHitBot",
|
||||
"ua" : "Mozilla/5.0 (compatible; aiHitBot/2.9; +https://www.aihitdata.com/about)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "aiHitBot",
|
||||
"version" : "2.9",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Applebot",
|
||||
"ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 8_1 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Version/8.0 Mobile/12B410 Safari/600.1.4 (Applebot/0.1;+http://www.apple.com/go/applebot)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Applebot",
|
||||
"version" : "0.1",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Amazonbot",
|
||||
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/600.2.5 (KHTML, like Gecko) Version/8.0.2 Safari/600.2.5 (Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Amazonbot",
|
||||
"version" : "0.1",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Bytespider",
|
||||
"ua" : "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.1511.1269 Mobile Safari/537.36; Bytespider",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Bytespider",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "ClaudeBot",
|
||||
"ua" : "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "ClaudeBot",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "CCBot",
|
||||
"ua" : "CCBot/1.0 (+https://commoncrawl.org/bot.html)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "CCBot",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Coc Coc Bot (web)",
|
||||
"ua" : "Mozilla/5.0 (compatible; coccocbot-web/1.0; +http://help.coccoc.com/searchengine)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "coccocbot-web",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Coc Coc Bot (image)",
|
||||
"ua" : "Mozilla/5.0 (compatible; coccocbot-image/1.0; +http://help.coccoc.com/searchengine)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "coccocbot-image",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "ClaudeWeb",
|
||||
"ua" : "Claude-Web/1.0 (web crawler; +https://www.anthropic.com/; bots@anthropic.com)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Claude-Web",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "DataForSEO",
|
||||
"ua" : "Mozilla/5.0 (compatible; DataForSeoBot; +https://dataforseo.com/dataforseo-bot)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "DataForSeoBot",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Diffbot",
|
||||
"ua" : "Diffbot/0.1",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Diffbot",
|
||||
"version" : "0.1",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Dotbot",
|
||||
"ua" : "Mozilla/5.0 (compatible; DotBot/1.2; +https://opensiteexplorer.org/dotbot; help@moz.com)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "DotBot",
|
||||
"version" : "1.2",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Exabot",
|
||||
"ua" : "Mozilla/5.0 (compatible; Exabot/3.0; +http://www.exabot.com/go/robot)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Exabot",
|
||||
"version" : "3.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "FacebookBot",
|
||||
"ua" : "Mozilla/5.0 (compatible; FacebookBot/1.0; +https://developers.facebook.com/docs/sharing/webmasters/facebookbot/",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "FacebookBot",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "FacebookExternalHit",
|
||||
"ua" : "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "facebookexternalhit",
|
||||
"version" : "1.1",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "FacebookExternalHit",
|
||||
"ua" : "facebookcatalog/1.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "facebookcatalog",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Googlebot-Video",
|
||||
"ua" : "Googlebot-Video/1.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Googlebot-Video",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Googlebot",
|
||||
"ua" : "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Googlebot",
|
||||
"version" : "2.1",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Googlebot Image",
|
||||
"ua" : "Googlebot-Image/1.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Googlebot-Image",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Googlebot Video",
|
||||
"ua" : "Googlebot-Video/1.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Googlebot-Video",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Googlebot News",
|
||||
"ua" : "Googlebot-News/1.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Googlebot-News",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Google Storebot",
|
||||
"ua" : "Storebot-Google/1.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Storebot-Google",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Google InspectionTool",
|
||||
"ua" : "Mozilla/5.0 (compatible; Google-InspectionTool/1.0;)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Google-InspectionTool",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "GoogleOther",
|
||||
"ua" : "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GoogleOther) Chrome/41.0.2272.96 Safari/537.36",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "GoogleOther",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "GoogleOther-Image",
|
||||
"ua" : "GoogleOther-Image/1.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "GoogleOther-Image",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "GoogleOther-Video",
|
||||
"ua" : "GoogleOther-Video/1.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "GoogleOther-Video",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Google-Safety",
|
||||
"ua" : "Google-Safety",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Google-Safety",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "GPTBot",
|
||||
"ua" : "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.0; +https://openai.com/gptbot)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "GPTBot",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Archive.org Bot",
|
||||
"ua" : "ia_archiver/8.1 (Windows 2000 1.9; en-US;)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "ia_archiver",
|
||||
"version" : "8.1",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Archive.org Bot",
|
||||
"ua" : "Mozilla/5.0 (compatible; archive.org_bot/3.3.0 +https://archive.org/details/archive.org_bot)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "archive.org_bot",
|
||||
"version" : "3.3.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "ImagesiftBot",
|
||||
"ua" : "Mozilla/5.0 (compatible; ImagesiftBot; +imagesift.com)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "ImagesiftBot",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "magpie-crawler",
|
||||
"ua" : "magpie-crawler/1.1 (robots-txt-checker; +http://www.brandwatch.net)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "magpie-crawler",
|
||||
"version" : "1.1",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Meta-ExternalAgent",
|
||||
"ua" : "meta-externalagent/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "meta-externalagent",
|
||||
"version" : "1.1",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "MJ12bot",
|
||||
"ua" : "Mozilla/5.0 (compatible; MJ12bot/v1.4.8; http://mj12bot.com/)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "MJ12bot",
|
||||
"version" : "v1.4.8",
|
||||
"major" : "1",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "MojeekBot",
|
||||
"ua" : "Mozilla/5.0 (compatible; MojeekBot/0.11; +https://www.mojeek.com/bot.html)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "MojeekBot",
|
||||
"version" : "0.11",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Omgili",
|
||||
"ua" : "omgili/0.5 +https://omgili.com",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "omgili",
|
||||
"version" : "0.5",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Omgilibot",
|
||||
"ua" : "omgilibot/0.3 +http://www.omgili.com/Crawler.html",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "omgilibot",
|
||||
"version" : "0.3",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "OpenAI Search",
|
||||
"ua" : "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "OAI-SearchBot",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "PerplexityBot",
|
||||
"ua" : "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "PerplexityBot",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "PetalBot",
|
||||
"ua" : "Mozilla/5.0 (compatible;PetalBot; +https://webmaster.petalsearch.com/site/petalbot) ",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "PetalBot",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "PetalBot",
|
||||
"ua" : "Mozilla/5.0 (Linux; Android 7.0;) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; PetalBot;+https://webmaster.petalsearch.com/site/petalbot) ",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "PetalBot",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "SemrushBot",
|
||||
"ua" : "Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "SemrushBot",
|
||||
"version" : "7",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "SeznamBot",
|
||||
"ua" : "Mozilla/5.0 (compatible; SeznamBot/4.0-RC1; +http://napoveda.seznam.cz/seznambot-intro/)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "SeznamBot",
|
||||
"version" : "4.0-RC1",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Teoma",
|
||||
"ua" : "Mozilla/2.0 (compatible; Ask Jeeves/Teoma; +http://sp.ask.com/docs/about/tech_crawling.html)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Teoma",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Timpibot",
|
||||
"ua" : "Timpibot/0.8 (+http://www.timpi.io)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Timpibot",
|
||||
"version" : "0.8",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "TurnitinBot",
|
||||
"ua" : "TurnitinBot (https://turnitin.com/robot/crawlerinfo.html)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "TurnitinBot",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "VelenPublicWebCrawler",
|
||||
"ua" : "Mozilla/5.0 (compatible; VelenPublicWebCrawler/1.0; +https://velen.io)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "VelenPublicWebCrawler",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Yahoo! Japan",
|
||||
"ua" : "Y!J-BRW/1.0 (https://www.yahoo-help.jp/app/answers/detail/p/595/a_id/42716)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Y!J-BRW",
|
||||
"version" : "1.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "YandexBot",
|
||||
"ua" : "Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "YandexBot",
|
||||
"version" : "3.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Yeti",
|
||||
"ua" : "Mozilla/5.0 (compatible; Yeti/1.1; +http://naver.me/spd)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Yeti",
|
||||
"version" : "1.1",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "YisouSpider",
|
||||
"ua" : "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 YisouSpider/5.0 Safari/537.36",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "YisouSpider",
|
||||
"version" : "5.0",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "YisouSpider",
|
||||
"ua" : "YisouSpider",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "YisouSpider",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "YouBot",
|
||||
"ua" : "YouBot (+http://www.you.com)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "YouBot",
|
||||
"version" : "undefined",
|
||||
"type" : "crawler"
|
||||
}
|
||||
}
|
||||
]
|
162
test/data/ua/extension/email.json
Normal file
162
test/data/ua/extension/email.json
Normal file
@@ -0,0 +1,162 @@
|
||||
[
|
||||
{
|
||||
"desc" : "Airmail",
|
||||
"ua" : "Airmail 1.0 rv:148 (Macintosh; Mac OS X 10.8.3; en_BE)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Airmail",
|
||||
"version" : "1.0",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "BlueMail",
|
||||
"ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) BlueMail/0.10.31 Chrome/61.0.3163.100 Electron/2.0.18 Safari/537.36",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "BlueMail",
|
||||
"version" : "0.10.31",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "BlueMail",
|
||||
"ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 12_0_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16A405 BlueMail iOS",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "BlueMail",
|
||||
"version" : "iOS",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Evolution",
|
||||
"ua" : "Evolution/3.52.3",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Evolution",
|
||||
"version" : "3.52.3",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "eM Client",
|
||||
"ua" : "eMClient/9.2.2157.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "eMClient",
|
||||
"version" : "9.2.2157.0",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Foxmail",
|
||||
"ua" : "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36 foxmail/7.2.15.80",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "foxmail",
|
||||
"version" : "7.2.15.80",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "KMail",
|
||||
"ua" : "KMail/4.14.10 (FreeBSD/12.0-CURRENT; KDE/4.14.10; amd64; ; )",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "KMail",
|
||||
"version" : "4.14.10",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "KMail2",
|
||||
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) kmail2/5.7.3 Safari/534.34",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "kmail2",
|
||||
"version" : "5.7.3",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Kontact",
|
||||
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.34 (KHTML, like Gecko) kontact/4.13.3 Safari/534.34",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "kontact",
|
||||
"version" : "4.13.3",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Microsoft Outlook",
|
||||
"ua" : "Microsoft Office/16.0 (Windows NT 10.0; Microsoft Outlook 16.0.5431; Pro)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Microsoft Outlook",
|
||||
"version" : "16.0.5431",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Microsoft Outlook for Mac",
|
||||
"ua" : "MacOutlook/14.7.1.161129 (Intel Mac OS X 10.9.6)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "MacOutlook",
|
||||
"version" : "14.7.1.161129",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "NaverMailApp",
|
||||
"ua" : "NaverMailApp/2.1.23 (Android 10; SM-N960N)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "NaverMailApp",
|
||||
"version" : "2.1.23",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Sparrow",
|
||||
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/604.5.6 (KHTML, like Gecko) Sparrow/1043.1",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Sparrow",
|
||||
"version" : "1043.1",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Thunderbird",
|
||||
"ua" : "Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Thunderbird",
|
||||
"version" : "78.13.0",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Yahoo! Mail",
|
||||
"ua" : "YahooMobile/1.0 (mail; 3.0.5.1311380); (Linux; U; Android 4.0.3; htc_runnymede Build/ICE_CREAM_SANDWICH_MR1);",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Yahoo",
|
||||
"version" : "3.0.5.1311380",
|
||||
"type" : "email"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Yahoo! Mail",
|
||||
"ua" : "YahooMobileMail/1.0 (Android Mail; 1.3.10) (supersonic;HTC;PC36100;2.3.5/GRJ90) ",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Yahoo",
|
||||
"version" : "1.3.10",
|
||||
"type" : "email"
|
||||
}
|
||||
}
|
||||
]
|
342
test/data/ua/extension/extra-devices.json
Normal file
342
test/data/ua/extension/extra-devices.json
Normal file
@@ -0,0 +1,342 @@
|
||||
[{
|
||||
"desc": "Essential PH-1",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 9; PH-1 Build/PPR1.180905.036) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.86 Mobile Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Essential",
|
||||
"model": "PH-1",
|
||||
"type": "mobile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Gigaset Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 4.2.2; Gigaset QV830 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Gigaset",
|
||||
"model": "QV830",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "RCA Voyager III Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 6.0.1; RCT6973W43 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "RCA",
|
||||
"model": "RCT6973W43",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "RCA Voyager II Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 5.0; RCT6773W22B Build/LRX21M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "RCA",
|
||||
"model": "RCT6773W22B",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Verizon Quanta Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; QMV7B Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Verizon",
|
||||
"model": "QMV7B",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Verizon Ellipsis 8 Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 5.1.1; QTAQZ3 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Verizon",
|
||||
"model": "QTAQZ3",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Verizon Ellipsis 8HD Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 6.0.1; QTASUN1 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.81 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Verizon",
|
||||
"model": "QTASUN1",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Dell Venue 8 Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; Venue 8 3830 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Dell",
|
||||
"model": "Venue 8 3830",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Dell Venue 7 Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; Venue 7 3730 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Dell",
|
||||
"model": "Venue 7 3730",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Barnes & Noble Nook HD+ Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; Barnes & Noble Nook HD+ Build/JZO54K; CyanogenMod-10) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
|
||||
"expect": {
|
||||
"vendor": "Barnes & Noble",
|
||||
"model": "Nook HD+",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Barnes & Noble V400 Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 4.0.4; BNTV400 Build/IMM76L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.111 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Barnes & Noble",
|
||||
"model": "V400",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "NuVision TM101A540N Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 5.1; TM101A540N Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/50.0.2661.86 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "NuVision",
|
||||
"model": "TM101A540N",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "ZTE-Z431",
|
||||
"ua": "ZTE-Z431/1.4.0 NetFront/4.2 QTV5.1 Profile/MIDP-2.1 Configuration/CLDC-1.1",
|
||||
"expect": {
|
||||
"vendor": "ZTE",
|
||||
"model": "Z431",
|
||||
"type": "mobile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "ZTE",
|
||||
"ua": "Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; ZTE-Z740G Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
|
||||
"expect": {
|
||||
"vendor": "ZTE",
|
||||
"model": "Z740G",
|
||||
"type": "mobile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "ZTE K Series Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 6.0.1; K88 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "ZTE",
|
||||
"model": "K88",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "ZTE Nubia Red Magic 3",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 9; NX629J Build/PKQ1.190321.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/6.2 TBS/45016 Mobile Safari/537.36 MMWEBID/4064 MicroMessenger/7.0.10.1580(0x27000A34) Process/tools NetType/WIFI Language/zh_CN ABI/arm64",
|
||||
"expect": {
|
||||
"vendor": "ZTE",
|
||||
"model": "NX629J",
|
||||
"type": "mobile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "ZTE Blade A5",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 9; ZTE Blade A5 2019) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "ZTE",
|
||||
"model": "Blade A5 2019",
|
||||
"type": "mobile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "ZTE BLADE V0730",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 6.0; ZTE BLADE V0730) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "ZTE",
|
||||
"model": "BLADE V0730",
|
||||
"type": "mobile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "ZTE B2017G",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 7.1.1; ZTE B2017G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.93 Mobile Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "ZTE",
|
||||
"model": "B2017G",
|
||||
"type": "mobile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Swizz GEN610",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; GEN610 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Swiss",
|
||||
"model": "GEN610",
|
||||
"type": "mobile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Swizz ZUR700",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; ZUR700 Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Swiss",
|
||||
"model": "ZUR700",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Zeki TB782b Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; U; Android 4.0.4; en-US; TB782B Build/IMM76D) AppleWebKit/534.31 (KHTML, like Gecko) UCBrowser/9.0.2.299 U3/0.8.0 Mobile Safari/534.31",
|
||||
"expect": {
|
||||
"vendor": "Zeki",
|
||||
"model": "TB782B",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Dragon Touch Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 4.0.4; DT9138B Build/IMM76D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.72 Mobile Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Dragon Touch",
|
||||
"model": "9138B",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Insignia Tablet",
|
||||
"ua": "Mozilla/5.0 (Linux; U; Android 6.0.1; NS-P08A7100 Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/56.0.2924.87 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Insignia",
|
||||
"model": "NS-P08A7100",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Voice Xtreme V75",
|
||||
"ua": "Mozilla/5.0 (Linux; U; Android 4.2.1; en-us; V75 Build/JOP40D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
|
||||
"expect": {
|
||||
"vendor": "Voice",
|
||||
"model": "V75",
|
||||
"type": "mobile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "LvTel V11",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 5.1.1; V11 Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/39.0.0.0 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "LvTel",
|
||||
"model": "V11",
|
||||
"type": "mobile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Envizen Tablet V100MD",
|
||||
"ua": "Mozilla/5.0 (Linux; U; Android 4.1.1; en-us; V100MD Build/V100MD.20130816) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30",
|
||||
"expect": {
|
||||
"vendor": "Envizen",
|
||||
"model": "V100MD",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Rotor Tablet",
|
||||
"ua": "mozilla/5.0 (linux; android 5.0.1; tu_1491 build/lrx22c) applewebkit/537.36 (khtml, like gecko) chrome/43.0.2357.93 safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Rotor",
|
||||
"model": "1491",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "MachSpeed Tablets",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; Trio 7.85 vQ Build/Trio_7.85_vQ) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "MachSpeed",
|
||||
"model": "Trio 7.85 vQ",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Trinity Tablets",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 5.0.1; Trinity T101 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Trinity",
|
||||
"model": "T101",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "NextBook Next7",
|
||||
"ua": "Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; Next7P12 Build/IMM76I) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30",
|
||||
"expect": {
|
||||
"vendor": "NextBook",
|
||||
"model": "Next7P12",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "NextBook Tablets",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 5.0; NXA8QC116 Build/LRX21V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "NextBook",
|
||||
"model": "NXA8QC116",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Le Pan Tablets",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 4.2.2; Le Pan TC802A Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Le Pan",
|
||||
"model": "TC802A",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Le Pan Tablets",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 4.2.2; Le Pan TC802A Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Le Pan",
|
||||
"model": "TC802A",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "AT&T Radiant Core U304AA",
|
||||
"ua": "Dalvik/2.1.0 (Linux; U; Android 9; U304AA Build/P00610)",
|
||||
"expect": {
|
||||
"vendor": "AT&T",
|
||||
"model": "U304AA",
|
||||
"type": "mobile"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Vodafone Smart Tab 4G",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 4.4.4; Vodafone Smart Tab 4G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Vodafone",
|
||||
"model": "Smart Tab 4G",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "Vodafone Smart ultra 6",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 5.0.2; Vodafone Smart ultra 6 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36",
|
||||
"expect": {
|
||||
"vendor": "Vodafone",
|
||||
"model": "Smart ultra 6",
|
||||
"type": "tablet"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc": "4ife 4K Smart TV Box",
|
||||
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; 4ife 4K Smart TV Box Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36 Vinebre",
|
||||
"expect": {
|
||||
"vendor": "undefined",
|
||||
"model": "undefined",
|
||||
"type": "smarttv"
|
||||
}
|
||||
}]
|
132
test/data/ua/extension/fetcher.json
Normal file
132
test/data/ua/extension/fetcher.json
Normal file
@@ -0,0 +1,132 @@
|
||||
[
|
||||
{
|
||||
"desc" : "AhrefsSiteAudit",
|
||||
"ua" : "Mozilla/5.0 (Linux; Android 13) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.128 Mobile Safari/537.36 (compatible; AhrefsSiteAudit/6.1; +http://ahrefs.com/robot/site-audit)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "AhrefsSiteAudit",
|
||||
"version" : "6.1",
|
||||
"type" : "fetcher"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "BingPreview",
|
||||
"ua" : "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534+ (KHTML, like Gecko) BingPreview/1.0b",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "BingPreview",
|
||||
"version" : "1.0b",
|
||||
"type" : "fetcher"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "ChatGPT-User",
|
||||
"ua" : "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "ChatGPT-User",
|
||||
"version" : "1.0",
|
||||
"type" : "fetcher"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "DuckAssistBot",
|
||||
"ua" : "DuckAssistBot/1.2; (+http://duckduckgo.com/duckassistbot.html)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "DuckAssistBot",
|
||||
"version" : "1.2",
|
||||
"type" : "fetcher"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Google FeedFetcher",
|
||||
"ua" : "FeedFetcher-Google; (+http://www.google.com/feedfetcher.html)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "FeedFetcher-Google",
|
||||
"version" : "undefined",
|
||||
"type" : "fetcher"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Google Read Aloud - Mobile agent",
|
||||
"ua" : "Mozilla/5.0 (Linux; Android 7.0; SM-G930V Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.125 Mobile Safari/537.36 (compatible; Google-Read-Aloud; +https://support.google.com/webmasters/answer/1061943)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Google-Read-Aloud",
|
||||
"version" : "undefined",
|
||||
"type" : "fetcher"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Google Read Aloud - Desktop agent",
|
||||
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36 (compatible; Google-Read-Aloud; +https://support.google.com/webmasters/answer/1061943)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Google-Read-Aloud",
|
||||
"version" : "undefined",
|
||||
"type" : "fetcher"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Google Publisher Center",
|
||||
"ua" : "GoogleProducer; (+https://developers.google.com/search/docs/crawling-indexing/google-producer)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "GoogleProducer",
|
||||
"version" : "undefined",
|
||||
"type" : "fetcher"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Google Site Verifier",
|
||||
"ua" : "Mozilla/5.0 (compatible; Google-Site-Verification/1.0)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Google-Site-Verification",
|
||||
"version" : "1.0",
|
||||
"type" : "fetcher"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Meta-ExternalFetcher",
|
||||
"ua" : "meta-externalfetcher/1.1 (+https://developers.facebook.com/docs/sharing/webmasters/crawler)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "meta-externalfetcher",
|
||||
"version" : "1.1",
|
||||
"type" : "fetcher"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Rogerbot",
|
||||
"ua" : "Mozilla/5.0 (compatible; rogerBot/1.0; UrlCrawler; http://www.seomoz.org/dp/rogerbot)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "rogerBot",
|
||||
"version" : "1.0",
|
||||
"type" : "fetcher"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "UptimeRobot",
|
||||
"ua" : "Mozilla/5.0 (compatible; UptimeRobot/2.0; http://www.uptimerobot.com/)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "UptimeRobot",
|
||||
"version" : "2.0",
|
||||
"type" : "fetcher"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Vercelbot",
|
||||
"ua" : "Vercelbot (+https://vercel.com)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Vercelbot",
|
||||
"version" : "undefined",
|
||||
"type" : "fetcher"
|
||||
}
|
||||
}
|
||||
]
|
192
test/data/ua/extension/library.json
Normal file
192
test/data/ua/extension/library.json
Normal file
@@ -0,0 +1,192 @@
|
||||
[
|
||||
{
|
||||
"desc" : "Apache-HttpClient",
|
||||
"ua" : "Apache-HttpClient/4.5.14 (Java/17.0.12)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Apache-HttpClient",
|
||||
"version" : "4.5.14",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Axios",
|
||||
"ua" : "axios/1.7.2",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "axios",
|
||||
"version" : "1.7.2",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "go-http-client",
|
||||
"ua" : "go-http-client/1.1",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "go-http-client",
|
||||
"version" : "1.1",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "got",
|
||||
"ua" : "got/9.6.0 (https://github.com/sindresorhus/got)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "got",
|
||||
"version" : "9.6.0",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "GuzzleHttp",
|
||||
"ua" : "GuzzleHttp/6.5.5 curl/7.70.0 PHP/7.4.22",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "GuzzleHttp",
|
||||
"version" : "6.5.5",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Java",
|
||||
"ua" : "Java/1.6.0_14",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Java",
|
||||
"version" : "1.6.0_14",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Java HTTPClient",
|
||||
"ua" : "Java-http-client/11.0.6",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Java-http-client",
|
||||
"version" : "11.0.6",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "jsdom",
|
||||
"ua" : "Mozilla/5.0 (unknown OS) AppleWebKit/537.36 (KHTML, like Gecko) jsdom/11.12.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "jsdom",
|
||||
"version" : "11.12.0",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "libwww-perl",
|
||||
"ua" : "libwww-perl/6.05",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "libwww-perl",
|
||||
"version" : "6.05",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "lua-resty-http",
|
||||
"ua" : "lua-resty-http/0.07 (Lua)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "lua-resty-http",
|
||||
"version" : "0.07",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Needle",
|
||||
"ua" : "Needle/3.2.0 (Node.js v18.14.2; win32 x64)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Needle",
|
||||
"version" : "3.2.0",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "OkHttp",
|
||||
"ua" : "okhttp/3.2.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "okhttp",
|
||||
"version" : "3.2.0",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "node-fetch",
|
||||
"ua" : "node-fetch/1.0 (+https://github.com/bitinn/node-fetch)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "node-fetch",
|
||||
"version" : "1.0",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "PHP-SOAP",
|
||||
"ua" : "PHP-SOAP/7.4.33",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "PHP-SOAP",
|
||||
"version" : "7.4.33",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "PostmanRuntime",
|
||||
"ua" : "PostmanRuntime/7.26.5",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "PostmanRuntime",
|
||||
"version" : "7.26.5",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Python urllib",
|
||||
"ua" : "Python-urllib/2.6",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Python-urllib",
|
||||
"version" : "2.6",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Python requests",
|
||||
"ua" : "python-requests/2.32",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "python-requests",
|
||||
"version" : "2.32",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Scrapy",
|
||||
"ua" : "Scrapy/1.5.0 (+https://scrapy.org)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Scrapy",
|
||||
"version" : "1.5.0",
|
||||
"type" : "library"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "superagent",
|
||||
"ua" : "node-superagent/5.0.2",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "node-superagent",
|
||||
"version" : "5.0.2",
|
||||
"type" : "library"
|
||||
}
|
||||
}
|
||||
]
|
552
test/data/ua/extension/mediaplayer.json
Normal file
552
test/data/ua/extension/mediaplayer.json
Normal file
@@ -0,0 +1,552 @@
|
||||
[
|
||||
{
|
||||
"desc" : "Coremedia",
|
||||
"ua" : "Apple Mac OS X v10.6.4 CoreMedia v1.0.0.10F2108",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "CoreMedia",
|
||||
"version" : "1.0.0.10F2108",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "AppleCoreMedia",
|
||||
"ua" : "AppleCoreMedia/1.0.0.10A403 (iPad; U; CPU OS 6_0 like Mac OS X; it_it)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "AppleCoreMedia",
|
||||
"version" : "1.0.0.10A403",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "AppleTv",
|
||||
"ua" : "AppleTV/3.0.2 (Macintosh; Intel Mac OS X 10.4.7) AppleWebKit/528.18",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "AppleTV",
|
||||
"version" : "3.0.2",
|
||||
"major" : "3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Aqualung",
|
||||
"ua" : "Aqualung/R-1114",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Aqualung",
|
||||
"version" : "R-1114",
|
||||
"major" : "undefined"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Ares",
|
||||
"ua" : "Ares 2.2.4.3048",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Ares",
|
||||
"version" : "2.2.4.3048",
|
||||
"major" : "2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Audacious",
|
||||
"ua" : "Audacious/3.2.2 neon/0.29.3",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Audacious",
|
||||
"version" : "3.2.2",
|
||||
"major" : "3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "AudiMusicStream",
|
||||
"ua" : "AudiMusicStream/3020.130826151911",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "AudiMusicStream",
|
||||
"version" : "3020.130826151911",
|
||||
"major" : "3020"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "BASS",
|
||||
"ua" : "BASS/2.4",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "BASS",
|
||||
"version" : "2.4",
|
||||
"major" : "2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "BSPlayer",
|
||||
"ua" : "BSPlayer/2",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "BSPlayer",
|
||||
"version" : "2",
|
||||
"major" : "2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Core",
|
||||
"ua" : "CORE/6.506.4.1",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "CORE",
|
||||
"version" : "6.506.4.1",
|
||||
"major" : "6"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Clementine",
|
||||
"ua" : "Clementine 1.1",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Clementine",
|
||||
"version" : "1.1",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "NexPlayer",
|
||||
"ua" : "E97510d/ Player/NexPlayer 4.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "NexPlayer",
|
||||
"version" : "4.0",
|
||||
"major" : "4"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "FLRP",
|
||||
"ua" : "FLRP/2.5 CFNetwork/609.1.4 Darwin/13.0.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Flip Player",
|
||||
"version" : "2.5",
|
||||
"major" : "2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "FStream",
|
||||
"ua" : "FStream",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "FStream",
|
||||
"version" : "undefined",
|
||||
"major" : "undefined"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "GStreamer",
|
||||
"ua" : "GStreamer souphttpsrc (compatible; LG NetCast.TV-2012) libsoup/2.34.2",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "GStreamer",
|
||||
"version" : "2.34.2",
|
||||
"major" : "2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "GnomeMplayer",
|
||||
"ua" : "GnomeMplayer/1.0.2",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "GnomeMplayer",
|
||||
"version" : "1.0.2",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "HTC Streaming Player",
|
||||
"ua" : "HTC Streaming Player htc_asia_wwe / 1.0 / endeavoru / 4.1.1",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "HTC Streaming Player",
|
||||
"version" : "1.0",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "HTC One S",
|
||||
"ua" : "HTC_One_S/3.16.111.10",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "HTC One S",
|
||||
"version" : "3.16.111.10",
|
||||
"major" : "3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "LG Player",
|
||||
"ua" : "LG Player 1.0; Android",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "LG Player",
|
||||
"version" : "1.0",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "NexPlayer",
|
||||
"ua" : "LG-P700/V10k-DEC-12-2012 Player/NexPlayer 4.0 for Android",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "NexPlayer",
|
||||
"version" : "4.0",
|
||||
"major" : "4"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "LG Player",
|
||||
"ua" : "LGE400/V10b Player/LG Player 1.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "LG Player",
|
||||
"version" : "1.0",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Lavf",
|
||||
"ua" : "Lavf52.111.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Lavf",
|
||||
"version" : "52.111.0",
|
||||
"major" : "52"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Lyssna",
|
||||
"ua" : "Lyssna/46 CFNetwork/609.1.4 Darwin/13.0.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Lyssna",
|
||||
"version" : "46",
|
||||
"major" : "46"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "MPlayer",
|
||||
"ua" : "MPlayer 1.1-4.2.1",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "MPlayer",
|
||||
"version" : "1.1-4.2.1",
|
||||
"major" : ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "MPlayer SVN",
|
||||
"ua" : "MPlayer SVN-r33713-4.6.1",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "MPlayer",
|
||||
"version" : "r33713-4.6.1",
|
||||
"major" : "undefined"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "MPlayer ubuntu",
|
||||
"ua" : "MPlayer svn r34540 (Ubuntu), built with gcc-4.6",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "MPlayer",
|
||||
"version" : "r34540",
|
||||
"major" : "undefined"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "MoC",
|
||||
"ua" : "Music On Console/2.5.0-beta1",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Music On Console",
|
||||
"version" : "2.5.0-beta1",
|
||||
"major" : "2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "MPD",
|
||||
"ua" : "Music Player Daemon 0.17.4",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Music Player Daemon",
|
||||
"version" : "0.17.4",
|
||||
"major" : "0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "NSPlayer",
|
||||
"ua" : "NSPlayer/11.0.5358.4827 WMFSDK/11.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "NSPlayer",
|
||||
"version" : "11.0.5358.4827",
|
||||
"major" : "11"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Nero Home",
|
||||
"ua" : "Nero Home/1.5.3.0 (compatible; Nero AG; Nero Home 1.5.3.0)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Nero Home",
|
||||
"version" : "1.5.3.0",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "NexPlayer",
|
||||
"ua" : "NexPlayer 4.0 for Android( stagefright alternative )",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "NexPlayer",
|
||||
"version" : "4.0",
|
||||
"major" : "4"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Nokia3xx",
|
||||
"ua" : "Nokia303/14.87 CLDC-1.1",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Nokia303",
|
||||
"version" : "14.87",
|
||||
"major" : "14"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "MPlayer SVN Sherpya",
|
||||
"ua" : "MPlayer Sherpya-SVN-r33124-4.2.5",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "MPlayer",
|
||||
"version" : "r33124-4.2.5",
|
||||
"major" : "undefined"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Philips Songbird",
|
||||
"ua" : "NotMoz/5.0 (Windows; U; Windows NT 5.1; it; rv:1.9.2.3) Gecko/20101207 Philips-Songbird/5.4.1980 Songbird/1.9.4 (20110302030555)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Songbird",
|
||||
"version" : "1.9.4",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Ossproxy",
|
||||
"ua" : "OSSProxy 1.3.336.320 (Build 336.320 Win32 en-us)(Aug 16 2013 17:38:43)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "OSSProxy",
|
||||
"version" : "1.3.336.320",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Winamp3",
|
||||
"ua" : "Nullsoft Winamp3 version 3.0 (compatible)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Winamp",
|
||||
"version" : "3.0",
|
||||
"major" : "3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "PSP",
|
||||
"ua" : "PSP-InternetRadioPlayer/1.00",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "PSP-InternetRadioPlayer",
|
||||
"version" : "1.00",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "urllib",
|
||||
"ua" : "Python-urllib/2.7",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Python-urllib",
|
||||
"version" : "2.7",
|
||||
"major" : "2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "QuickTime",
|
||||
"ua" : "QuickTime/7.5.6 (qtver=7.5.6;cpu=IA32;os=Mac 10.5.8)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "QuickTime",
|
||||
"version" : "7.5.6",
|
||||
"major" : "7"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "RMA",
|
||||
"ua" : "RMA/1.0 (compatible; RealMedia)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "RMA",
|
||||
"version" : "1.0",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "RadioApp",
|
||||
"ua" : "RadioApp/1.0 CFNetwork/609.1.4 Darwin/11.4.2",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "RadioApp",
|
||||
"version" : "1.0",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "RadioClientApplication",
|
||||
"ua" : "RadioClientApplication/20 CFNetwork/609.1.4 Darwin/13.0.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "RadioClientApplication",
|
||||
"version" : "20",
|
||||
"major" : "undefined"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "stagefright",
|
||||
"ua" : "Samsung GT-I9070 stagefright/1.1 (Linux;Android 2.3.6)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "stagefright",
|
||||
"version" : "1.1",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Soundtap",
|
||||
"ua" : "Soundtap/1.2.4 CFNetwork/672.0.2 Darwin/14.0.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Soundtap",
|
||||
"version" : "1.2.4",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Streamium",
|
||||
"ua" : "Streamium/1.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Streamium",
|
||||
"version" : "1.0",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Totem",
|
||||
"ua" : "Totem/3.0.1",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Totem",
|
||||
"version" : "3.0.1",
|
||||
"major" : "3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "VLC",
|
||||
"ua" : "VLC media player - version 0.8.6c Janus - (c) 1996-2007 the VideoLAN team",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "VLC",
|
||||
"version" : "0.8.6c",
|
||||
"major" : "0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "VLC",
|
||||
"ua" : "VLC/2.0.0 LibVLC/2.0.0",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "VLC",
|
||||
"version" : "2.0.0",
|
||||
"major" : "2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Videos",
|
||||
"ua" : "Videos/3.8.2",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Video",
|
||||
"version" : "3.8.2",
|
||||
"major" : "3"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Winamp",
|
||||
"ua" : "Winamp 2.81",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Winamp",
|
||||
"version" : "2.81",
|
||||
"major" : "2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Winamp",
|
||||
"ua" : "WinampMPEG/2.00",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Winamp",
|
||||
"version" : "2.00",
|
||||
"major" : "2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "Windows Media Player",
|
||||
"ua" : "Windows-Media-Player/10.00.00.4019",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "Windows Media Player",
|
||||
"version" : "10.00.00.4019",
|
||||
"major" : "10"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "XBMC",
|
||||
"ua" : "XBMC/12.0 Git:20130127-fb595f2 (Windows NT 6.1;WOW64;Win64;x64; http://www.xbmc.org)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "XBMC",
|
||||
"version" : "12.0",
|
||||
"major" : "12"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "rad.io",
|
||||
"ua" : "rad.io 1.18.1 rv:593 (iPhone 4S; iPhone OS 7.0.4; it_IT)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "rad.io",
|
||||
"version" : "1.18.1",
|
||||
"major" : "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"desc" : "BE-Test",
|
||||
"ua" : "APP-BE Test/1.0 (iPad; Apple; CPU iPhone OS 7_0_2 like Mac OS X)",
|
||||
"expect" :
|
||||
{
|
||||
"name" : "BE Test",
|
||||
"version" : "1.0",
|
||||
"major" : "1"
|
||||
}
|
||||
}
|
||||
]
|
Reference in New Issue
Block a user