From af69c4eacf05d8547929dfe53bb94f0bb25b0fb5 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sat, 17 Feb 2024 14:29:06 +0100 Subject: [PATCH 01/13] Improves detection for TV Bro and tv devices ref #7039 --- DeviceDetector.php | 2 +- Tests/fixtures/tv-3.yml | 20 ++++++++++++++++++++ regexes/client/hints/browsers.yml | 1 + 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/DeviceDetector.php b/DeviceDetector.php index 787d86bcd5..2faf4a8040 100644 --- a/DeviceDetector.php +++ b/DeviceDetector.php @@ -1053,7 +1053,7 @@ protected function parseDevice(): void */ if (\in_array($clientName, [ 'Kylo', 'Espial TV Browser', 'LUJO TV Browser', 'LogicUI TV Browser', 'Open TV Browser', 'Seraphic Sraf', - 'Opera Devices', 'Crow Browser', 'Vewd Browser', 'TiviMate', 'Quick Search TV', + 'Opera Devices', 'Crow Browser', 'Vewd Browser', 'TiviMate', 'Quick Search TV', 'TV Bro', ]) ) { $this->device = AbstractDeviceParser::DEVICE_TYPE_TV; diff --git a/Tests/fixtures/tv-3.yml b/Tests/fixtures/tv-3.yml index cf855df790..e5fb129547 100644 --- a/Tests/fixtures/tv-3.yml +++ b/Tests/fixtures/tv-3.yml @@ -2609,3 +2609,23 @@ model: X92 os_family: Android browser_family: Android Browser +- + user_agent: Mozilla/5.0 (Linux; Android 9; Hyundai 2K TV Build/PTO7.210317.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/107.0.5304.91 Mobile Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: TV Bro + version: "" + engine: Blink + engine_version: 107.0.5304.91 + device: + type: tv + brand: Hyundai + model: 2K TV + os_family: Android + browser_family: Chrome + headers: + http-x-requested-with: com.phlox.tvwebbrowser diff --git a/regexes/client/hints/browsers.yml b/regexes/client/hints/browsers.yml index ed62e218df..cd506d829e 100644 --- a/regexes/client/hints/browsers.yml +++ b/regexes/client/hints/browsers.yml @@ -250,3 +250,4 @@ 'vpn.video.downloader': 'VD Browser' 'com.aospstudio.tvsearch': 'Quick Search TV' 'com.go.browser': 'GO Browser' +'com.phlox.tvwebbrowser': 'TV Bro' From 7147df5ffccc9f02ff5de626090eb4e306f6ef79 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sat, 17 Feb 2024 14:33:20 +0100 Subject: [PATCH 02/13] Improves detection for Hyundai tv --- regexes/device/mobiles.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 0332839e42..f7164a5336 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -11197,7 +11197,7 @@ Hyundai: - regex: '(?:Hyundai[_ ])?(Eternity[_ ](?:G57L?|G[56]0W?)|H7|Aero Plus|E435 Plus)' model: '$1' - - regex: '(H-LED\w+|H-DMP100)(?:[);/ ]|$)' + - regex: '(H-LED\w+|H-DMP100|2K TV)(?:[);/ ]|$)' device: 'tv' model: '$1' From 10bf34b573e3ae6c357455e62d4f9ce6bd7a5ba4 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sat, 17 Feb 2024 14:41:43 +0100 Subject: [PATCH 03/13] Adds detection for QbHttp --- Tests/Parser/Client/fixtures/library.yml | 6 ++++++ regexes/client/libraries.yml | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/Tests/Parser/Client/fixtures/library.yml b/Tests/Parser/Client/fixtures/library.yml index 9d5201d4b4..3368737dde 100644 --- a/Tests/Parser/Client/fixtures/library.yml +++ b/Tests/Parser/Client/fixtures/library.yml @@ -611,3 +611,9 @@ type: library name: request version: "" +- + user_agent: qbhttp/1.0.0 + client: + type: library + name: QbHttp + version: 1.0.0 diff --git a/regexes/client/libraries.yml b/regexes/client/libraries.yml index 13feae849f..5d50920493 100644 --- a/regexes/client/libraries.yml +++ b/regexes/client/libraries.yml @@ -566,3 +566,8 @@ name: 'request' version: '' url: 'https://github.com/request/request' + +- regex: 'qbhttp(?:/(\d+[\.\d]+))?' + name: 'QbHttp' + version: '$1' + url: 'https://github.com/OpenQb/QbHttp' From 78496b025360dc75fcd38f8cdedf30ae5f1ee389 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sat, 17 Feb 2024 14:53:43 +0100 Subject: [PATCH 04/13] Adds detection for UD brand --- Parser/Device/AbstractDeviceParser.php | 1 + Tests/fixtures/tv-3.yml | 54 ++++++++++++++++++++++++++ regexes/device/mobiles.yml | 12 ++++++ 3 files changed, 67 insertions(+) diff --git a/Parser/Device/AbstractDeviceParser.php b/Parser/Device/AbstractDeviceParser.php index ce5f5d8af6..2954198d9f 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -1632,6 +1632,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'TWN' => 'TwinMOS', '15' => 'Tymes', 'UC' => 'U.S. Cellular', + 'UD1' => 'UD', 'UGI' => 'UGINE', 'UG' => 'Ugoos', 'U1' => 'Uhans', diff --git a/Tests/fixtures/tv-3.yml b/Tests/fixtures/tv-3.yml index e5fb129547..3b175d33e2 100644 --- a/Tests/fixtures/tv-3.yml +++ b/Tests/fixtures/tv-3.yml @@ -2629,3 +2629,57 @@ browser_family: Chrome headers: http-x-requested-with: com.phlox.tvwebbrowser +- + user_agent: Mozilla/5.0 (Linux; Android 6.0; TV348_DVB Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/48.0.2542.0 Safari/537.36 + os: + name: Android + version: "6.0" + platform: "" + client: + type: browser + name: Chrome Webview + version: 48.0.2542.0 + engine: Blink + engine_version: 48.0.2542.0 + device: + type: tv + brand: UD + model: TV348 DVB + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 8.0.0; TV358DVB Build/OPR5.170623.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/62.0.3202.73 Safari/537.36 + os: + name: Android + version: 8.0.0 + platform: "" + client: + type: browser + name: Chrome Webview + version: 62.0.3202.73 + engine: Blink + engine_version: 62.0.3202.73 + device: + type: tv + brand: UD + model: TV358 DVB + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 6.0; TV348_ISDB Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/48.0.2542.0 Safari/537.36 + os: + name: Android + version: "6.0" + platform: "" + client: + type: browser + name: Chrome Webview + version: 48.0.2542.0 + engine: Blink + engine_version: 48.0.2542.0 + device: + type: tv + brand: UD + model: TV348 ISDB + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index f7164a5336..6824ac67a3 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -9497,6 +9497,18 @@ AWOX: - regex: 'AWOX;SmartTV;([a-z0-9_ \-]+);' model: '$1' +# UD (https://udtv.store/) +UD: + regex: 'TV3[45]8_?(?:DVB|ISDB)(?:[);/ ]|$)' + device: 'tv' + models: + - regex: 'TV348_DVB(?:[);/ ]|$)' + model: 'TV348 DVB' + - regex: 'TV348_ISDB(?:[);/ ]|$)' + model: 'TV348 ISDB' + - regex: 'TV358DVB(?:[);/ ]|$)' + model: 'TV358 DVB' + # UGINE (https://www.ugine.com.sa/ar) UGINE: regex: 'UGINE(?:[);/ ]|$)' From cee2d7bf3c62621e85db6f1df976984b26175888 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sat, 17 Feb 2024 14:55:22 +0100 Subject: [PATCH 05/13] Improves unknown brand --- Tests/fixtures/tv-3.yml | 18 ++++++++++++++++++ regexes/device/mobiles.yml | 4 ++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Tests/fixtures/tv-3.yml b/Tests/fixtures/tv-3.yml index 3b175d33e2..8c114a19ff 100644 --- a/Tests/fixtures/tv-3.yml +++ b/Tests/fixtures/tv-3.yml @@ -2683,3 +2683,21 @@ model: TV348 ISDB os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 6.0; tv001 on rtd289x Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.100 Safari/537.36 + os: + name: Android + version: "6.0" + platform: "" + client: + type: browser + name: Chrome Webview + version: 52.0.2743.100 + engine: Blink + engine_version: 52.0.2743.100 + device: + type: tv + brand: "" + model: "" + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 6824ac67a3..8a5f838153 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -38779,7 +38779,7 @@ WeChip: # Devices with undectable brand, but detectable model Unknown: - regex: 'Plasma Mobile|WebTV/(\d+\.\d+)|TV Bro| BOX|BOX | BOX |roku|YouView|DirectFB|avdn/|wired|wireless|AndroidTV|cordova-amazon-fireos|wv-atv|(?:M10 Ultra|FO-R15|TVBOX|Smart[ _-]?TV|SmartATV|M8S\+ 4K|PCBox|rk(?:3128|322x|3368)(?:[_-]box)?|H10 PLAY|Smart AIO TV|TVBOX_L|L-BOX|TVBOX-5G|mips.+(?:Opera TV|wireless|wired)|smartbox|TV BOX|BOX TV|I12Pro Max|(?:audi_)?ks1280x480|AT&T TV|RealtekATV|AOSP on r33a0|hx322x_box|X98_S500|8K3528-T|MX10|V88|H8S|X92|AI PONT)(?:[);/ ]|$)' + regex: 'Plasma Mobile|WebTV/(\d+\.\d+)|TV Bro| BOX|BOX | BOX |roku|YouView|DirectFB|avdn/|wired|wireless|AndroidTV|cordova-amazon-fireos|wv-atv|(?:M10 Ultra|FO-R15|TVBOX|Smart[ _-]?TV|SmartATV|M8S\+ 4K|PCBox|rk(?:3128|322x|3368)(?:[_-]box)?|H10 PLAY|Smart AIO TV|TVBOX_L|L-BOX|TVBOX-5G|mips.+(?:Opera TV|wireless|wired)|smartbox|TV BOX|BOX TV|I12Pro Max|(?:audi_)?ks1280x480|AT&T TV|RealtekATV|AOSP on r33a0|tv001 on rtd289x|hx322x_box|X98_S500|8K3528-T|MX10|V88|H8S|X92|AI PONT)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'WebTV/(\d+\.\d+)' @@ -38791,7 +38791,7 @@ Unknown: - regex: '(FO-R15|X98_S500|8K3528-T|MX10|V88|H8S|X92|AI PONT)(?:[);/ ]|$)' device: 'tv' model: '$1' - - regex: ' BOX|BOX | BOX |roku|YouView|DirectFB|avdn/|wired|wireless|AndroidTV|cordova-amazon-fireos|wv-atv|(Smart[ _-]?TV|SmartATV|PCBox|hx322x_box|rk(?:3128|322x|3368)(?:[_-]box)?|TVBOX|Smart AIO TV|TVBOX_L|L-BOX|TVBOX-5G|AT&T TV|RealtekATV|TV Bro|AOSP on r33a0)(?:[);/ ]|$)' + - regex: ' BOX|BOX | BOX |roku|YouView|DirectFB|avdn/|wired|wireless|AndroidTV|cordova-amazon-fireos|wv-atv|(Smart[ _-]?TV|SmartATV|PCBox|hx322x_box|rk(?:3128|322x|3368)(?:[_-]box)?|TVBOX|Smart AIO TV|TVBOX_L|L-BOX|TVBOX-5G|AT&T TV|RealtekATV|TV Bro|AOSP on r33a0|tv001 on rtd289x)(?:[);/ ]|$)' device: 'tv' model: '' - regex: 'M8S\+ 4K(?:[);/ ]|$)' From ffce5f6c6dd112f5fa47c49e47de5b5bdf3cff9f Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sat, 17 Feb 2024 14:57:49 +0100 Subject: [PATCH 06/13] Improves unknown brand --- Tests/fixtures/tv-3.yml | 18 ++++++++++++++++++ regexes/device/mobiles.yml | 4 ++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/Tests/fixtures/tv-3.yml b/Tests/fixtures/tv-3.yml index 8c114a19ff..a57cf1b1b7 100644 --- a/Tests/fixtures/tv-3.yml +++ b/Tests/fixtures/tv-3.yml @@ -2701,3 +2701,21 @@ model: "" os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 6.0; net tv.plus Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/44.0.2403.119 Safari/537.36 + os: + name: Android + version: "6.0" + platform: "" + client: + type: browser + name: Chrome Webview + version: 44.0.2403.119 + engine: Blink + engine_version: 44.0.2403.119 + device: + type: tv + brand: "" + model: "" + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 8a5f838153..dbd95ea549 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -38779,7 +38779,7 @@ WeChip: # Devices with undectable brand, but detectable model Unknown: - regex: 'Plasma Mobile|WebTV/(\d+\.\d+)|TV Bro| BOX|BOX | BOX |roku|YouView|DirectFB|avdn/|wired|wireless|AndroidTV|cordova-amazon-fireos|wv-atv|(?:M10 Ultra|FO-R15|TVBOX|Smart[ _-]?TV|SmartATV|M8S\+ 4K|PCBox|rk(?:3128|322x|3368)(?:[_-]box)?|H10 PLAY|Smart AIO TV|TVBOX_L|L-BOX|TVBOX-5G|mips.+(?:Opera TV|wireless|wired)|smartbox|TV BOX|BOX TV|I12Pro Max|(?:audi_)?ks1280x480|AT&T TV|RealtekATV|AOSP on r33a0|tv001 on rtd289x|hx322x_box|X98_S500|8K3528-T|MX10|V88|H8S|X92|AI PONT)(?:[);/ ]|$)' + regex: 'Plasma Mobile|WebTV/(\d+\.\d+)|TV Bro| BOX|BOX | BOX |roku|YouView|DirectFB|avdn/|wired|wireless|AndroidTV|cordova-amazon-fireos|wv-atv|(?:M10 Ultra|FO-R15|TVBOX|Smart[ _-]?TV|SmartATV|M8S\+ 4K|PCBox|rk(?:3128|322x|3368)(?:[_-]box)?|H10 PLAY|Smart AIO TV|TVBOX_L|L-BOX|TVBOX-5G|mips.+(?:Opera TV|wireless|wired)|smartbox|TV BOX|BOX TV|I12Pro Max|(?:audi_)?ks1280x480|AT&T TV|RealtekATV|AOSP on r33a0|tv001 on rtd289x|hx322x_box|X98_S500|8K3528-T|MX10|V88|H8S|X92|AI PONT|tv.plus)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'WebTV/(\d+\.\d+)' @@ -38791,7 +38791,7 @@ Unknown: - regex: '(FO-R15|X98_S500|8K3528-T|MX10|V88|H8S|X92|AI PONT)(?:[);/ ]|$)' device: 'tv' model: '$1' - - regex: ' BOX|BOX | BOX |roku|YouView|DirectFB|avdn/|wired|wireless|AndroidTV|cordova-amazon-fireos|wv-atv|(Smart[ _-]?TV|SmartATV|PCBox|hx322x_box|rk(?:3128|322x|3368)(?:[_-]box)?|TVBOX|Smart AIO TV|TVBOX_L|L-BOX|TVBOX-5G|AT&T TV|RealtekATV|TV Bro|AOSP on r33a0|tv001 on rtd289x)(?:[);/ ]|$)' + - regex: ' BOX|BOX | BOX |roku|YouView|DirectFB|avdn/|wired|wireless|AndroidTV|cordova-amazon-fireos|wv-atv|(Smart[ _-]?TV|SmartATV|PCBox|hx322x_box|rk(?:3128|322x|3368)(?:[_-]box)?|TVBOX|Smart AIO TV|TVBOX_L|L-BOX|TVBOX-5G|AT&T TV|RealtekATV|TV Bro|AOSP on r33a0|tv001 on rtd289x|tv.plus)(?:[);/ ]|$)' device: 'tv' model: '' - regex: 'M8S\+ 4K(?:[);/ ]|$)' From 39d3eede32d3029105fb90a300d488fa23a46db3 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sat, 17 Feb 2024 15:06:20 +0100 Subject: [PATCH 07/13] Adds detection for Droidlogic Launcher and improves detection for Orange tv --- DeviceDetector.php | 1 + Tests/fixtures/clienthints-app.yml | 18 ++++++++++++++++++ Tests/fixtures/tv-3.yml | 18 ++++++++++++++++++ regexes/client/hints/apps.yml | 1 + regexes/device/mobiles.yml | 3 +++ 5 files changed, 41 insertions(+) diff --git a/DeviceDetector.php b/DeviceDetector.php index 2faf4a8040..4e02ea983e 100644 --- a/DeviceDetector.php +++ b/DeviceDetector.php @@ -1054,6 +1054,7 @@ protected function parseDevice(): void if (\in_array($clientName, [ 'Kylo', 'Espial TV Browser', 'LUJO TV Browser', 'LogicUI TV Browser', 'Open TV Browser', 'Seraphic Sraf', 'Opera Devices', 'Crow Browser', 'Vewd Browser', 'TiviMate', 'Quick Search TV', 'TV Bro', + 'Droidlogic Launcher', ]) ) { $this->device = AbstractDeviceParser::DEVICE_TYPE_TV; diff --git a/Tests/fixtures/clienthints-app.yml b/Tests/fixtures/clienthints-app.yml index 3b7b96f55c..04d6b8ae18 100644 --- a/Tests/fixtures/clienthints-app.yml +++ b/Tests/fixtures/clienthints-app.yml @@ -2461,3 +2461,21 @@ model: Nova 9 SE os_family: Android browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11.0; Orange TV Box Build/QTG1.200615.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.5005.22 Mobile Safari/537.36 + headers: + http-x-requested-with: com.droidlogic.xlauncher + os: + name: Android + version: "11.0" + platform: "" + client: + type: mobile app + name: Droidlogic Launcher + version: "" + device: + type: tv + brand: Orange + model: TV Box + os_family: Android + browser_family: Unknown diff --git a/Tests/fixtures/tv-3.yml b/Tests/fixtures/tv-3.yml index a57cf1b1b7..53328f4d91 100644 --- a/Tests/fixtures/tv-3.yml +++ b/Tests/fixtures/tv-3.yml @@ -2719,3 +2719,21 @@ model: "" os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11.0; Orange TV Box Build/QTG1.200615.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/102.0.5005.22 Mobile Safari/537.36 + os: + name: Android + version: "11.0" + platform: "" + client: + type: browser + name: Chrome Webview + version: 102.0.5005.22 + engine: Blink + engine_version: 102.0.5005.22 + device: + type: tv + brand: Orange + model: TV Box + os_family: Android + browser_family: Chrome diff --git a/regexes/client/hints/apps.yml b/regexes/client/hints/apps.yml index 5d92d2988f..28accce8c5 100644 --- a/regexes/client/hints/apps.yml +++ b/regexes/client/hints/apps.yml @@ -126,6 +126,7 @@ 'com.massimple.nacion.gcba.es': '+Simple' 'com.massimple.nacion.parana.es': '+Simple' 'com.microsoft.math': 'Microsoft Math Solver' +'com.droidlogic.xlauncher': 'Droidlogic Launcher' # Vpns 'org.torproject.android': 'Orbot' diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index dbd95ea549..d14fe70a63 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -19102,6 +19102,9 @@ Orange: - regex: 'SC/IHD92' device: 'tv' # set top box model: 'Livebox Play' + - regex: 'Orange TV Box(?:[);/ ]|$)' + device: 'tv' + model: 'TV Box' - regex: 'Nola play' model: 'Nola Play' - regex: 'Nola fun' From 2d94ad3fe4f7c7fce610d412c6437b33123140eb Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sat, 17 Feb 2024 15:09:02 +0100 Subject: [PATCH 08/13] Adds detection for O2 TV Box --- Tests/fixtures/tv-3.yml | 18 ++++++++++++++++++ regexes/device/mobiles.yml | 3 +++ 2 files changed, 21 insertions(+) diff --git a/Tests/fixtures/tv-3.yml b/Tests/fixtures/tv-3.yml index 53328f4d91..6ba59aed39 100644 --- a/Tests/fixtures/tv-3.yml +++ b/Tests/fixtures/tv-3.yml @@ -2737,3 +2737,21 @@ model: TV Box os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 12; O2 TV Box Build/QTT2.200720.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/101.0.4951.15 Mobile Safari/537.36 + os: + name: Android + version: "12" + platform: "" + client: + type: browser + name: Chrome Webview + version: 101.0.4951.15 + engine: Blink + engine_version: 101.0.4951.15 + device: + type: tv + brand: O2 + model: TV Box + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index d14fe70a63..fea7c1ef34 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -17781,6 +17781,9 @@ O2: regex: 'Xda|(? Date: Sat, 17 Feb 2024 15:12:25 +0100 Subject: [PATCH 09/13] Adds detection for Telkom brand --- Parser/Device/AbstractDeviceParser.php | 1 + Tests/fixtures/tv-3.yml | 18 ++++++++++++++++++ regexes/device/mobiles.yml | 6 ++++++ 3 files changed, 25 insertions(+) diff --git a/Parser/Device/AbstractDeviceParser.php b/Parser/Device/AbstractDeviceParser.php index 2954198d9f..3ce7aa86dd 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -1553,6 +1553,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'TB' => 'Tecno Mobile', 'TEC' => 'TecToy', '91' => 'TEENO', + 'TLK' => 'Telkom', '2L' => 'Tele2', 'TL' => 'Telefunken', 'TG' => 'Telego', diff --git a/Tests/fixtures/tv-3.yml b/Tests/fixtures/tv-3.yml index 6ba59aed39..c74dec16d8 100644 --- a/Tests/fixtures/tv-3.yml +++ b/Tests/fixtures/tv-3.yml @@ -2755,3 +2755,21 @@ model: TV Box os_family: Android browser_family: Chrome +- + user_agent: Dalvik/2.1.0 (Linux; U; Android 9; TVB-100 Build/PI) + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Android Browser + version: "" + engine: WebKit + engine_version: "" + device: + type: tv + brand: Telkom + model: TVB-100 + os_family: Android + browser_family: Android Browser diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index fea7c1ef34..b1e80a1662 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -30685,6 +30685,12 @@ Billion: device: 'smartphone' model: 'Capture Plus' +# Telkom +Telkom: + regex: '(TVB-100)(?:[);/ ]|$)' + device: 'tv' + model: '$1' + # Tele2 (www.tele2.com) mobile operator Tele2: regex: 'Tele2[ _]|Tele2fon' From 47dd2053b34819b8b0db798a30c36df616fd8ed2 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sat, 17 Feb 2024 15:33:19 +0100 Subject: [PATCH 10/13] Remove Droidlogic Launcher app from tv --- DeviceDetector.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/DeviceDetector.php b/DeviceDetector.php index 4e02ea983e..06c4a02b33 100644 --- a/DeviceDetector.php +++ b/DeviceDetector.php @@ -1053,8 +1053,7 @@ protected function parseDevice(): void */ if (\in_array($clientName, [ 'Kylo', 'Espial TV Browser', 'LUJO TV Browser', 'LogicUI TV Browser', 'Open TV Browser', 'Seraphic Sraf', - 'Opera Devices', 'Crow Browser', 'Vewd Browser', 'TiviMate', 'Quick Search TV', 'TV Bro', - 'Droidlogic Launcher', + 'Opera Devices', 'Crow Browser', 'Vewd Browser', 'TiviMate', 'Quick Search TV', 'TV Bro' ]) ) { $this->device = AbstractDeviceParser::DEVICE_TYPE_TV; From cc54ff923a3d70765487ac52f1127dad27fb1d99 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sat, 17 Feb 2024 15:52:36 +0100 Subject: [PATCH 11/13] Improves detection for Nordmende brand --- Tests/fixtures/tv-3.yml | 18 ++++++++++++++++++ regexes/device/mobiles.yml | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/tv-3.yml b/Tests/fixtures/tv-3.yml index c74dec16d8..d14d83651f 100644 --- a/Tests/fixtures/tv-3.yml +++ b/Tests/fixtures/tv-3.yml @@ -2773,3 +2773,21 @@ model: TVB-100 os_family: Android browser_family: Android Browser +- + user_agent: Mozilla/5.0 (Linux ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 OPR/40.0.2207.0 OMI/4.9.0.237.DOM3-OPT.253 Model/Vestel-MB211 VSTVB MB200 FVC/2.0 (NORDMENDE; MB211; ) SmartTvA/3.0.0 + os: + name: GNU/Linux + version: "" + platform: "" + client: + type: browser + name: Opera Devices + version: 4.9.0.237 + engine: Blink + engine_version: 53.0.2785.143 + device: + type: tv + brand: Nordmende + model: "" + os_family: GNU/Linux + browser_family: Opera diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index b1e80a1662..55a95d90c3 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -17470,7 +17470,7 @@ Noontec: # Nordmende Nordmende: - regex: 'NORDMENDE[ _]' + regex: 'NORDMENDE[ _;,]' device: 'tv' models: - regex: 'NORDMENDE_(43NM6000F)(?:[);/ ]|$)' From 09f683f2e2c7b20a711f15e0cc84da420336f022 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sat, 17 Feb 2024 20:11:34 +0100 Subject: [PATCH 12/13] Fix --- DeviceDetector.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DeviceDetector.php b/DeviceDetector.php index 06c4a02b33..2faf4a8040 100644 --- a/DeviceDetector.php +++ b/DeviceDetector.php @@ -1053,7 +1053,7 @@ protected function parseDevice(): void */ if (\in_array($clientName, [ 'Kylo', 'Espial TV Browser', 'LUJO TV Browser', 'LogicUI TV Browser', 'Open TV Browser', 'Seraphic Sraf', - 'Opera Devices', 'Crow Browser', 'Vewd Browser', 'TiviMate', 'Quick Search TV', 'TV Bro' + 'Opera Devices', 'Crow Browser', 'Vewd Browser', 'TiviMate', 'Quick Search TV', 'TV Bro', ]) ) { $this->device = AbstractDeviceParser::DEVICE_TYPE_TV; From e1030ec2f48ac2558044dd010a453b4494bc71ac Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Sun, 18 Feb 2024 17:47:34 +0100 Subject: [PATCH 13/13] Change Droidlogic Launcher to X Launcher --- Tests/fixtures/clienthints-app.yml | 2 +- regexes/client/hints/apps.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/fixtures/clienthints-app.yml b/Tests/fixtures/clienthints-app.yml index 04d6b8ae18..c2d2692082 100644 --- a/Tests/fixtures/clienthints-app.yml +++ b/Tests/fixtures/clienthints-app.yml @@ -2471,7 +2471,7 @@ platform: "" client: type: mobile app - name: Droidlogic Launcher + name: X Launcher version: "" device: type: tv diff --git a/regexes/client/hints/apps.yml b/regexes/client/hints/apps.yml index 28accce8c5..36e5d3ec3a 100644 --- a/regexes/client/hints/apps.yml +++ b/regexes/client/hints/apps.yml @@ -126,7 +126,7 @@ 'com.massimple.nacion.gcba.es': '+Simple' 'com.massimple.nacion.parana.es': '+Simple' 'com.microsoft.math': 'Microsoft Math Solver' -'com.droidlogic.xlauncher': 'Droidlogic Launcher' +'com.droidlogic.xlauncher': 'X Launcher' # Vpns 'org.torproject.android': 'Orbot'