1
0
mirror of https://github.com/lancedikson/bowser synced 2025-12-05 06:02:14 +00:00

added missing parts

This commit is contained in:
naorpeled 2025-11-22 15:32:20 +02:00
parent da61600a31
commit 4050a25bd2
2 changed files with 166 additions and 0 deletions

View File

@ -1,12 +1,16 @@
// NOTE: this list must be up-to-date with browsers listed in // NOTE: this list must be up-to-date with browsers listed in
// test/acceptance/useragentstrings.yml // test/acceptance/useragentstrings.yml
export const BROWSER_ALIASES_MAP = { export const BROWSER_ALIASES_MAP = {
AmazonBot: 'amazonbot',
'Amazon Silk': 'amazon_silk', 'Amazon Silk': 'amazon_silk',
'Android Browser': 'android', 'Android Browser': 'android',
BaiduSpider: 'baiduspider',
Bada: 'bada', Bada: 'bada',
BingCrawler: 'bingcrawler',
BlackBerry: 'blackberry', BlackBerry: 'blackberry',
Chrome: 'chrome', Chrome: 'chrome',
Chromium: 'chromium', Chromium: 'chromium',
DuckDuckBot: 'duckduckbot',
Electron: 'electron', Electron: 'electron',
Epiphany: 'epiphany', Epiphany: 'epiphany',
Firefox: 'firefox', Firefox: 'firefox',
@ -14,8 +18,10 @@ export const BROWSER_ALIASES_MAP = {
Generic: 'generic', Generic: 'generic',
'Google Search': 'google_search', 'Google Search': 'google_search',
Googlebot: 'googlebot', Googlebot: 'googlebot',
InternetArchiveCrawler: 'internetarchivecrawler',
'Internet Explorer': 'ie', 'Internet Explorer': 'ie',
'K-Meleon': 'k_meleon', 'K-Meleon': 'k_meleon',
MetaWebCrawler: 'metawebcrawler',
Maxthon: 'maxthon', Maxthon: 'maxthon',
'Microsoft Edge': 'edge', 'Microsoft Edge': 'edge',
'MZ Browser': 'mz', 'MZ Browser': 'mz',
@ -39,26 +45,35 @@ export const BROWSER_ALIASES_MAP = {
Vivaldi: 'vivaldi', Vivaldi: 'vivaldi',
'WebOS Browser': 'webos', 'WebOS Browser': 'webos',
WeChat: 'wechat', WeChat: 'wechat',
YahooSlurp: 'yahooslurp',
'Yandex Browser': 'yandex', 'Yandex Browser': 'yandex',
YandexBot: 'yandexbot',
Roku: 'roku', Roku: 'roku',
PingdomBot: 'pingdombot',
}; };
export const BROWSER_MAP = { export const BROWSER_MAP = {
amazonbot: 'AmazonBot',
amazon_silk: 'Amazon Silk', amazon_silk: 'Amazon Silk',
android: 'Android Browser', android: 'Android Browser',
baiduspider: 'BaiduSpider',
bada: 'Bada', bada: 'Bada',
bingcrawler: 'BingCrawler',
blackberry: 'BlackBerry', blackberry: 'BlackBerry',
chrome: 'Chrome', chrome: 'Chrome',
chromium: 'Chromium', chromium: 'Chromium',
duckduckbot: 'DuckDuckBot',
electron: 'Electron', electron: 'Electron',
epiphany: 'Epiphany', epiphany: 'Epiphany',
firefox: 'Firefox', firefox: 'Firefox',
focus: 'Focus', focus: 'Focus',
generic: 'Generic', generic: 'Generic',
googlebot: 'Googlebot', googlebot: 'Googlebot',
internetarchivecrawler: 'InternetArchiveCrawler',
google_search: 'Google Search', google_search: 'Google Search',
ie: 'Internet Explorer', ie: 'Internet Explorer',
k_meleon: 'K-Meleon', k_meleon: 'K-Meleon',
metawebcrawler: 'MetaWebCrawler',
maxthon: 'Maxthon', maxthon: 'Maxthon',
edge: 'Microsoft Edge', edge: 'Microsoft Edge',
mz: 'MZ Browser', mz: 'MZ Browser',
@ -83,6 +98,9 @@ export const BROWSER_MAP = {
webos: 'WebOS Browser', webos: 'WebOS Browser',
wechat: 'WeChat', wechat: 'WeChat',
yandex: 'Yandex Browser', yandex: 'Yandex Browser',
yahooslurp: 'YahooSlurp',
yandexbot: 'YandexBot',
pingdombot: 'PingdomBot',
}; };
export const PLATFORMS_MAP = { export const PLATFORMS_MAP = {

View File

@ -45,6 +45,154 @@ const browsersList = [
}, },
}, },
/* AmazonBot */
{
test: [/amazonbot/i],
describe(ua) {
const browser = {
name: 'AmazonBot',
};
const version = Utils.getFirstMatch(/amazonbot\/(\d+(\.\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);
if (version) {
browser.version = version;
}
return browser;
},
},
/* BingCrawler */
{
test: [/bingbot/i],
describe(ua) {
const browser = {
name: 'BingCrawler',
};
const version = Utils.getFirstMatch(/bingbot\/(\d+(\.\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);
if (version) {
browser.version = version;
}
return browser;
},
},
/* BaiduSpider */
{
test: [/baiduspider/i],
describe(ua) {
const browser = {
name: 'BaiduSpider',
};
const version = Utils.getFirstMatch(/baiduspider\/(\d+(\.\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);
if (version) {
browser.version = version;
}
return browser;
},
},
/* DuckDuckBot */
{
test: [/duckduckbot/i],
describe(ua) {
const browser = {
name: 'DuckDuckBot',
};
const version = Utils.getFirstMatch(/duckduckbot\/(\d+(\.\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);
if (version) {
browser.version = version;
}
return browser;
},
},
/* InternetArchiveCrawler */
{
test: [/ia_archiver/i],
describe(ua) {
const browser = {
name: 'InternetArchiveCrawler',
};
const version = Utils.getFirstMatch(/ia_archiver\/(\d+(\.\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);
if (version) {
browser.version = version;
}
return browser;
},
},
/* MetaWebCrawler */
{
test: [/facebookexternalhit/i, /facebookcatalog/i],
describe(ua) {
const browser = {
name: 'MetaWebCrawler',
};
const version = Utils.getFirstMatch(/facebookexternalhit\/(\d+(\.\d+)+)/i, ua)
|| Utils.getFirstMatch(/facebookcatalog\/(\d+(\.\d+)+)/i, ua)
|| Utils.getFirstMatch(commonVersionIdentifier, ua);
if (version) {
browser.version = version;
}
return browser;
},
},
/* YahooSlurp */
{
test: [/yahoo!?[\s/]*slurp/i],
describe() {
return {
name: 'YahooSlurp',
};
},
},
/* YandexBot */
{
test: [/yandexbot/i, /yandexmobilebot/i],
describe(ua) {
const browser = {
name: 'YandexBot',
};
const version = Utils.getFirstMatch(/yandex(?:bot|mobilebot)\/(\d+(\.\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);
if (version) {
browser.version = version;
}
return browser;
},
},
/* PingdomBot */
{
test: [/pingdom/i],
describe(ua) {
const browser = {
name: 'PingdomBot',
};
const version = Utils.getFirstMatch(/version[_/](\d+(\.\d+)+)/i, ua) || Utils.getFirstMatch(/pingdom\.com_bot_.*?(\d+(\.\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua);
if (version) {
browser.version = version;
}
return browser;
},
},
/* Opera < 13.0 */ /* Opera < 13.0 */
{ {
test: [/opera/i], test: [/opera/i],