This commit is contained in:
Faisal Salman 2023-03-19 11:05:25 +07:00
commit 08436ce4f5
3 changed files with 85 additions and 51 deletions

View File

@ -102,19 +102,19 @@ The methods are self explanatory, here's a small overview on all the available m
# Possible 'browser.name': # Possible 'browser.name':
2345Explorer, 360 Browser, Amaya, Android Browser, Arora, Avant, Avast, AVG, 2345Explorer, 360 Browser, Amaya, Android Browser, Arora, Avant, Avast, AVG,
BIDUBrowser, Baidu, Basilisk, Blazer, Bolt, Brave, Bowser, Camino, Chimera, BIDUBrowser, Baidu, Basilisk, Blazer, Bolt, Brave, Bowser, Camino, Chimera,
Chrome Headless, Chrome WebView, Chrome, Chromium, Cobalt, Comodo Dragon, Dillo, Chrome [Mobile/Headless/WebView], Chromium, Cobalt, Comodo Dragon, Dillo,
Dolphin, Doris, DuckDuckGo, Edge, Electron, Epiphany, Facebook, Falkon, Fennec, Dolphin, Doris, DuckDuckGo, Edge, Electron, Epiphany, Facebook, Falkon, Fennec,
Firebird, Firefox [Focus/Reality], Flock, Flow, GSA, GoBrowser, Huawei Browser, Firebird, Firefox [Mobile/Focus/Reality], Flock, Flow, GSA, GoBrowser,
ICE Browser, IE, IEMobile, IceApe, IceCat, IceDragon, Iceweasel, Instagram, Huawei Browser, ICE Browser, IE, IEMobile, IceApe, IceCat, IceDragon, Iceweasel,
Iridium, Iron, Jasmine, Kakao[Story/Talk], K-Meleon, Kindle, Klar, Konqueror, Instagram, Iridium, Iron, Jasmine, Kakao[Story/Talk], K-Meleon, Kindle, Klar,
LBBROWSER, Line, LinkedIn, Links, Lunascape, Lynx, MIUI Browser, Maemo Browser, Konqueror, LBBROWSER, Line, LinkedIn, Links, Lunascape, Lynx, MIUI Browser,
Maemo, Maxthon, MetaSr Midori, Minimo, Mobile Safari, Mosaic, Mozilla, NetFront, Maemo Browser, Maemo, Maxthon, MetaSr Midori, Minimo, Mosaic, Mozilla, NetFront,
NetSurf, Netfront, Netscape, NokiaBrowser, Obigo, Oculus Browser, OmniWeb, NetSurf, Netfront, Netscape, NokiaBrowser, Obigo, Oculus Browser, OmniWeb,
Opera Coast, Opera [Mini/Mobi/Tablet], PaleMoon, PhantomJS, Phoenix, Polaris, Opera Coast, Opera [Mini/Mobi/Tablet], PaleMoon, PhantomJS, Phoenix, Polaris,
Puffin, QQ, QQBrowser, QQBrowserLite, Quark, QupZilla, RockMelt, Safari, Puffin, QQ, QQBrowser, QQBrowserLite, Quark, QupZilla, RockMelt, Safari [Mobile],
Sailfish Browser, Samsung Browser, SeaMonkey, Silk, Skyfire, Sleipnir, Slim, Sailfish Browser, Samsung Browser, SeaMonkey, Silk, Skyfire, Sleipnir, Slim,
SlimBrowser, Swiftfox, Tesla, Tizen Browser, UCBrowser, UP.Browser, Viera, SlimBrowser, Swiftfox, Tesla, Tizen Browser, UCBrowser, UP.Browser, Viera,
Vivaldi, Waterfox, WeChat, Weibo, Yandex, baidu, iCab, w3m, Whale Browser... Vivaldi, Waterfox, WeChat, Weibo, Yandex, baidu, iCab, w3m, Whale Browser, ...
# 'browser.version' determined dynamically # 'browser.version' determined dynamically
``` ```

View File

@ -52,39 +52,37 @@
CH_HEADER_MODEL = CH_HEADER + '-model', CH_HEADER_MODEL = CH_HEADER + '-model',
CH_HEADER_PLATFORM = CH_HEADER + '-platform', CH_HEADER_PLATFORM = CH_HEADER + '-platform',
CH_HEADER_PLATFORM_VER = CH_HEADER_PLATFORM + '-version', CH_HEADER_PLATFORM_VER = CH_HEADER_PLATFORM + '-version',
CH_ALL_VALUES = ['brands', 'fullVersionList', MOBILE, MODEL, 'platform', 'platformVersion', ARCHITECTURE, 'bitness'], CH_ALL_VALUES = ['brands', 'fullVersionList', MOBILE, MODEL, 'platform', 'platformVersion', ARCHITECTURE, 'bitness'],
UA_BROWSER = 'browser', UA_BROWSER = 'browser',
UA_CPU = 'cpu', UA_CPU = 'cpu',
UA_DEVICE = 'device', UA_DEVICE = 'device',
UA_ENGINE = 'engine', UA_ENGINE = 'engine',
UA_OS = 'os', UA_OS = 'os',
UA_RESULT = 'result'; UA_RESULT = 'result',
AMAZON = 'Amazon',
var AMAZON = 'Amazon', APPLE = 'Apple',
APPLE = 'Apple', ASUS = 'ASUS',
ASUS = 'ASUS', BLACKBERRY = 'BlackBerry',
BLACKBERRY = 'BlackBerry', GOOGLE = 'Google',
GOOGLE = 'Google', HUAWEI = 'Huawei',
HUAWEI = 'Huawei', LG = 'LG',
LG = 'LG', MICROSOFT = 'Microsoft',
MICROSOFT = 'Microsoft', MOTOROLA = 'Motorola',
MOTOROLA = 'Motorola', SAMSUNG = 'Samsung',
SAMSUNG = 'Samsung', SHARP = 'Sharp',
SHARP = 'Sharp', SONY = 'Sony',
SONY = 'Sony', SWISS = 'Swiss',
SWISS = 'Swiss', XIAOMI = 'Xiaomi',
XIAOMI = 'Xiaomi', ZEBRA = 'Zebra',
ZEBRA = 'Zebra', ZTE = 'ZTE',
ZTE = 'ZTE', SUFFIX_BROWSER = 'Browser',
SUFFIX_MOBILE = 'Mobile',
BROWSER = 'Browser', CHROME = 'Chrome',
CHROME = 'Chrome', EDGE = 'Edge',
EDGE = 'Edge', FIREFOX = 'Firefox',
FIREFOX = 'Firefox', OPERA = 'Opera',
OPERA = 'Opera',
FACEBOOK = 'Facebook', FACEBOOK = 'Facebook',
WINDOWS = 'Windows';
WINDOWS = 'Windows';
var NAVIGATOR = (typeof window !== UNDEF_TYPE && window.navigator) ? var NAVIGATOR = (typeof window !== UNDEF_TYPE && window.navigator) ?
window.navigator : window.navigator :
@ -305,7 +303,7 @@
/(weibo)__([\d\.]+)/i // Weibo /(weibo)__([\d\.]+)/i // Weibo
], [NAME, VERSION], [ ], [NAME, VERSION], [
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i // UCBrowser /(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i // UCBrowser
], [VERSION, [NAME, 'UC'+BROWSER]], [ ], [VERSION, [NAME, 'UC'+SUFFIX_BROWSER]], [
/microm.+\bqbcore\/([\w\.]+)/i, // WeChat Desktop for Windows Built-in Browser /microm.+\bqbcore\/([\w\.]+)/i, // WeChat Desktop for Windows Built-in Browser
/\bqbcore\/([\w\.]+).+microm/i /\bqbcore\/([\w\.]+).+microm/i
], [VERSION, [NAME, 'WeChat(Win) Desktop']], [ ], [VERSION, [NAME, 'WeChat(Win) Desktop']], [
@ -318,7 +316,7 @@
/yabrowser\/([\w\.]+)/i // Yandex /yabrowser\/([\w\.]+)/i // Yandex
], [VERSION, [NAME, 'Yandex']], [ ], [VERSION, [NAME, 'Yandex']], [
/(avast|avg)\/([\w\.]+)/i // Avast/AVG Secure Browser /(avast|avg)\/([\w\.]+)/i // Avast/AVG Secure Browser
], [[NAME, /(.+)/, '$1 Secure '+BROWSER], VERSION], [ ], [[NAME, /(.+)/, '$1 Secure '+SUFFIX_BROWSER], VERSION], [
/\bfocus\/([\w\.]+)/i // Firefox Focus /\bfocus\/([\w\.]+)/i // Firefox Focus
], [VERSION, [NAME, FIREFOX+' Focus']], [ ], [VERSION, [NAME, FIREFOX+' Focus']], [
/\bopt\/([\w\.]+)/i // Opera Touch /\bopt\/([\w\.]+)/i // Opera Touch
@ -330,13 +328,13 @@
/coast\/([\w\.]+)/i // Opera Coast /coast\/([\w\.]+)/i // Opera Coast
], [VERSION, [NAME, OPERA+' Coast']], [ ], [VERSION, [NAME, OPERA+' Coast']], [
/miuibrowser\/([\w\.]+)/i // MIUI Browser /miuibrowser\/([\w\.]+)/i // MIUI Browser
], [VERSION, [NAME, 'MIUI '+BROWSER]], [ ], [VERSION, [NAME, 'MIUI '+SUFFIX_BROWSER]], [
/fxios\/([-\w\.]+)/i // Firefox for iOS /fxios\/([\w\.-]+)/i // Firefox for iOS
], [VERSION, [NAME, FIREFOX]], [ ], [VERSION, [NAME, 'Firefox '+SUFFIX_MOBILE]], [
/\bqihu|(qi?ho?o?|360)browser/i // 360 /\bqihu|(qi?ho?o?|360)browser/i // 360
], [[NAME, '360 '+BROWSER]], [ ], [[NAME, '360 '+SUFFIX_BROWSER]], [
/(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i /(oculus|samsung|sailfish|huawei)browser\/([\w\.]+)/i
], [[NAME, /(.+)/, '$1 '+BROWSER], VERSION], [ // Oculus/Samsung/Sailfish/Huawei Browser ], [[NAME, /(.+)/, '$1 '+SUFFIX_BROWSER], VERSION], [ // Oculus/Samsung/Sailfish/Huawei Browser
/(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon /(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon
], [[NAME, /_/g, ' '], VERSION], [ ], [[NAME, /_/g, ' '], VERSION], [
/(electron)\/([\w\.]+) safari/i, // Electron-based App /(electron)\/([\w\.]+) safari/i, // Electron-based App
@ -367,14 +365,18 @@
], [[NAME, CHROME+' WebView'], VERSION], [ ], [[NAME, CHROME+' WebView'], VERSION], [
/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i // Android Browser /droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i // Android Browser
], [VERSION, [NAME, 'Android '+BROWSER]], [ ], [VERSION, [NAME, 'Android '+SUFFIX_BROWSER]], [
/chrome\/([\w\.]+) mobile/i, // Chrome Mobile
/(?:(?:android.+)crmo|crios)\/([\w\.]+)/i // Chrome for Android/iOS
], [VERSION, [NAME, 'Chrome '+SUFFIX_MOBILE]], [
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i // Chrome/OmniWeb/Arora/Tizen/Nokia
], [NAME, VERSION], [ ], [NAME, VERSION], [
/version\/([\w\.\,]+) .*mobile\/\w+ (safari)/i // Mobile Safari /version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i // Safari Mobile
], [VERSION, [NAME, 'Mobile Safari']], [ ], [VERSION, [NAME, 'Safari '+SUFFIX_MOBILE]], [
/version\/([\w(\.|\,)]+) .*(mobile ?safari|safari)/i // Safari & Safari Mobile /version\/([\w\.\,]+) .*(safari)/i // Safari
], [VERSION, NAME], [ ], [VERSION, NAME], [
/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i // Safari < 3.0 /webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i // Safari < 3.0
], [NAME, [VERSION, strMapper, oldSafariMap]], [ ], [NAME, [VERSION, strMapper, oldSafariMap]], [
@ -383,6 +385,8 @@
], [NAME, VERSION], [ ], [NAME, VERSION], [
// Gecko based // Gecko based
/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i // Firefox Mobile
], [[NAME, 'Firefox '+SUFFIX_MOBILE], VERSION], [
/(navigator|netscape\d?)\/([-\w\.]+)/i // Netscape /(navigator|netscape\d?)\/([-\w\.]+)/i // Netscape
], [[NAME, 'Netscape'], VERSION], [ ], [[NAME, 'Netscape'], VERSION], [
/mobile vr; rv:([\w\.]+)\).+firefox/i // Firefox Reality /mobile vr; rv:([\w\.]+)\).+firefox/i // Firefox Reality

View File

@ -753,7 +753,7 @@
"ua" : "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7", "ua" : "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7",
"expect" : "expect" :
{ {
"name" : "Mobile Safari", "name" : "Safari Mobile",
"version" : "4.0.5", "version" : "4.0.5",
"major" : "4" "major" : "4"
} }
@ -1393,7 +1393,7 @@
"ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) FxiOS/1.1 Mobile/13B143 Safari/601.1.46", "ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) FxiOS/1.1 Mobile/13B143 Safari/601.1.46",
"expect" : "expect" :
{ {
"name" : "Firefox", "name" : "Firefox Mobile",
"version" : "1.1", "version" : "1.1",
"major" : "1" "major" : "1"
} }
@ -1403,7 +1403,7 @@
"ua" : "Mozilla/5.0 (iPad; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4", "ua" : "Mozilla/5.0 (iPad; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4",
"expect" : "expect" :
{ {
"name" : "Firefox", "name" : "Firefox Mobile",
"version" : "1.0", "version" : "1.0",
"major" : "1" "major" : "1"
} }
@ -1597,7 +1597,7 @@
"ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 15_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6,2 Mobile/15E148 Safari/604.1", "ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 15_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6,2 Mobile/15E148 Safari/604.1",
"expect" : "expect" :
{ {
"name" : "Mobile Safari", "name" : "Safari Mobile",
"version" : "15.6,2", "version" : "15.6,2",
"major" : "15" "major" : "15"
} }
@ -1682,5 +1682,35 @@
"version": "10.25.0", "version": "10.25.0",
"major" : "10" "major" : "10"
} }
},
{
"desc" : "Chrome Mobile",
"ua" : "Mozilla/5.0 (Linux; Android 7.1.2; Nexus 5X Build/N2G47W) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.83 Mobile Safari/537.36",
"expect" :
{
"name" : "Chrome Mobile",
"version" : "58.0.3029.83",
"major" : "58"
}
},
{
"desc" : "Firefox Mobile",
"ua" : "Mozilla/5.0 (Linux; Android 7.1.2; Nexus 5X Build/N2G47W) AppleWebKit/537.36 (KHTML, like Gecko) FxiOS/7.5b3349 Mobile/14F89 Safari/603.2.4",
"expect" :
{
"name" : "Firefox Mobile",
"version" : "7.5b3349",
"major" : "7"
}
},
{
"desc" : "Firefox Mobile",
"ua" : "Mozilla/5.0 (Android 5.0; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0",
"expect" :
{
"name" : "Firefox Mobile",
"version" : "41.0",
"major" : "41"
}
} }
] ]