Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Detect new browsers: Vertex Surf, InBrowser, Every Browser, World Browser, Holla Web Browser, Tor Browser #7520

Merged
merged 8 commits into from
Nov 24, 2023
15 changes: 15 additions & 0 deletions Parser/Client/Browser.php
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ class Browser extends AbstractClientParser
'DD' => 'DuckDuckGo Privacy Browser',
'EC' => 'Ecosia',
'EW' => 'Edge WebView',
'EV' => 'Every Browser',
'EI' => 'Epic',
'EL' => 'Elinks',
'EN' => 'EinkBro',
Expand Down Expand Up @@ -255,6 +256,7 @@ class Browser extends AbstractClientParser
'HX' => 'Hexa Web Browser',
'HI' => 'Hi Browser',
'HO' => 'hola! Browser',
'H4' => 'Holla Web Browser',
'HJ' => 'HotJava',
'HT' => 'HTC Browser',
'HU' => 'Huawei Browser Mobile',
Expand All @@ -274,9 +276,11 @@ class Browser extends AbstractClientParser
'I8' => 'IVVI Browser',
'IW' => 'Iceweasel',
'IN' => 'Inspect Browser',
'I9' => 'Insta Browser',
'IE' => 'Internet Explorer',
'I7' => 'Internet Browser Secure',
'I5' => 'Indian UC Mini Browser',
'Z0' => 'InBrowser',
'IM' => 'IE Mobile',
'IR' => 'Iron',
'JB' => 'Japan Browser',
Expand Down Expand Up @@ -527,6 +531,7 @@ class Browser extends AbstractClientParser
'VV' => 'vivo Browser',
'V2' => 'Vivid Browser Mini',
'VB' => 'Vision Mobile Browser',
'V4' => 'Vertex Surf',
'VM' => 'VMware AirWatch',
'WI' => 'Wear Internet Browser',
'WP' => 'Web Explorer',
Expand All @@ -538,6 +543,7 @@ class Browser extends AbstractClientParser
'WH' => 'Whale Browser',
'WO' => 'wOSBrowser',
'WT' => 'WeTab Browser',
'1W' => 'World Browser - Fast & Simple',
'WL' => 'Wolvic',
'YG' => 'YAGI',
'YJ' => 'Yahoo! Japan Browser',
Expand Down Expand Up @@ -601,6 +607,7 @@ class Browser extends AbstractClientParser
'F4', 'YG', 'WR', 'NA', 'DM', '1M', 'A7', 'XN', 'XT',
'XB', 'W1', 'HT', 'B8', 'F5', 'B9', 'WA', 'T0', 'HC',
'O6', 'P7', 'LJ', 'LC', 'O7', 'N2', 'A8', 'P8', 'RB',
'1W', 'EV', 'I9', 'V4', 'H4',
],
'Firefox' => [
'AX', 'BI', 'BF', 'BH', 'BN', 'C0', 'CU', 'EI', 'F1',
Expand Down Expand Up @@ -639,6 +646,7 @@ class Browser extends AbstractClientParser
'B5', 'B6', 'TC', 'A6', '2X', 'F4', 'YG', 'WR', 'NA',
'DM', '1M', 'A7', 'XN', 'XT', 'XB', 'W1', 'HT', 'B7',
'B9', 'T0', 'I8', 'O6', 'P7', 'O8', '4B', 'A8', 'P8',
'1W', 'EV', 'Z0', 'I9', 'V4', 'H4',
];

/**
Expand Down Expand Up @@ -879,6 +887,13 @@ public function parse(): ?array
$engineVersion = '';
}

// the browser simulate ua for Android OS
if ('Every Browser' === $name) {
$family = 'Chrome';
$engine = 'Blink';
$engineVersion = '';
}

return [
'type' => 'browser',
'name' => $name,
Expand Down
5 changes: 4 additions & 1 deletion Parser/OperatingSystem.php
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,10 @@ public function parse(): ?array

$platform = $this->parsePlatform();
$family = self::getOsFamily($short);
$androidApps = ['com.hisense.odinbrowser', 'com.seraphic.openinet.pre', 'com.appssppa.idesktoppcbrowser'];
$androidApps = [
'com.hisense.odinbrowser', 'com.seraphic.openinet.pre', 'com.appssppa.idesktoppcbrowser',
'every.browser.inc',
];

if (null !== $this->clientHints) {
if (\in_array($this->clientHints->getApp(), $androidApps) && 'Android' !== $name) {
Expand Down
97 changes: 97 additions & 0 deletions Tests/Parser/Client/fixtures/browser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7639,3 +7639,100 @@
engine: Blink
engine_version: 84.0.4147.38
family: Chrome
-
user_agent: Mozilla/5.0 (Linux; Android 10; SM-J600G Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/81.0.4044.138 Mobile Safari/537.36
client:
type: browser
name: World Browser - Fast & Simple
sanchezzzhak marked this conversation as resolved.
Show resolved Hide resolved
version: ""
engine: Blink
engine_version: 81.0.4044.138
family: Chrome
headers:
http-x-requested-with: com.browser.elmurzaev
-
user_agent: Mozilla/5.0 (iPad; CPU OS 13_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Mobile/15E148 Safari/604.1
client:
type: browser
name: Every Browser
version: ""
engine: Blink
engine_version: ""
family: Chrome
headers:
http-x-requested-with: every.browser.inc
-
user_agent: Mozilla/5.0 (Linux; U; Android 10; az-az; Mi 10 Build/QKQ1.191117.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.147 Mobile Safari/537.36 XiaoMi/MiuiBrowser/12.6.2.2-gn
client:
type: browser
name: MIUI Browser
version: 12.6.2.2
engine: WebKit
engine_version: "537.36"
family: Android Browser
headers:
http-x-requested-with: com.mi.globalbrowser
-
user_agent: Mozilla/5.0 (Linux; Android 4.4.2; Tornado 348 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36
client:
type: browser
name: InBrowser
version: ""
engine: Blink
engine_version: 30.0.0.0
family: Chrome
headers:
http-x-requested-with: nu.tommie.inbrowser
-
user_agent: Mozilla/5.0 (Linux; Android 7.0; Impress_Life Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/59.0.3071.125 Mobile Safari/537.36
client:
type: browser
name: Puffin Web Browser
version: ""
engine: Blink
engine_version: 59.0.3071.125
family: Chrome
headers:
http-x-requested-with: com.cloudmosa.puffin
-
user_agent: Mozilla/5.0 (Linux; Android 9; STF-L09 Build/HUAWEISTF-L09; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/72.0.3626.121 Mobile Safari/537.36
client:
type: browser
name: Insta Browser
version: ""
engine: Blink
engine_version: 72.0.3626.121
family: Chrome
headers:
http-x-requested-with: com.insta.browser
-
user_agent: Mozilla/5.0 (Linux; Android 9; ZTE 2050RU Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.101 Mobile Safari/537.36 VertexSurf/1.3.3.0 AlohaBrowser/2.7.0.3
client:
type: browser
name: Vertex Surf
version: 1.3.3.0
engine: Blink
engine_version: 87.0.4280.101
family: Chrome
-
user_agent: Mozilla/5.0 Linux; Android 9; HUAWEI POT-LX1 Build/NMF26F AppleWebKit/537.36 KHTML, like Gecko Chrome/74.0.3729.157 Mobile Safari/537.36 VertexSurf/1.3.0.0 AlohaBrowser/1.3.3.0
client:
type: browser
name: Vertex Surf
version: 1.3.0.0
engine: Blink
engine_version: 74.0.3729.157
family: Chrome
headers:
http-x-requested-with: com.alohamobile.vertexsurf
-
user_agent: Mozilla/5.0 (Linux; Android 11; M1908C3JGG Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/98.0.4758.101 Mobile Safari/537.36
client:
type: browser
name: Holla Web Browser
version: ""
engine: Blink
engine_version: 98.0.4758.101
family: Chrome
headers:
http-x-requested-with: com.hollabrowser.meforce
18 changes: 18 additions & 0 deletions Tests/fixtures/clienthints-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2179,3 +2179,21 @@
model: MediaPad T3 7
os_family: Android
browser_family: Unknown
-
user_agent: Mozilla/5.0 (Linux; Android 10; SM-T865 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/86.0.4240.110 Safari/537.36
headers:
http-x-requested-with: com.box.video.downloader
os:
name: Android
version: "10"
platform: ""
client:
type: mobile app
name: BOX Video Downloader
version: ""
device:
type: tablet
brand: Samsung
model: Galaxy Tab S6 10.5"
os_family: Android
browser_family: Unknown
20 changes: 20 additions & 0 deletions Tests/fixtures/unknown.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3285,3 +3285,23 @@
model: X98 S500
os_family: Android
browser_family: Unknown
-
user_agent: Mozilla/5.0 (iPad; CPU OS 13_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0 Mobile/15E148 Safari/604.1
os:
name: Android
version: ""
platform: ""
client:
type: browser
name: Every Browser
version: ""
engine: Blink
engine_version: ""
device:
type: ""
brand: ""
model: ""
os_family: Android
browser_family: Chrome
headers:
http-x-requested-with: every.browser.inc
7 changes: 7 additions & 0 deletions regexes/client/browsers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1209,6 +1209,13 @@
engine:
default: 'Gecko'

# VertexSurf
- regex: 'VertexSurf/(\d+\.[.\d]+)'
name: 'Vertex Surf'
version: '$1'
engine:
default: 'Blink'

#AlohaBrowser
- regex: 'Chrome/.+ AlohaBrowser(?:/(\d+[\.\d]+))?'
name: 'Aloha Browser'
Expand Down
1 change: 1 addition & 0 deletions regexes/client/hints/apps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,7 @@
'com.flatfish.cal.privacy': 'HideX'
'com.sweep.cleaner.trash.junk': 'Sweep'
'com.google.android.apps.maps': 'Google Maps'
'com.box.video.downloader': 'BOX Video Downloader'

# Vpns
'org.torproject.android': 'Orbot'
Expand Down
9 changes: 9 additions & 0 deletions regexes/client/hints/browsers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
'anar.app.darkweb': 'Dark Web Browser'
'com.kiwibrowser.browser': 'Kiwi'
'com.cloudmosa.puffinFree': 'Puffin Web Browser'
'com.cloudmosa.puffin': 'Puffin Web Browser' # Puffin Cloud Browser or Puffin Web Browser Pro
'com.aloha.browser': 'Aloha Browser'
'com.cake.browser': 'Cake Browser'
'com.UCMobile.intl': 'UC Browser'
Expand All @@ -23,6 +24,7 @@
'com.mi.globalbrowser.mini': 'Mint Browser'
'com.hisense.odinbrowser': 'Odin Browser'
'com.brave.browser': 'Brave'
'com.brave.browser_beta': 'Brave'
'org.mozilla.klar': 'Firefox Klar'
'phx.hot.browser': 'Anka Browser'
'org.mozilla.focus': 'Firefox Focus'
Expand Down Expand Up @@ -208,3 +210,10 @@
'com.opera.mini.native.beta': 'Opera Mini'
'com.sec.android.app.sbrowser': 'Samsung Browser'
'com.sec.android.app.sbrowser.lite': 'Samsung Browser Lite'
'com.browser.elmurzaev': 'World Browser - Fast & Simple'
'every.browser.inc': 'Every Browser'
'com.mi.globalbrowser': 'MIUI Browser'
'nu.tommie.inbrowser': 'InBrowser'
'com.insta.browser': 'Insta Browser'
'com.alohamobile.vertexsurf': 'Vertex Surf'
'com.hollabrowser.meforce': 'Holla Web Browser'
Loading