From 129a2222b54352089c26b16ebdbf7e5f787046eb Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Wed, 23 Mar 2022 15:27:06 +0100 Subject: [PATCH] Improves detection for Delta Browser, Monument Browser, Super Fast Browser and adds detection for APUS Browser, Ask.com, Ayoba, Savannah Browser, SavySoda, SnapU2B, Surf Browser, Ui Browser Mini (#7062) * Improves detection for Monument Browser * Improves detection for Delta Browser * Adds detection for APUS Browser * Adds detection for Ask.com * Adds detection for Ayoba * Improves detection for Super Fast Browser * Adds detection for Ui Browser Mini * Adds detection for SnapU2B * Adds detection for SavySoda * Adds detection for Savannah Browser * Adds detection for Surf Browser * Improves version detection for Surf Browser * Update tests ref #7039 --- Parser/Client/Browser.php | 10 +- Tests/Parser/Client/fixtures/browser.yml | 114 ++++++++++++++++++++++- Tests/fixtures/clienthints-app.yml | 38 +++++++- Tests/fixtures/smartphone-13.yml | 4 +- Tests/fixtures/smartphone-18.yml | 4 +- regexes/client/browsers.yml | 11 ++- regexes/client/hints/apps.yml | 2 + regexes/client/hints/browsers.yml | 9 ++ 8 files changed, 180 insertions(+), 12 deletions(-) diff --git a/Parser/Client/Browser.php b/Parser/Client/Browser.php index 1063c30487..f15fb2536d 100644 --- a/Parser/Client/Browser.php +++ b/Parser/Client/Browser.php @@ -79,11 +79,13 @@ class Browser extends AbstractClientParser 'AN' => 'Android Browser', 'AE' => 'AOL Desktop', 'AD' => 'AOL Shield', + 'AP' => 'APUS Browser', 'AR' => 'Arora', 'AX' => 'Arctic Fox', 'AV' => 'Amiga Voyager', 'AW' => 'Amiga Aweb', 'AI' => 'Arvin', + 'AK' => 'Ask.com', 'A0' => 'Atom', 'AT' => 'Atomic Web Browser', 'A2' => 'Atlas', @@ -357,6 +359,8 @@ class Browser extends AbstractClientParser 'PV' => 'Safari Technology Preview', 'S5' => 'Safe Exam Browser', 'SW' => 'SalamWeb', + 'VN' => 'Savannah Browser', + 'SD' => 'SavySoda', 'S9' => 'Secure Browser', 'SV' => 'SFive', 'SH' => 'Shiira', @@ -382,6 +386,7 @@ class Browser extends AbstractClientParser 'SU' => 'Super Fast Browser', 'HR' => 'Sushi Browser', 'S3' => 'surf', + '4S' => 'Surf Browser', 'SG' => 'Stargon', 'S0' => 'START Internet Browser', 'S4' => 'Steam In-Game Overlay', @@ -404,6 +409,7 @@ class Browser extends AbstractClientParser 'UH' => 'UC Browser HD', 'UM' => 'UC Browser Mini', 'UT' => 'UC Browser Turbo', + 'UI' => 'Ui Browser Mini', 'UR' => 'UR Browser', 'UZ' => 'Uzbl', 'UE' => 'Ume Browser', @@ -461,7 +467,7 @@ class Browser extends AbstractClientParser 'VG', 'VI', 'VM', 'WP', 'WH', 'XV', 'YJ', 'YN', 'FH', 'B1', 'BO', 'HB', 'PC', 'LA', 'LT', 'PD', 'HR', 'HU', 'HP', 'IO', 'TP', 'CJ', 'HQ', 'HI', 'NA', 'BW', 'YO', - 'DC', 'G8', + 'DC', 'G8', 'DT', 'AP', 'AK', 'UI', 'SD', 'VN', '4S', ], 'Firefox' => [ 'AX', 'BI', 'BF', 'BH', 'BN', 'C0', 'CU', 'EI', 'F1', @@ -493,7 +499,7 @@ class Browser extends AbstractClientParser 'PE', 'QU', 'RE', 'S0', 'S7', 'SA', 'SB', 'SG', 'SK', 'ST', 'SU', 'T1', 'UH', 'UM', 'UT', 'VE', 'VV', 'WI', 'WP', 'YN', 'IO', 'IS', 'HQ', 'RW', 'HI', 'NA', 'BW', - 'YO', 'PK', + 'YO', 'PK', 'MR', 'AP', 'AK', 'UI', 'SD', 'VN', '4S', ]; /** diff --git a/Tests/Parser/Client/fixtures/browser.yml b/Tests/Parser/Client/fixtures/browser.yml index 3398de8676..0c2902cae3 100644 --- a/Tests/Parser/Client/fixtures/browser.yml +++ b/Tests/Parser/Client/fixtures/browser.yml @@ -2534,9 +2534,9 @@ type: browser name: Delta Browser version: "2.0.8.2" - engine: WebKit - engine_version: "537.36" - family: + engine: Blink + engine_version: "" + family: Chrome - user_agent: Mozilla/5.0 (Android 7.1.2; Mobile VR; rv:66.0) Gecko/66.0 Firefox/66.0 client: @@ -5081,3 +5081,111 @@ family: Opera headers: X-Requested-With: com.opera.gx +- + user_agent: Mozilla/5.0 (Linux; Android 9; SM-J415G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.58 Mobile Safari/537.36 + client: + type: browser + name: Monument Browser + version: "" + engine: Blink + engine_version: "99.0.4844.58" + family: Chrome + headers: + X-Requested-With: br.marcelo.monumentbrowser +- + user_agent: Mozilla/5.0 (Linux; Android 10) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/85.0.4183.127 Mobile Safari/537.36 AirSearch/2.1.0 + client: + type: browser + name: Delta Browser + version: 2.1.0 + engine: Blink + engine_version: "85.0.4183.127" + family: Chrome + headers: + X-Requested-With: com.airfind.deltabrowser +- + user_agent: Mozilla/5.0 (Linux; Android 8.1.0; moto e5 play Build/OPGS28.54-53-8-20; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.58 Mobile Safari/537.36 + client: + type: browser + name: APUS Browser + version: "" + engine: Blink + engine_version: "99.0.4844.58" + family: Chrome + headers: + X-Requested-With: com.apusapps.browser +- + user_agent: Mozilla/5.0 (Linux; Android 11; SM-G973F Build/RP1A.200720.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.58 Mobile Safari/537.36 + client: + type: browser + name: Ask.com + version: "" + engine: Blink + engine_version: "99.0.4844.58" + family: Chrome + headers: + X-Requested-With: com.ask.browser +- + user_agent: Mozilla/5.0 (Linux; Android 7.1.2; Redmi 4 Build/N2G47H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36 + client: + type: browser + name: Super Fast Browser + version: "" + engine: Blink + engine_version: "64.0.3282.137" + family: Chrome + headers: + X-Requested-With: com.browser.tssomas +- + user_agent: Mozilla/5.0 (Linux; Android 8.1.0; vivo 1811 Build/OPM1.171019.026; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/84.0.4147.89 Mobile Safari/537.36 + client: + type: browser + name: Ui Browser Mini + version: "" + engine: Blink + engine_version: "84.0.4147.89" + family: Chrome + headers: + X-Requested-With: yuce.browser.mini +- + user_agent: Mozilla/5.0 (Linux; Android 12; SM-N976B Build/SP1A.210812.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/98.0.4758.101 Mobile Safari/537.36 + client: + type: browser + name: SavySoda + version: "" + engine: Blink + engine_version: "98.0.4758.101" + family: Chrome + headers: + X-Requested-With: SavySoda.PrivateBrowsing +- + user_agent: Mozilla/5.0 (Linux; Android 8.1.0; moto e5 play Build/OPGS28.54-53-8-20; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/98.0.4758.87 Mobile Safari/537.36 + client: + type: browser + name: Savannah Browser + version: "" + engine: Blink + engine_version: "98.0.4758.87" + family: Chrome + headers: + X-Requested-With: savannah.internet.web.browser +- + user_agent: Mozilla/5.0 (Android 8.0.0; samsung SM-G935F) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 SurfBrowser/3.0 + client: + type: browser + name: Surf Browser + version: "3.0" + engine: Blink + engine_version: "30.0.0.0" + family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 6.0.1; H715BL Build/HUAWEIH715BL; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/49.0.2623.105 Mobile Safari/537.36 + client: + type: browser + name: Surf Browser + version: "" + engine: Blink + engine_version: "49.0.2623.105" + family: Chrome + headers: + X-Requested-With: com.gl9.cloudBrowser diff --git a/Tests/fixtures/clienthints-app.yml b/Tests/fixtures/clienthints-app.yml index 8db72696f9..3f670fc942 100644 --- a/Tests/fixtures/clienthints-app.yml +++ b/Tests/fixtures/clienthints-app.yml @@ -19,7 +19,6 @@ model: ZenFone 4 Max os_family: Android browser_family: Chrome - - user_agent: Mozilla/5.0 (Linux; Android 8.1.0; ZC554KL Build/OPM1.171019.011;) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/98.0.4758.101 Mobile Safari/537.36 headers: @@ -40,7 +39,6 @@ model: ZenFone 4 Max os_family: Android browser_family: Chrome - - user_agent: Mozilla/5.0 (Linux; Android 8.1.0; Nomi_C080034 Build/O11019; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/68.0.3440.91 Mobile Safari/537.36 headers: @@ -847,3 +845,39 @@ model: Redmi Note 8 (2021) os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; PPA-LX2 Build/HUAWEIPPA-LX2; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Mobile Safari/537.36 + headers: + X-Requested-With: com.ayoba.ayoba + os: + name: Android + version: "10" + platform: "" + client: + type: mobile app + name: Ayoba + version: "" + device: + type: smartphone + brand: Huawei + model: P smart (2021) + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; SM-A217F Build/RP1A.200720.012) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/98.0.4758.101 Mobile Safari/537.36 + headers: + X-Requested-With: snapu2b.com + os: + name: Android + version: "11" + platform: "" + client: + type: mobile app + name: SnapU2B + version: "" + device: + type: smartphone + brand: Samsung + model: Galaxy A21s + os_family: Android + browser_family: Unknown diff --git a/Tests/fixtures/smartphone-13.yml b/Tests/fixtures/smartphone-13.yml index 298df26ad2..91179f6bc4 100644 --- a/Tests/fixtures/smartphone-13.yml +++ b/Tests/fixtures/smartphone-13.yml @@ -4181,8 +4181,8 @@ platform: "" client: type: browser - name: Chrome Webview - version: "30.0.0.0" + name: Surf Browser + version: "3.0" engine: Blink engine_version: "30.0.0.0" device: diff --git a/Tests/fixtures/smartphone-18.yml b/Tests/fixtures/smartphone-18.yml index 3b0d8a66c9..e06a6cd07f 100644 --- a/Tests/fixtures/smartphone-18.yml +++ b/Tests/fixtures/smartphone-18.yml @@ -4631,8 +4631,8 @@ platform: "" client: type: browser - name: Chrome Webview - version: 30.0.0.0 + name: Surf Browser + version: "3.0" engine: Blink engine_version: "30.0.0.0" device: diff --git a/regexes/client/browsers.yml b/regexes/client/browsers.yml index 1f1c815c4e..4d8a8692da 100644 --- a/regexes/client/browsers.yml +++ b/regexes/client/browsers.yml @@ -5,6 +5,13 @@ # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later ############### +# Surf Browser (https://play.google.com/store/apps/details?id=com.gl9.cloudBrowser) +- regex: 'SurfBrowser/(\d+[\.\d]+)' + name: 'Surf Browser' + version: '$1' + engine: + default: 'Blink' + # Decentr (https://decentr.net/) - regex: 'Decentr' name: 'Decentr' @@ -693,9 +700,11 @@ version: '$1' # Delta Browser (https://play.google.com/store/apps/details?id=com.airfind.deltabrowser) -- regex: 'com.airfind.deltabrowser(?:/(\d+[\.\d]+))?' +- regex: '(?:com.airfind.deltabrowser|AirSearch)(?:/(\d+[\.\d]+))?' name: 'Delta Browser' version: '$1' + engine: + default: 'Blink' # Ordissimo (https://www.ordissimo.fr/) - regex: '(?:Ordissimo|webissimo3)(?:/(\d+[\.\d]+))?' diff --git a/regexes/client/hints/apps.yml b/regexes/client/hints/apps.yml index 8d23cdca2b..c9fc4b01ab 100644 --- a/regexes/client/hints/apps.yml +++ b/regexes/client/hints/apps.yml @@ -6,6 +6,8 @@ 'com.instapro.app': 'InstaPro' 'com.tencent.mm': 'WeChat' 'com.kakao.talk': 'KakaoTalk' +'com.ayoba.ayoba': 'Ayoba' +'snapu2b.com': 'SnapU2B' # Vpns 'org.torproject.android': 'Orbot' diff --git a/regexes/client/hints/browsers.yml b/regexes/client/hints/browsers.yml index e8a37a1044..6bffd25e9d 100644 --- a/regexes/client/hints/browsers.yml +++ b/regexes/client/hints/browsers.yml @@ -44,3 +44,12 @@ 'com.ecosia.android': 'Ecosia' 'org.lineageos.jelly': 'Jelly' 'com.opera.gx': 'Opera GX' +'br.marcelo.monumentbrowser': 'Monument Browser' +'com.airfind.deltabrowser': 'Delta Browser' +'com.apusapps.browser': 'APUS Browser' +'com.ask.browser': 'Ask.com' +'com.browser.tssomas': 'Super Fast Browser' +'yuce.browser.mini': 'Ui Browser Mini' +'SavySoda.PrivateBrowsing': 'SavySoda' +'savannah.internet.web.browser': 'Savannah Browser' +'com.gl9.cloudBrowser': 'Surf Browser'