From 3d3c8c4bd7a80de14abce219533c2e18481dcc4a Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Fri, 1 Mar 2024 08:53:35 +0100 Subject: [PATCH] Rename 360 Browser to 360 Secure Browser and improves detection for 360 Secure Browser (#7594) * Rename 360 Browser to 360 Secure Browser and improves detection for 360 Secure Browser * The latest version of 360 Secure Browser has the same version as Chromium. This fix is only for previous versions. * Improves detection for 360 Secure Browser --- Parser/Client/Browser.php | 10 ++++- Tests/Parser/Client/fixtures/browser.yml | 51 +++++++++++++++++++++--- regexes/client/browsers.yml | 7 +++- regexes/client/hints/browsers.yml | 6 +-- 4 files changed, 62 insertions(+), 12 deletions(-) diff --git a/Parser/Client/Browser.php b/Parser/Client/Browser.php index d770f7b069..155d7a9ae9 100644 --- a/Parser/Client/Browser.php +++ b/Parser/Client/Browser.php @@ -74,7 +74,7 @@ class Browser extends AbstractClientParser 'DM' => '1DM Browser', '1M' => '1DM+ Browser', '2B' => '2345 Browser', - '3B' => '360 Browser', + '3B' => '360 Secure Browser', '36' => '360 Phone Browser', '7B' => '7654 Browser', 'AA' => 'Avant Browser', @@ -846,6 +846,14 @@ public function parse(): ?array $short = 'I1'; } + // https://bbs.360.cn/thread-16096544-1-1.html + if (\preg_match('/^15/', $version) && \preg_match('/^114/', $browserFromUserAgent['version'])) { + $name = '360 Secure Browser'; + $short = '3B'; + $engine = $browserFromUserAgent['engine'] ?? ''; + $engineVersion = $browserFromUserAgent['engine_version'] ?? ''; + } + if ('Atom' === $name || 'Huawei Browser' === $name) { $version = $browserFromUserAgent['version']; } diff --git a/Tests/Parser/Client/fixtures/browser.yml b/Tests/Parser/Client/fixtures/browser.yml index 885061dc9a..173cef74b0 100644 --- a/Tests/Parser/Client/fixtures/browser.yml +++ b/Tests/Parser/Client/fixtures/browser.yml @@ -21,7 +21,7 @@ user_agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 QIHU 360SE client: type: browser - name: 360 Browser + name: 360 Secure Browser version: "" engine: Blink engine_version: "42.0.2311.152" @@ -30,7 +30,7 @@ user_agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36 QIHU 360EE client: type: browser - name: 360 Browser + name: 360 Secure Browser version: "" engine: Blink engine_version: "42.0.2311.152" @@ -6359,7 +6359,7 @@ user_agent: Mozilla/5.0 (Linux; Android 6.0; hi6210sft Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/45.0.2454.95 Mobile Safari/537.36 client: type: browser - name: 360 Browser + name: 360 Secure Browser version: "" engine: Blink engine_version: 45.0.2454.95 @@ -6370,7 +6370,7 @@ user_agent: Mozilla/5.0 (Linux; Android 9; vivo 1902 Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/81.0.4044.145 Mobile Safari/537.36 client: type: browser - name: 360 Browser + name: 360 Secure Browser version: "" engine: Blink engine_version: 81.0.4044.145 @@ -6381,7 +6381,7 @@ user_agent: Mozilla/5.0 (Linux; Android 9; vivo 1902 Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/81.0.4044.145 Mobile Safari/537.36 client: type: browser - name: 360 Browser + name: 360 Secure Browser version: "" engine: Blink engine_version: 81.0.4044.145 @@ -6414,7 +6414,7 @@ user_agent: Mozilla/5.0 (iPad; CPU OS 12_1_4 like Mac OS X) AppleWebKit/606.4.5 (KHTML, like Gecko) Mobile/16D57 QHBrowserHD/126 QihooBrowserHD/4.1.3 Safari/606.4.5 Qihoo NewsSDK/1.2.2/4.1.3 client: type: browser - name: 360 Browser + name: 360 Secure Browser version: 4.1.3 engine: WebKit engine_version: 606.4.5 @@ -8343,3 +8343,42 @@ family: Chrome headers: http-x-requested-with: com.go.browser +- + user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.289 Safari/537.36 + client: + type: browser + name: 360 Secure Browser + version: 15.1.1240.64 + engine: Blink + engine_version: 114.0.5735.289 + family: null + headers: + Sec-CH-UA: '"Chromium";v="15.1.1240.64", "Not.A/Brand";v="8.0.0.0"' + Sec-CH-UA-Platform: "Windows" + Sec-CH-UA-Mobile: "?0" + Sec-CH-UA-Full-Version: "15.1.1240.64" + Sec-CH-UA-Platform-Version: "10.0.0" + Sec-CH-UA-Arch: "x86" + Sec-CH-UA-Bitness: "64" +- + user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.289 Safari/537.36 + client: + type: browser + name: 360 Secure Browser + version: "15" + engine: Blink + engine_version: 114.0.5735.289 + family: null + headers: + Sec-CH-UA: '"Chromium";v="15", "Not.A/Brand";v="8"' + Sec-CH-UA-Platform: "Windows" + Sec-CH-UA-Mobile: "?0" +- + user_agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36/11.1.1068.0 + client: + type: browser + name: 360 Secure Browser + version: 11.1.1068.0 + engine: Blink + engine_version: 69.0.3497.100 + family: null diff --git a/regexes/client/browsers.yml b/regexes/client/browsers.yml index dcaa3c4b8a..2b8290f635 100644 --- a/regexes/client/browsers.yml +++ b/regexes/client/browsers.yml @@ -1267,9 +1267,12 @@ engine: default: 'Blink' -# 360 Browser +# 360 Secure Browser - regex: 'QIHU 360[ES]E|QihooBrowserHD/(\d+[.\d]+)' - name: '360 Browser' + name: '360 Secure Browser' + version: '$1' +- regex: 'Chrome.+Safari/537.36/(\d+[.\d]+)$' + name: '360 Secure Browser' version: '$1' # 360 Browser diff --git a/regexes/client/hints/browsers.yml b/regexes/client/hints/browsers.yml index ed62e218df..34146c5d2e 100644 --- a/regexes/client/hints/browsers.yml +++ b/regexes/client/hints/browsers.yml @@ -156,9 +156,9 @@ 'com.browser.yo.indian': 'Yo Browser' 'com.mercandalli.android.browser': 'G Browser' 'com.bf.browser': 'BXE Browser' -'com.qihoo.browser': '360 Browser' -'com.qihoo.haosou': '360 Browser' -'com.qihoo.padbrowser': '360 Browser' +'com.qihoo.browser': '360 Secure Browser' +'com.qihoo.haosou': '360 Secure Browser' +'com.qihoo.padbrowser': '360 Secure Browser' 'org.zirco': 'Zirco Browser' 'org.tint': 'Tint Browser' 'com.skyfire.browser': 'Skyfire'