From 89360aed2e557c9658078f420c486452ae7856b7 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 11:02:02 +0200 Subject: [PATCH 01/22] Improves detection for Touchmate devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 4 ++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index d52819fa08..9bbfa95c7a 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3180,3 +3180,28 @@ model: X2 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Not A(Brand";v="99.0.0.0", "Google Chrome";v="121.0.6167.180", "Chromium";v="121.0.6167.180"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?0" + Sec-CH-UA-Full-Version: "121.0.6167.180" + Sec-CH-UA-Platform-Version: "9.0.0" + Sec-CH-UA-Model: "TM-MID1065" + os: + name: Android + version: 9.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 121.0.6167.180 + engine: Blink + engine_version: 121.0.0.0 + device: + type: tablet + brand: Touchmate + model: TM-MID1065 + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index c1c1debdc3..2c61e9aeb0 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -26161,10 +26161,10 @@ Toplux: # Touchmate (touchmate.net) Touchmate: - regex: 'TOUCHMATE|(TM-(?:MID870SB|MID1050WKD|MID1020A|MID794C|MID795|MID710|MID798|MID792|MID788D|SM500N|SM410|MID1010))' + regex: 'TOUCHMATE|(TM-(?:MID870SB|MID1050WKD|MID1020A|MID794C|MID795|MID710|MID798|MID792|MID788D|SM500N|SM410|MID1010|MID1065))' device: 'smartphone' models: - - regex: '(TM-(?:MID1020A|MID794C|MID795|MID710|MID798|MID792|MID788D|MID10[14]0))' + - regex: '(TM-(?:MID1020A|MID794C|MID795|MID710|MID798|MID792|MID788D|MID10[14]0|MID1065))' device: 'tablet' model: '$1' - regex: 'TM-MID870SB' From 86b9e689b48eaf29a749b9881a81adf9f5b01506 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 11:16:03 +0200 Subject: [PATCH 02/22] Improves detection for Crosscall devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 4 +++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index 9bbfa95c7a..780a5bb3a6 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3205,3 +3205,28 @@ model: TM-MID1065 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="119.0.6045.66", "Chromium";v="119.0.6045.66", "Not?A_Brand";v="24.0.0.0"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?1" + Sec-CH-UA-Full-Version: "119.0.6045.66" + Sec-CH-UA-Platform-Version: "13.0.0" + Sec-CH-UA-Model: "Stellar-X5" + os: + name: Android + version: 13.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 119.0.6045.66 + engine: Blink + engine_version: 119.0.0.0 + device: + type: smartphone + brand: Crosscall + model: Stellar-X5 + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 2c61e9aeb0..d4c980eeb5 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -6605,7 +6605,7 @@ Crius Mea: # Crosscall Crosscall: - regex: 'Crosscall|ODYSSEY_Plus|Odyssey S1|Trekker-[MSX][1-4]|Action-X[35]|Core-(?:M[45]|T[45]|X[345]|Z5)' + regex: 'Crosscall|ODYSSEY_Plus|Action-X[35]|Core-(?:M[45]|T[45]|X[345]|Z5)|Stellar-X5|Trekker-[MSX][1-4]|Odyssey S1' device: 'smartphone' models: - regex: 'Action-X3 Pro(?:[);/ ]|$)' @@ -6626,6 +6626,8 @@ Crosscall: model: 'Trekker-$1 Core' - regex: 'Trekker-([MSX][1-4](?: Core)?)' model: 'Trekker-$1' + - regex: 'Stellar-(X5)(?:[);/ ]|$)' + model: 'Stellar-$1' - regex: 'Core-T([45])(?:[);/ ]|$)' device: 'tablet' model: 'Core-T$1' From b76fff41e128bc7bb41ea94267fe36c9383b7028 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 11:20:57 +0200 Subject: [PATCH 03/22] Improves detection for Soho Style devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index 780a5bb3a6..eec8d6abc3 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3230,3 +3230,28 @@ model: Stellar-X5 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not A(Brand";v="99.0.0.0", "Google Chrome";v="121.0.6167.178", "Chromium";v="121.0.6167.178"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?1" + Sec-CH-UA-Full-Version: "121.0.6167.178" + Sec-CH-UA-Platform-Version: "13.0.0" + Sec-CH-UA-Model: "SS5724G" + os: + name: Android + version: 13.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 121.0.6167.178 + engine: Blink + engine_version: 121.0.0.0 + device: + type: smartphone + brand: Soho Style + model: SS5724G + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index d4c980eeb5..5ecc4b2bf3 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -37506,7 +37506,7 @@ Liberton: # Soho Style Soho Style: - regex: '(SS5214G)(?:[);/ ]|$)' + regex: '(SS(?:5214|5724)G)(?:[);/ ]|$)' device: 'smartphone' model: '$1' From 74db1f80f02e4c3a961629996cbeb9c9facb2fd3 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 11:23:21 +0200 Subject: [PATCH 04/22] Improves detection for Alcatel devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 5 ++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index eec8d6abc3..d9aa613125 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3255,3 +3255,28 @@ model: SS5724G os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not A(Brand";v="99.0.0.0", "Google Chrome";v="121.0.6167.143", "Chromium";v="121.0.6167.143"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?1" + Sec-CH-UA-Full-Version: "121.0.6167.143" + Sec-CH-UA-Platform-Version: "11.0.0" + Sec-CH-UA-Model: "9009F" + os: + name: Android + version: 11.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 121.0.6167.143 + engine: Blink + engine_version: 121.0.0.0 + device: + type: tablet + brand: Alcatel + model: 1T 7" 3G + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 5ecc4b2bf3..affdbba0ea 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -2417,7 +2417,7 @@ Arian Space: # Alcatel (alcatelmobile.com) Alcatel: - regex: 'Alcatel|Alc(?!or )[a-z0-9]+|One[ _]?Touch|idol[3X]|TIMXL|(?:(?:4003[AJ]|4009[ADEFIKMSX]|4013[DEJKMX]|4014[ADEKMX]|4015[ADNTX]|4016[ADX]|4017[ADEFSX]|4018[ADEFMX]|4024[DEX]|4027[ADNX]|4028[AEJS]|4032[ADEX]|4034[ADEFGLTX]|4035[ADXY]|4045[ADELX]|4047[ADFGNX]|4049[DEGMX]|4060[SW]|4063[FT]|4065F|4087U|4114E|5001[ADJTU]|5002[ABDEFHJLMRSUWX]|5003[ADGUX]|5006[ADG]|5007[AGUOS]|5008[ADTUY]|5009[AD]|5010[DEGSUX]|5011A|5012[DFG]|5015[ADEX]|5016[AJX]|5017[ABDEOX]|5019D|5022[DEX]|5023[EF]|5024[ADFIJ]|5025[DEG]|5026[ADJ]|5027B|5028[ADY]|5029[ADEFY]|5030[ADEFJMU]|5031[ADGJ]|5032[OW]|5033(?:[DFTXY]R|[EFM]P|[ADEFGJMOQSTXY])|5034D|5036D|5038[ADEX]|5039[DY]|5041[CD]|5042[ADEFGTWX]|5044[ADGIKOPSTY]|5045[ADFGIJTXY]|5046[ADGIJSTUY]|5047[DIUY]|5048[AIUY]|5049[EGSWZ]|5050[ASXY]|5051[ADEJMTWX]|5052[ADY]|5053[ADKY]|5054[ADNSTWX]|5056[ADEGIJMNTUWX]|5057M|5058[AIJY]|5059[ADIJSTXYZ]|5060[ADJ]|5061[AKU]|5065[ADNWX]|5070D|5080[ADFQUX]|5085[ABCDGHIJNOQY]|5086[ADY]|5090[AIY]|5095[IKY]|5098[OS]|5099[ADIUY]|5116J|5131E|5145A|6002[ADJ]|6016[ADEX]|6025[ADH]|6027A|6036[AXY]|6037[BKY]|6039[AHJKSY]|6042D|6043[AD]|6044D|6045[BFIKOXY]|6050[AFY]|6055[ABDHIKPUYZ]|6056[ADH]|6058[ADX]|6060[SXC]|6062W|6065A|6070K|7040[ADEFKRT]|7041[DX]|7042A|7043[AEKY]|7044[AX]|7045Y|7048[ASWX]|7053D|7055A|7070X|7071[ADX]|8030Y|8050[DEGX]|8063|8088[MQX]|8094[MTX]|9001[DIX]|9002X|9003[AX]|9005X|9006W|9007[ATX]|9008[ADIJNTUX]|9009[AG]|9010X|9013[ATX]|9015B|9020A|9022X|9024[OW]|9025Q|9026X|9027[FQTWX]|9029[ZW]|9032[TWXZ]|9203A|9309X|A(?:46[46]BG|57[04]BL|576CC|621BL|50[13]DL|57[17]VL)|I213|I216[AX]|(? Date: Thu, 19 Sep 2024 11:32:14 +0200 Subject: [PATCH 05/22] Adds detection for Veidoo brand --- Parser/Device/AbstractDeviceParser.php | 1 + Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 8 ++++++++ 3 files changed, 34 insertions(+) diff --git a/Parser/Device/AbstractDeviceParser.php b/Parser/Device/AbstractDeviceParser.php index 3ade021e9a..87484e6e79 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -1814,6 +1814,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'VAN' => 'VANGUARD', 'VAW' => 'VANWIN', 'VB' => 'VC', + 'VEI' => 'Veidoo', 'VN' => 'Venso', 'VNP' => 'VNPT Technology', 'VEN' => 'Venstar', diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index d9aa613125..7d3c38aedb 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3280,3 +3280,28 @@ model: 1T 7" 3G os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="111.0.5563.116", "Not(A:Brand";v="8.0.0.0", "Chromium";v="111.0.5563.116"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?0" + Sec-CH-UA-Full-Version: "111.0.5563.116" + Sec-CH-UA-Platform-Version: "13.0.0" + Sec-CH-UA-Model: "VEIDOO_T60_PLUS" + os: + name: Android + version: 13.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 111.0.5563.116 + engine: Blink + engine_version: 111.0.0.0 + device: + type: tablet + brand: Veidoo + model: T60 Plus + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index affdbba0ea..c11c2c5b1c 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -26757,6 +26757,14 @@ Vertu: - regex: 'Vertu[ ]?([a-z0-9]+)' model: '$1' +# Veidoo (https://veidoo.com/) +Veidoo: + regex: 'VEIDOO' + device: 'tablet' + models: + - regex: 'VEIDOO_(T60)_PLUS(?:[);/ ]|$)' + model: '$1 Plus' + # Venso mobile Venso: regex: '(?:CX-508|CX-551|Reiv 500|Creon F5|Isprit U50|Isprit-U50-LTE)(?:[);/ ]|$)' From 2d47534ee91a6f689180efb678376b2c1f8d58b8 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 11:34:17 +0200 Subject: [PATCH 06/22] Improves detection for Soho Style devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index 7d3c38aedb..9bd9ae3544 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3305,3 +3305,28 @@ model: T60 Plus os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Google Chrome";v="111.0.5563.116", "Not(A:Brand";v="8.0.0.0", "Chromium";v="111.0.5563.116"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?1" + Sec-CH-UA-Full-Version: "111.0.5563.116" + Sec-CH-UA-Platform-Version: "13.0.0" + Sec-CH-UA-Model: "S1586K" + os: + name: Android + version: 13.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 111.0.5563.116 + engine: Blink + engine_version: 111.0.0.0 + device: + type: smartphone + brand: Soho Style + model: S1586K + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index c11c2c5b1c..0cb8334c10 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -37517,7 +37517,7 @@ Liberton: # Soho Style Soho Style: - regex: '(SS(?:5214|5724)G)(?:[);/ ]|$)' + regex: '((?:S1586K|SS(?:5214|5724)G))(?:[);/ ]|$)' device: 'smartphone' model: '$1' From b651d45cfa9cfb5eaa1d87ab03d31284aeb382b2 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 11:43:59 +0200 Subject: [PATCH 07/22] Improves detection for X-Mobile devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 6 ++++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index 9bd9ae3544..a253bcaa32 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3330,3 +3330,28 @@ model: S1586K os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not_A Brand";v="8.0.0.0", "Chromium";v="120.0.6099.43", "Google Chrome";v="120.0.6099.43"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?1" + Sec-CH-UA-Full-Version: "120.0.6099.43" + Sec-CH-UA-Platform-Version: "11.0.0" + Sec-CH-UA-Model: "XMOBILE X7" + os: + name: Android + version: 11.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 120.0.6099.43 + engine: Blink + engine_version: 120.0.0.0 + device: + type: smartphone + brand: X-Mobile + model: X7 + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 0cb8334c10..d42c62f10b 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -40090,11 +40090,13 @@ VIVIMAGE: device: 'tablet' model: '$1' -# X-Mobile or Xmobile (xmobile.ne.jp) +# X-Mobile or XMobile (xmobile.ne.jp | https://xmobileusa.com/) X-Mobile: - regex: '(?:XM-SW1|X63Pro)(?:[);/ ]|$)' + regex: 'XMOBILE|(?:XM-SW1|X63Pro)(?:[);/ ]|$)' device: 'smartphone' models: + - regex: '(?:XMOBILE) X7(?:[);/ ]|$)' + model: 'X7' - regex: 'X63Pro' model: 'X63 Pro' - regex: 'XM-SW1' From 58f5a8ef54fe76042662601b21de8ec99a28ede3 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 11:51:34 +0200 Subject: [PATCH 08/22] Adds detection for Logitech brand --- Parser/Device/AbstractDeviceParser.php | 1 + Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 6 ++++++ 3 files changed, 32 insertions(+) diff --git a/Parser/Device/AbstractDeviceParser.php b/Parser/Device/AbstractDeviceParser.php index 87484e6e79..0f62501946 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -1029,6 +1029,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'LH' => 'Logic Instrument', 'LM' => 'Logicom', 'LOG' => 'Logik', + 'LGT' => 'Logitech', 'GY' => 'LOKMAT', 'LPX' => 'LPX-G', '0L' => 'Lumigon', diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index a253bcaa32..62a4cddea3 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3355,3 +3355,28 @@ model: X7 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="124.0.6367.54", "Google Chrome";v="124.0.6367.54", "Not-A.Brand";v="99.0.0.0"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?1" + Sec-CH-UA-Full-Version: "124.0.6367.54" + Sec-CH-UA-Platform-Version: "11.0.0" + Sec-CH-UA-Model: "GR0006" + os: + name: Android + version: 11.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 124.0.6367.54 + engine: Blink + engine_version: 124.0.0.0 + device: + type: console + brand: Logitech + model: G Cloud + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index d42c62f10b..aa96effb54 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -26933,6 +26933,12 @@ Logik: device: 'tv' model: '' +# Logitech (https://www.logitechg.com/) +Logitech: + regex: 'GR0006(?:[);/ ]|$)' + device: 'console' + model: 'G Cloud' + # Vestel (vestel.com) Vestel: regex: 'Vestel[ _,/\-]|Venus[ _](GO|E[2-5]|V[1-9]|Z[1-9]0)|(? Date: Thu, 19 Sep 2024 11:53:28 +0200 Subject: [PATCH 09/22] Improves detection for Retroid Pocket devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 10 ++++++++++ 2 files changed, 35 insertions(+) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index 62a4cddea3..d714028ff0 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3380,3 +3380,28 @@ model: G Cloud os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not.A/Brand";v="8.0.0.0", "Chromium";v="114.0.5735.60", "Google Chrome";v="114.0.5735.60"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?1" + Sec-CH-UA-Full-Version: "114.0.5735.60" + Sec-CH-UA-Platform-Version: "9.0.0" + Sec-CH-UA-Model: "Retroid Pocket 2+" + os: + name: Android + version: 9.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 114.0.5735.60 + engine: Blink + engine_version: 114.0.0.0 + device: + type: console + brand: Retroid Pocket + model: 2 Plus + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index aa96effb54..d689d15a04 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -41877,6 +41877,16 @@ Neoregent: device: 'tablet' model: 'KT1007' +# Retroid Pocket (www.goretroid.com) +Retroid Pocket: + regex: 'Retroid Pocket' + device: 'console' + models: + - regex: 'Retroid Pocket ([32]) ?(?:Plus|\+)' + model: '$1 Plus' + - regex: 'Retroid Pocket 4 Pro' + model: '4 Pro' + # Renova (renova.market) Renova: regex: '(TLE-50USBM|TLE-43FSBM)(?:[);/ ]|$)' From 0e5e804d56c6c73f17ae1ff62e5677724e19192e Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 11:56:56 +0200 Subject: [PATCH 10/22] Improves detection for Zuum devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 4 +++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index d714028ff0..43610b428f 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3405,3 +3405,28 @@ model: 2 Plus os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="124.0.6367.113", "Google Chrome";v="124.0.6367.113", "Not-A.Brand";v="99.0.0.0"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?1" + Sec-CH-UA-Full-Version: "124.0.6367.113" + Sec-CH-UA-Platform-Version: "13.0.0" + Sec-CH-UA-Model: "SENS M1" + os: + name: Android + version: 13.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 124.0.6367.113 + engine: Blink + engine_version: 124.0.0.0 + device: + type: smartphone + brand: Zuum + model: Sens M1 + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index d689d15a04..1c1fdf6293 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -30353,7 +30353,7 @@ Onix: model: '$1' Zuum: - regex: 'Zuum[ _-]|Android 6.+ UNIQ(?: Build|[);])|(?:ROCKET III?|Akus (?:PRO|[ZP]1?)|AURA_Z|COVET|MAGNO(?:-S)?|ONIX(?: S)?|STEDI|STELLAR(?:[ _](?:Z|PRO|[MP]1|M2))?|GRAVITY [ZM]|AURA (?:PLUS JLO|PRO JLO|PRO|X)|COVET_PRO_LITE|RONI|Android.*; (?:GRANT|LIMIT)|Gravity Life|ULTRA Z)(?:[);/ ]|$)' + regex: 'Zuum[ _-]|Android 6.+ UNIQ(?: Build|[);])|(?:ROCKET III?|Akus (?:PRO|[ZP]1?)|AURA_Z|COVET|MAGNO(?:-S)?|ONIX(?: S)?|STEDI|STELLAR(?:[ _](?:Z|PRO|[MP]1|M2))?|GRAVITY [ZM]|AURA (?:PLUS JLO|PRO JLO|PRO|X)|COVET_PRO_LITE|RONI|Android.*; (?:GRANT|LIMIT)|Gravity Life|SENS M1|ULTRA Z)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AKUS PRO' @@ -30380,6 +30380,8 @@ Zuum: model: 'Onix S' - regex: 'ONIX' model: 'Onix' + - regex: 'SENS M1' + model: 'Sens M1' - regex: 'STEDI' model: 'Stedi' - regex: 'STELLAR PRO' From 2c1cfb748617772a56190491252abe01d5bf7814 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 12:04:57 +0200 Subject: [PATCH 11/22] Improves detection for ZTE devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 4 +++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index 43610b428f..07991cd2f7 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3430,3 +3430,28 @@ model: Sens M1 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="122.0.6261.120", "Not(A:Brand";v="24.0.0.0", "Google Chrome";v="122.0.6261.120"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?1" + Sec-CH-UA-Full-Version: "122.0.6261.120" + Sec-CH-UA-Platform-Version: "13.0.0" + Sec-CH-UA-Model: "Z6255CA" + os: + name: Android + version: 13.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 122.0.6261.120 + engine: Blink + engine_version: 122.0.0.0 + device: + type: smartphone + brand: ZTE + model: nubia Blade A72 + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 1c1fdf6293..ad78c18d4b 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -29733,7 +29733,7 @@ Rakuten: # ZTE ZTE: - regex: 'ZTE(?!; MegaFon)|AxonPhone|([a-z0-9]+)_USA_Cricket|(?:Blade[ _](?:E01|V0820|L110|L[2357]|L210(?:RU)?|L7A|L8|S6|V[6789]|V8Q|V8 SE|V9 VITA|X7|A(310?|320|460|465|475|510|520|530|602|51|30|3)|V580|V Ultra|Q Lux)|N9[15]8St|N818S|N951[0579]|N91[38]0|N9101|N913[267]|N952[01]|N9560|N9810|N799D|[UV]9180|[UV]9815|Z(?:5151V|610DL|6250CC|6400C|6410S|233V|331|5031O|559DL|6621O|667T|6750M|768G|792|81[25]|818L|82[08]|83[12359]|85[125]|851M|992|(557|71[67]|798|836|861|916)BL|986DL|(232|718|828)TL|(?:233|353|558|717|799|837|862|899|917|963)VL|955A|95[678]|965|97[018]|98[1237]|986U|999|936L)|V769M|Blade Apex2|G (LTE|Lux)|Vec|Z959|V865M|Z3001S|902ZT|KIS II Max|Kis 3|K3DX-V5G|Z930L|Optus X|Blade[ _](A[357] 2019(?:-T)?|A[35] 2020-T|A7S 2020-T|A6 MAX|A0622|X9)|Z3153V|Z836F|Ctyon-A9|602ZT|MO-01[JK]|Z963U|402ZT|P545|P609|P650 Pro|dandelion|901ZT|A00[13]ZT|Z-01K|UZTE (?:GRAND V7|V808)|ZTG01|K8[37]CA|K87CC|VERGATARIO ?5(?:PLUS)?|Axon mini|KIS C341|A[13]03ZT|Z335(?:1S|[23]CA)|Z5156CC|Z5157[VY]|B867RE|MEO Smart A[48]0|SmartA35|P65[10] 2021|Z6201V|Z6252CA|Z6251V?|A2020N3|A2322G|A202ZT|A302ZT|Z719DL|Z5158|Z235[069]|Z2450|B2017G|5G UG Phone U23|ATLAS[ _]W|A2121G|A2022|A202[23]P|A0622|A0616)(?:[);/ ]|$)' + regex: 'ZTE(?!; MegaFon)|AxonPhone|([a-z0-9]+)_USA_Cricket|(?:Blade[ _](?:E01|V0820|L110|L[2357]|L210(?:RU)?|L7A|L8|S6|V[6789]|V8Q|V8 SE|V9 VITA|X7|A(310?|320|460|465|475|510|520|530|602|51|30|3)|V580|V Ultra|Q Lux)|N9[15]8St|N818S|N951[0579]|N91[38]0|N9101|N913[267]|N952[01]|N9560|N9810|N799D|[UV]9180|[UV]9815|Z(?:5151V|610DL|6250CC|6400C|6410S|233V|331|5031O|559DL|6621O|667T|6750M|768G|792|81[25]|818L|82[08]|83[12359]|85[125]|851M|992|(557|71[67]|798|836|861|916)BL|986DL|(232|718|828)TL|(?:233|353|558|717|799|837|862|899|917|963)VL|955A|95[678]|965|97[018]|98[1237]|986U|999|936L)|V769M|Blade Apex2|G (LTE|Lux)|Vec|Z959|V865M|Z3001S|902ZT|KIS II Max|Kis 3|K3DX-V5G|Z930L|Optus X|Blade[ _](A[357] 2019(?:-T)?|A[35] 2020-T|A7S 2020-T|A6 MAX|A0622|X9)|Z3153V|Z836F|Ctyon-A9|602ZT|MO-01[JK]|Z963U|402ZT|P545|P609|P650 Pro|dandelion|901ZT|A00[13]ZT|Z-01K|UZTE (?:GRAND V7|V808)|ZTG01|K8[37]CA|K87CC|VERGATARIO ?5(?:PLUS)?|Axon mini|KIS C341|A[13]03ZT|Z335(?:1S|[23]CA)|Z5156CC|Z5157[VY]|B867RE|MEO Smart A[48]0|SmartA35|P65[10] 2021|Z6201V|Z625[25]CA|Z6251V?|A2020N3|A2322G|A202ZT|A302ZT|Z719DL|Z5158|Z235[069]|Z2450|B2017G|5G UG Phone U23|ATLAS[ _]W|A2121G|A2022|A202[23]P|A0622|A0616)(?:[);/ ]|$)' device: 'smartphone' models: # explicit smartphone models @@ -29797,6 +29797,8 @@ ZTE: model: 'Blade A711' - regex: 'Z5157[VY]' model: 'Blade A3v' + - regex: 'Z6255CA' + model: 'nubia Blade A72' - regex: '7540N' model: 'Blade A72 5G' - regex: 'A0722(?:[);/ ]|$)' From 0557c7afc1148c868a648bd1f66fade304868c5b Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 12:09:36 +0200 Subject: [PATCH 12/22] Improves detection for Kempler & Strauss devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 5 ++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index 07991cd2f7..feed088a28 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3455,3 +3455,28 @@ model: nubia Blade A72 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="124.0.6367.82", "Google Chrome";v="124.0.6367.82", "Not-A.Brand";v="99.0.0.0"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?0" + Sec-CH-UA-Full-Version: "124.0.6367.82" + Sec-CH-UA-Platform-Version: "11.0.0" + Sec-CH-UA-Model: "ZKEMPLER PLUS" + os: + name: Android + version: 11.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 124.0.6367.82 + engine: Blink + engine_version: 124.0.0.0 + device: + type: tablet + brand: 'Kempler & Strauss' + model: ZKempler Plus + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index ad78c18d4b..16c116b0f2 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -13837,7 +13837,7 @@ Keneksi: # Kempler & Strauss (www.kemplerusa.com) Kempler & Strauss: - regex: 'Alumini_?3_?Plus|Alumini ?[23]|KEMPLER_(?:P[13]|TV|[X9]|8_PLUS)|ZKEMPLER_PRO|P1[ _]Amateur' + regex: 'Alumini_?3_?Plus|Alumini ?[23]|KEMPLER_(?:P[13]|TV|[X9]|8_PLUS)|ZKEMPLER[ _](?:PLUS|PRO)|P1[ _]Amateur' device: 'smartphone' models: - regex: 'Alumini ?2' @@ -13858,6 +13858,9 @@ Kempler & Strauss: model: '8 Plus' - regex: 'KEMPLER_9' model: '9' + - regex: 'ZKEMPLER PLUS' + model: 'ZKempler Plus' + device: 'tablet' - regex: 'ZKEMPLER_PRO' model: 'ZKempler Pro' device: 'tablet' From 5ffb88f8e62eab58f145bddfe87ad355e3f6895f Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 12:11:23 +0200 Subject: [PATCH 13/22] Improves detection for Walton devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 4 +++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index feed088a28..9a8a043503 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3480,3 +3480,28 @@ model: ZKempler Plus os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Not/A)Brand";v="8.0.0.0", "Chromium";v="126.0.6478.122", "Google Chrome";v="126.0.6478.122"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?1" + Sec-CH-UA-Full-Version: "126.0.6478.122" + Sec-CH-UA-Platform-Version: "14.0.0" + Sec-CH-UA-Model: "XANON X90" + os: + name: Android + version: 14.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 126.0.6478.122 + engine: Blink + engine_version: 126.0.0.0 + device: + type: smartphone + brand: Walton + model: Xanon X90 + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 16c116b0f2..024538b89c 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -27322,7 +27322,7 @@ Ober: # Walton (waltonbd.com) Walton: - regex: 'Walton|Walpad|RX7 Mini|Primo[ _](?:C[1234]?|D[1-689]|E[1-589]|F8s|EF[23]?|EM|F[1-79]i?|G[1-9]|GF[234]?|GH[23]?|GM|H[2-689M]|H10|H7s|N[F1]?|NX2?|R[1-689]|R[HM]2?|RX[23]?|S[1-8]|V1|X[1-4]|Z|[ZV]X)|Orbit M20|Orbit Y(?:2[10]|[57]0)|XANON X20|NEXG N(?:7[0-3]|25|[689])' + regex: 'Walton|Walpad|RX7 Mini|Primo[ _](?:C[1234]?|D[1-689]|E[1-589]|F8s|EF[23]?|EM|F[1-79]i?|G[1-9]|GF[234]?|GH[23]?|GM|H[2-689M]|H10|H7s|N[F1]?|NX2?|R[1-689]|R[HM]2?|RX[23]?|S[1-8]|V1|X[1-4]|Z|[ZV]X)|Orbit M20|Orbit Y(?:2[10]|[57]0)|XANON X[29]0|NEXG N(?:7[0-3]|25|[689])' device: 'smartphone' models: - regex: 'Walpad[ _]?([^;/)]+)(?: Build|[);])' @@ -27346,6 +27346,8 @@ Walton: model: 'Orbit M$1' - regex: 'XANON X20' model: 'Xanon X20' + - regex: 'XANON X90' + model: 'Xanon X90' - regex: 'NEXG N71 Plus' model: 'Nexg N71 Plus' - regex: 'NEXG N(7[0-3]|25|[689])' From 3f5a87e2780b965163deea9fcc5117aa22912eb1 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 12:18:51 +0200 Subject: [PATCH 14/22] Improves detection for Soho Style devices --- Tests/fixtures/smartphone-18.yml | 36 ++++++++++++++++++++++++++++++++ regexes/device/mobiles.yml | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/smartphone-18.yml b/Tests/fixtures/smartphone-18.yml index 25e5e69772..de81f5e060 100644 --- a/Tests/fixtures/smartphone-18.yml +++ b/Tests/fixtures/smartphone-18.yml @@ -3633,3 +3633,39 @@ model: "" os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SS5314G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.98 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 97.0.4692.98 + engine: Blink + engine_version: 97.0.4692.98 + device: + type: smartphone + brand: Soho Style + model: SS5314G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SS5424G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 109.0.0.0 + engine: Blink + engine_version: 109.0.0.0 + device: + type: smartphone + brand: Soho Style + model: SS5424G + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 024538b89c..dfd66bf480 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -37532,7 +37532,7 @@ Liberton: # Soho Style Soho Style: - regex: '((?:S1586K|SS(?:5214|5724)G))(?:[);/ ]|$)' + regex: '((?:S1586K|SS(?:5[23]14|5[47]24)G))(?:[);/ ]|$)' device: 'smartphone' model: '$1' From fd6e4b01788b67252c2bc4d64a71dbfdc2f8569d Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 12:22:13 +0200 Subject: [PATCH 15/22] Adds detection for Bell brand --- Parser/Device/AbstractDeviceParser.php | 1 + Tests/fixtures/tv-4.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 0f62501946..25ad929760 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -251,6 +251,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'YB' => 'Beista', 'BY' => 'BS Mobile', 'BZ' => 'Bezkam', + 'BEL' => 'Bell', '9B' => 'Bellphone', '63' => 'Beyond', 'BG' => 'BGH', diff --git a/Tests/fixtures/tv-4.yml b/Tests/fixtures/tv-4.yml index d55a75d626..999b6df4dd 100644 --- a/Tests/fixtures/tv-4.yml +++ b/Tests/fixtures/tv-4.yml @@ -2649,3 +2649,21 @@ model: LOUiE os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; FibeTV Build/RTT4.240509.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/127.0.6533.103 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Webview + version: 127.0.6533.103 + engine: Blink + engine_version: 127.0.6533.103 + device: + type: tv + brand: Bell + model: FibeTV + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index dfd66bf480..5a6292b5f0 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -35342,6 +35342,12 @@ Camfone: - regex: 'Camfone (SE)(?:[);/ ]|$)' model: '$1' +# Bell (https://www.bell.ca/) +Bell: + regex: 'FibeTV(?:[);/ ]|$)' + device: 'tv' + model: 'FibeTV' + # Bellphone Bellphone: regex: 'Bp100 X-Plus(?:[);/ ]|$)' From 4566fb8ba21edf2eb47fdf3f83ca7e7dac88d141 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 12:26:48 +0200 Subject: [PATCH 16/22] Adds detection for iHome Life brand --- Parser/Device/AbstractDeviceParser.php | 1 + Tests/fixtures/tv-4.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 25ad929760..45e0c4898a 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -818,6 +818,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'IDI' => 'iDino', '6Z' => 'iData', 'IG' => 'iGet', + 'IHL' => 'iHome Life', 'IH' => 'iHunt', 'IA' => 'Ikea', 'IYO' => 'iYou', diff --git a/Tests/fixtures/tv-4.yml b/Tests/fixtures/tv-4.yml index 999b6df4dd..eeedfba3b0 100644 --- a/Tests/fixtures/tv-4.yml +++ b/Tests/fixtures/tv-4.yml @@ -2667,3 +2667,21 @@ model: FibeTV os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10.0; HLQ MAX) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 + os: + name: Android + version: "10.0" + platform: "" + client: + type: browser + name: Chrome + version: 107.0.0.0 + engine: Blink + engine_version: 107.0.0.0 + device: + type: tv + brand: iHome Life + model: HLQ MAX + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 5a6292b5f0..3005410eb7 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -12192,6 +12192,12 @@ iBerry: - regex: 'AUXUS ([^/;]+) Build' model: '$1' +# iHome Life (http://www.ihomebox.com/) +iHome Life: + regex: 'HLQ MAX(?:[);/ ]|$)' + device: 'tv' + model: 'HLQ MAX' + # iHunt iHunt: regex: 'iHunt|One_ Love_|TIT?AN[_ ]P\d+|Like_(3|4U|3_Pro)|X300 Elite|S10_Tank_2019|S10 Tank PRO 2020|S60 Discovery Plus|S60_Discovery_2019|AlienXLite2020|Alien X (?:Lite|Pro)|Alien_X|(?:Titan ?P6000|S[23]0 Ultra ApeX 2021|S21 Ultra 4G 2021|P11000 Pro|Strong Tablet P15000 Pro|Like 11 Panda Pro|Like_Hi10_2021|Like Hi5|S21 Plus 2021|Like_[78]|Cyber DOG 4G|S10 Tank 2020|(?:S100|S90_)Apex|Tablet PC 10 PRO)(?:_EEA)?(?:[);/ ]|$)' From 0514d0dec0a75e2b00d9194458c945c3d535ca62 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 12:36:32 +0200 Subject: [PATCH 17/22] Improves detection for Aiwa devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 5 ++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index 9a8a043503..b22cf3edb4 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3505,3 +3505,28 @@ model: Xanon X90 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Not_A Brand";v="8.0.0.0", "Chromium";v="120.0.6099.115", "Google Chrome";v="120.0.6099.115"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?0" + Sec-CH-UA-Full-Version: "120.0.6099.115" + Sec-CH-UA-Platform-Version: "9.0.0" + Sec-CH-UA-Model: "AWTX6" + os: + name: Android + version: 9.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 120.0.6099.115 + engine: Blink + engine_version: 120.0.0.0 + device: + type: tv + brand: Aiwa + model: AWTX6 + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 3005410eb7..96e9658552 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -2341,7 +2341,7 @@ Airpha: # Aiwa (aiwa.mx eu-aiwa.com) Aiwa: - regex: '(?:AW790|M300(?! 4G)|AWM(?:53[39]|50[19]|561|999)|AW500|Android 7(?:[\d.]*);(?: [\w-]+;)? Z9 PLUS|JA2-SMP0601)(?:[);/ ]|$)' + regex: '(?:AW790|M300(?! 4G)|AWM(?:53[39]|50[19]|561|999)|AW500|Android 7(?:[\d.]*);(?: [\w-]+;)? Z9 PLUS|JA2-SMP0601|AWTX6)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'AW790(?:[);/ ]|$)' @@ -2357,6 +2357,9 @@ Aiwa: - regex: 'M300(?:[);/ ]|$)' model: 'M300' device: 'phablet' + - regex: 'AWTX6' + model: 'AWTX6' + device: 'tv' # Akai Akai: From 92b6526f41de69daf497683e8632b15517eaac47 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 12:40:03 +0200 Subject: [PATCH 18/22] Improves detection for INSYS devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 4 ++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index b22cf3edb4..eb6deb49e2 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3530,3 +3530,28 @@ model: AWTX6 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="112.0.5615.135", "Google Chrome";v="112.0.5615.135", "Not:A-Brand";v="99.0.0.0"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?0" + Sec-CH-UA-Full-Version: "112.0.5615.135" + Sec-CH-UA-Platform-Version: "12.0.0" + Sec-CH-UA-Model: "HN2-M16Q" + os: + name: Android + version: 12.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 112.0.5615.135 + engine: Blink + engine_version: 112.0.0.0 + device: + type: tablet + brand: INSYS + model: HN2-M16Q + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 96e9658552..91c593b81d 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -13097,7 +13097,7 @@ Insignia: # INSYS (https://www.insys.pt/) INSYS: - regex: 'INSYS|(?:HK9-4010|IH9-L614|AC7_DJ17)(?:[);/ ]|$)' + regex: 'INSYS|(?:HK9-4010|IH9-L614|AC7_DJ17|HN2-M16Q)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'HK9-4010' @@ -13106,7 +13106,7 @@ INSYS: model: 'AC7-DJ17' - regex: 'IH9-L614' model: 'MX IH9-L614' - - regex: '(VI4-103|GU4-K147)' + - regex: '(GU4-K147|HN2-M16Q|VI4-103)' device: 'tablet' model: '$1' From fcb0891e11694b444d08c8cf22f7bf08d133b0c2 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 12:47:25 +0200 Subject: [PATCH 19/22] Improves detection for Hisense devices --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 4 ++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index eb6deb49e2..7100e39932 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3555,3 +3555,28 @@ model: HN2-M16Q os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 12; HLTE239E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Mobile Safari/537.36 + headers: + Sec-CH-UA: '"Chromium";v="112.0.5615.48", "Google Chrome";v="112.0.5615.48", "Not:A-Brand";v="99.0.0.0"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?1" + Sec-CH-UA-Full-Version: "112.0.5615.48" + Sec-CH-UA-Platform-Version: "12.0.0" + Sec-CH-UA-Model: "HLTE239E" + os: + name: Android + version: 12.0.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 112.0.5615.48 + engine: Blink + engine_version: 112.0.0.0 + device: + type: smartphone + brand: Hisense + model: E50s + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 91c593b81d..b714dbe95f 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -41348,7 +41348,7 @@ SAILF: # Hisense (https://www.hisense-usa.com/) Hisense: - regex: '(?:HS-)?Hisense ([^;/]+) Build|Hisense|HS-(?:G|U|EG?|I|L|T|X)[0-9]+[a-z0-9\-]*|HNR55[01]T|E270BSA|HWCD100E|HITV300C|HITV205N|M470BS[AE]|EG98|E2281|EG680|I46D1G|HAT4KDTV|HITV10[12]C|HLTE([237]00T|229T|200M|203T|202N|21[023567][TM]|22[67]T|22[13]E|230E|103E|310[TM]|31[16]T|500T|501N|510[TM]|7[23]0T|M800)|KS(?:907|964)|U972|U601S Pro|U972_Pro|HNR320T|HiSmart [24]K ATV4|HiSmartTV A4|HLTE556N|HLTE720E' + regex: '(?:HS-)?Hisense ([^;/]+) Build|Hisense|HS-(?:G|U|EG?|I|L|T|X)[0-9]+[a-z0-9\-]*|HNR(?:320T|55[01]T)|E270BSA|HWCD100E|HITV300C|HITV205N|M470BS[AE]|EG98|E2281|EG680|I46D1G|HAT4KDTV|HITV10[12]C|HLTE(?:[237]00T|229T|200M|203T|202N|21[023567][TM]|22[67]T|22[13]E|230E|239E|103E|310[TM]|31[16]T|500T|501N|510[TM]|556N|7[23]0T|720E|M800)|KS(?:907|964)|U972|U601S Pro|U972_Pro|HiSmart [24]K ATV4|HiSmartTV A4' device: 'smartphone' models: # explicit tablet models @@ -41378,7 +41378,7 @@ Hisense: model: 'A9' - regex: 'M50 Lite 2021' model: 'M50 Lite (2021)' - - regex: 'E50s \d+GB' + - regex: 'E50s \d+GB|HLTE239E' model: 'E50s' - regex: 'Infinity E MAX' model: 'Infinity E Max' From 130170edaa346be0bc911e237887c7c06eb71ff1 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 12:49:41 +0200 Subject: [PATCH 20/22] Improves detection for unknown tv --- Tests/fixtures/clienthints.yml | 25 +++++++++++++++++++++++++ regexes/device/mobiles.yml | 4 ++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index 7100e39932..4e57691971 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3580,3 +3580,28 @@ model: E50s os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 + headers: + Sec-CH-UA: '"Not/A)Brand";v="8.0.0.0", "Chromium";v="126.0.6478.188", "Google Chrome";v="126.0.6478.188"' + Sec-CH-UA-Platform: "Android" + Sec-CH-UA-Mobile: "?0" + Sec-CH-UA-Full-Version: "126.0.6478.188" + Sec-CH-UA-Platform-Version: "11.0.0" + Sec-CH-UA-Model: "HK1RBOX-X4" + os: + name: Android + version: 11.0.0 + platform: "" + client: + type: browser + name: Chrome + version: 126.0.6478.188 + engine: Blink + engine_version: 126.0.0.0 + device: + type: tv + brand: "" + model: HK1RBOX-X4 + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index b714dbe95f..09bc53299a 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -42244,7 +42244,7 @@ SERVO: # 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|SDSTB|SDOTT|(?: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|WayDroid x86_64 Device|MediaBox|Cloud Phone)(?:[);/ ]|$)' + regex: 'Plasma Mobile|WebTV/(\d+\.\d+)|TV Bro| BOX|BOX | BOX |roku|YouView|DirectFB|avdn/|wired|wireless|AndroidTV|cordova-amazon-fireos|wv-atv|SDSTB|SDOTT|(?: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|WayDroid x86_64 Device|MediaBox|Cloud Phone|HK1RBOX-X4)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'LGE; ([a-z0-9]+);' @@ -42259,7 +42259,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|SDSTB|SDOTT|(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|MediaBox)(?:[);/ ]|$)' + - regex: 'BOX|BOX | BOX |roku|YouView|DirectFB|avdn/|wired|wireless|AndroidTV|cordova-amazon-fireos|wv-atv|SDSTB|SDOTT|(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|MediaBox|HK1RBOX-X4)(?:[);/ ]|$)' device: 'tv' model: '' - regex: 'M8S\+ 4K(?:[);/ ]|$)' From bdea7a1d3145615447232fbb9c77af36bb413378 Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Thu, 19 Sep 2024 12:53:47 +0200 Subject: [PATCH 21/22] Improves detection for H96 devices --- Tests/fixtures/tv-4.yml | 36 ++++++++++++++++++++++++++++++++++++ regexes/device/mobiles.yml | 6 +++++- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/Tests/fixtures/tv-4.yml b/Tests/fixtures/tv-4.yml index eeedfba3b0..15391f0860 100644 --- a/Tests/fixtures/tv-4.yml +++ b/Tests/fixtures/tv-4.yml @@ -2685,3 +2685,39 @@ model: HLQ MAX os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; H96 mini H8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome + version: 112.0.0.0 + engine: Blink + engine_version: 112.0.0.0 + device: + type: tv + brand: H96 + model: mini H8 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 5.1.1; H96plus) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.74 Safari/537.36 + os: + name: Android + version: 5.1.1 + platform: "" + client: + type: browser + name: Chrome + version: 95.0.4638.74 + engine: Blink + engine_version: 95.0.4638.74 + device: + type: tv + brand: H96 + model: Plus + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 09bc53299a..cc787d8620 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -9888,7 +9888,7 @@ H133: # H96 (https://www.h96tvbox.com/) H96: - regex: 'H96[ _]?(?:Max|PRO\+)' + regex: 'H96[ _]?(?:Max|mini H8|plus|PRO\+)' device: 'tv' models: - regex: '(?:H96[_ ]?)?Max[ _]RK(\d{4})(?:[);/ ]|$)' @@ -9899,6 +9899,10 @@ H96: model: 'Max V11' - regex: 'Max(?:[);/ ]|$)' model: 'Max' + - regex: 'mini H8(?:[);/ ]|$)' + model: 'mini H8' + - regex: 'H96plus(?:[);/ ]|$)' + model: 'Plus' - regex: 'PRO\+(?:[);/ ]|$)' model: 'Pro+' From 0729e0f4b720332cc4425129dd6bfdd2e214fd2a Mon Sep 17 00:00:00 2001 From: Liviu-Mihail Concioiu Date: Fri, 20 Sep 2024 08:33:06 +0200 Subject: [PATCH 22/22] Fix --- Tests/fixtures/clienthints.yml | 4 ++-- Tests/fixtures/tv-4.yml | 2 +- regexes/device/mobiles.yml | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Tests/fixtures/clienthints.yml b/Tests/fixtures/clienthints.yml index 4e57691971..f17e1b955d 100644 --- a/Tests/fixtures/clienthints.yml +++ b/Tests/fixtures/clienthints.yml @@ -3451,8 +3451,8 @@ engine_version: 122.0.0.0 device: type: smartphone - brand: ZTE - model: nubia Blade A72 + brand: Nubia + model: Blade A72 os_family: Android browser_family: Chrome - diff --git a/Tests/fixtures/tv-4.yml b/Tests/fixtures/tv-4.yml index 15391f0860..ed19584366 100644 --- a/Tests/fixtures/tv-4.yml +++ b/Tests/fixtures/tv-4.yml @@ -2700,7 +2700,7 @@ device: type: tv brand: H96 - model: mini H8 + model: Mini H8 os_family: Android browser_family: Chrome - diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index cc787d8620..9ddd2881d9 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -9900,7 +9900,7 @@ H96: - regex: 'Max(?:[);/ ]|$)' model: 'Max' - regex: 'mini H8(?:[);/ ]|$)' - model: 'mini H8' + model: 'Mini H8' - regex: 'H96plus(?:[);/ ]|$)' model: 'Plus' - regex: 'PRO\+(?:[);/ ]|$)' @@ -29613,13 +29613,15 @@ Zenek: # Nubia (www.nubia.com) Nubia: - regex: 'Nubia[ _]|(?:NX(?:403A|404H|406E|40[X2]|503A|50[5678]J|51[0123]J|521J|523J_V1|529Jq?|5[345]1J|5[48]9J|569[HJ]|5[67]3J|575J|59[157]J|60[1689]J|61[12679]J|62[79]J|65[19]J|6[126]9J|66[67]J|679[JS]|70[129]J|71[123]J|72[19]J|769J|709S|907J)|NP01J|Z2352N)(?:[);/ ]|$)' + regex: 'Nubia[ _]|(?:NX(?:403A|404H|406E|40[X2]|503A|50[5678]J|51[0123]J|521J|523J_V1|529Jq?|5[345]1J|5[48]9J|569[HJ]|5[67]3J|575J|59[157]J|60[1689]J|61[12679]J|62[79]J|65[19]J|6[126]9J|66[67]J|679[JS]|70[129]J|71[123]J|72[19]J|769J|709S|907J)|NP01J|Z2352N|Z6255CA)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'NP01J' device: 'tablet' model: 'Red Magic Gaming Pad' + - regex: 'Z6255CA' + model: 'Blade A72' - regex: '8150N' model: 'Neo 5G' - regex: 'Z2352N' @@ -29751,7 +29753,7 @@ Rakuten: # ZTE ZTE: - regex: 'ZTE(?!; MegaFon)|AxonPhone|([a-z0-9]+)_USA_Cricket|(?:Blade[ _](?:E01|V0820|L110|L[2357]|L210(?:RU)?|L7A|L8|S6|V[6789]|V8Q|V8 SE|V9 VITA|X7|A(310?|320|460|465|475|510|520|530|602|51|30|3)|V580|V Ultra|Q Lux)|N9[15]8St|N818S|N951[0579]|N91[38]0|N9101|N913[267]|N952[01]|N9560|N9810|N799D|[UV]9180|[UV]9815|Z(?:5151V|610DL|6250CC|6400C|6410S|233V|331|5031O|559DL|6621O|667T|6750M|768G|792|81[25]|818L|82[08]|83[12359]|85[125]|851M|992|(557|71[67]|798|836|861|916)BL|986DL|(232|718|828)TL|(?:233|353|558|717|799|837|862|899|917|963)VL|955A|95[678]|965|97[018]|98[1237]|986U|999|936L)|V769M|Blade Apex2|G (LTE|Lux)|Vec|Z959|V865M|Z3001S|902ZT|KIS II Max|Kis 3|K3DX-V5G|Z930L|Optus X|Blade[ _](A[357] 2019(?:-T)?|A[35] 2020-T|A7S 2020-T|A6 MAX|A0622|X9)|Z3153V|Z836F|Ctyon-A9|602ZT|MO-01[JK]|Z963U|402ZT|P545|P609|P650 Pro|dandelion|901ZT|A00[13]ZT|Z-01K|UZTE (?:GRAND V7|V808)|ZTG01|K8[37]CA|K87CC|VERGATARIO ?5(?:PLUS)?|Axon mini|KIS C341|A[13]03ZT|Z335(?:1S|[23]CA)|Z5156CC|Z5157[VY]|B867RE|MEO Smart A[48]0|SmartA35|P65[10] 2021|Z6201V|Z625[25]CA|Z6251V?|A2020N3|A2322G|A202ZT|A302ZT|Z719DL|Z5158|Z235[069]|Z2450|B2017G|5G UG Phone U23|ATLAS[ _]W|A2121G|A2022|A202[23]P|A0622|A0616)(?:[);/ ]|$)' + regex: 'ZTE(?!; MegaFon)|AxonPhone|([a-z0-9]+)_USA_Cricket|(?:Blade[ _](?:E01|V0820|L110|L[2357]|L210(?:RU)?|L7A|L8|S6|V[6789]|V8Q|V8 SE|V9 VITA|X7|A(310?|320|460|465|475|510|520|530|602|51|30|3)|V580|V Ultra|Q Lux)|N9[15]8St|N818S|N951[0579]|N91[38]0|N9101|N913[267]|N952[01]|N9560|N9810|N799D|[UV]9180|[UV]9815|Z(?:5151V|610DL|6250CC|6400C|6410S|233V|331|5031O|559DL|6621O|667T|6750M|768G|792|81[25]|818L|82[08]|83[12359]|85[125]|851M|992|(557|71[67]|798|836|861|916)BL|986DL|(232|718|828)TL|(?:233|353|558|717|799|837|862|899|917|963)VL|955A|95[678]|965|97[018]|98[1237]|986U|999|936L)|V769M|Blade Apex2|G (LTE|Lux)|Vec|Z959|V865M|Z3001S|902ZT|KIS II Max|Kis 3|K3DX-V5G|Z930L|Optus X|Blade[ _](A[357] 2019(?:-T)?|A[35] 2020-T|A7S 2020-T|A6 MAX|A0622|X9)|Z3153V|Z836F|Ctyon-A9|602ZT|MO-01[JK]|Z963U|402ZT|P545|P609|P650 Pro|dandelion|901ZT|A00[13]ZT|Z-01K|UZTE (?:GRAND V7|V808)|ZTG01|K8[37]CA|K87CC|VERGATARIO ?5(?:PLUS)?|Axon mini|KIS C341|A[13]03ZT|Z335(?:1S|[23]CA)|Z5156CC|Z5157[VY]|B867RE|MEO Smart A[48]0|SmartA35|P65[10] 2021|Z6201V|Z6252CA|Z6251V?|A2020N3|A2322G|A202ZT|A302ZT|Z719DL|Z5158|Z235[069]|Z2450|B2017G|5G UG Phone U23|ATLAS[ _]W|A2121G|A2022|A202[23]P|A0622|A0616)(?:[);/ ]|$)' device: 'smartphone' models: # explicit smartphone models @@ -29815,8 +29817,6 @@ ZTE: model: 'Blade A711' - regex: 'Z5157[VY]' model: 'Blade A3v' - - regex: 'Z6255CA' - model: 'nubia Blade A72' - regex: '7540N' model: 'Blade A72 5G' - regex: 'A0722(?:[);/ ]|$)'