From 82c38685f4c965be2ed00c13abb568f6210e1215 Mon Sep 17 00:00:00 2001 From: sanchezzzhak Date: Fri, 28 Jul 2023 20:01:36 +0300 Subject: [PATCH 1/2] feat: detect device brand Samsung: Galaxy Watch 4 44mm (SM-R875F), Galaxy Watch 4 40mm (SM-R870, SM-R860), Galaxy Watch 5 40mm (SM-R900, SM-R905U, SM-R905N, SM-R905F), Galaxy Gear S2 43mm (SM-R720), Galaxy Watch 5 Pro 50mm (SM-R925F, SM-R925N, SM-R925U), Galaxy Watch 5 Pro 45mm (SM-R920), Galaxy Gear S2 44mm (SM-R730A), Galaxy Watch 5 44mm (SM-R915U, SM-R915F, SM-R910), Galaxy Watch 4 46mm (SM-R895U, SM-R895N, SM-R895F) feat: detect device brand Starwind: SW-LED24SG303 feat: detect device brand SUNWIND: SUN-LED43XU400 feat: detect device brand DEXP: U43G8100QG feat: detect device brand NEXON: X3 feat: detect device brand Irbis: 32H1YDX000BS2 feat: detect device brand Teclast: M40 Plus feat: detect device brand Blackview: Tab 15 Pro feat: detect device brand Huawei: MatePad 11 WiFi (DBR-W09), Nova 8 (Angela-L02B), Honor X50i (CRT-AN00), P60 Pro (MNA-AL00) feat: detect device brand Vivo: iQOO Neo 3 feat: detect device brand Karbonn: Aura Sleek 4G feat: detect device brand Lenovo: TAB3 10 Plus (TB3-X70L), Tab M10 FHD Rel (TB-X605LC), IdeaTab A10-70 (A7600-H) --- Tests/fixtures/smartphone-37.yml | 90 ++++++++ Tests/fixtures/tablet-10.yml | 108 ++++++++++ Tests/fixtures/tv-2.yml | 90 ++++++++ Tests/fixtures/wearable.yml | 342 +++++++++++++++++++++++++++++++ regexes/device/mobiles.yml | 65 ++++-- 5 files changed, 679 insertions(+), 16 deletions(-) diff --git a/Tests/fixtures/smartphone-37.yml b/Tests/fixtures/smartphone-37.yml index ed34d916d5..28370fad00 100644 --- a/Tests/fixtures/smartphone-37.yml +++ b/Tests/fixtures/smartphone-37.yml @@ -485,3 +485,93 @@ model: Redmi 12 os_family: Android browser_family: Android Browser +- + user_agent: Mozilla/5.0 (Linux; Android 10; iQOO Neo 3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Mobile Safari/537.36 + os: + name: Android + version: "10" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 91.0.4472.101 + engine: Blink + engine_version: 91.0.4472.101 + device: + type: smartphone + brand: Vivo + model: iQOO Neo 3 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; Angela-L02B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Mobile Safari/537.36 OPR/77.0.4054.90 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Opera Mobile + version: 77.0.4054.90 + engine: Blink + engine_version: 91.0.4472.101 + device: + type: smartphone + brand: Huawei + model: Nova 8 + os_family: Android + browser_family: Opera +- + user_agent: Mozilla/5.0 (Linux; Android 13; CRT-AN00; HMSCore 6.11.0.302) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.88 HuaweiBrowser/13.0.4.302 Mobile Safari/537.36 + os: + name: Android + version: "13" + platform: "" + client: + type: browser + name: Huawei Browser Mobile + version: 13.0.4.302 + engine: Blink + engine_version: 99.0.4844.88 + device: + type: smartphone + brand: Huawei + model: Honor X50i + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 12; HarmonyOS; MNA-AL00; HMSCore 6.11.0.302) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.88 HuaweiBrowser/13.0.6.302 Mobile Safari/537.36 + os: + name: HarmonyOS + version: "" + platform: "" + client: + type: browser + name: Huawei Browser Mobile + version: 13.0.6.302 + engine: Blink + engine_version: 99.0.4844.88 + device: + type: smartphone + brand: Huawei + model: P60 Pro + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 6.0; Aura Sleek 4G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.5615.48 Mobile Safari/537.36 + os: + name: Android + version: "6.0" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 112.0.5615.48 + engine: Blink + engine_version: 112.0.5615.48 + device: + type: smartphone + brand: Karbonn + model: Aura Sleek 4G + os_family: Android + browser_family: Chrome diff --git a/Tests/fixtures/tablet-10.yml b/Tests/fixtures/tablet-10.yml index c6d77fd239..2c2c56aa0a 100644 --- a/Tests/fixtures/tablet-10.yml +++ b/Tests/fixtures/tablet-10.yml @@ -449,3 +449,111 @@ model: ZenPad 3 8.0 os_family: Android browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 12; M40_Plus_ROW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 YaApp_Android/23.70/apad YaSearchBrowser/23.70/apad BroPP/1.0 SA/3 Mobile Safari/537.36 + os: + name: Android + version: "12" + platform: ARM + client: + type: browser + name: Yandex Browser + version: "23.70" + engine: Blink + engine_version: 114.0.0.0 + device: + type: tablet + brand: Teclast + model: M40 Plus + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 12; Tab 15 Pro) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 YaBrowser/23.1.5.93.01 Safari/537.36 + os: + name: Android + version: "12" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 23.1.5.93.01 + engine: Blink + engine_version: 108.0.0.0 + device: + type: tablet + brand: Blackview + model: Tab 15 Pro + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 12; HarmonyOS; DBR-W09; HMSCore 6.10.2.309) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.105 HuaweiBrowser/12.1.2.319 Safari/537.36 + os: + name: HarmonyOS + version: "" + platform: "" + client: + type: browser + name: Huawei Browser Mobile + version: 12.1.2.319 + engine: Blink + engine_version: 92.0.4515.105 + device: + type: tablet + brand: Huawei + model: MatePad 11 WiFi + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 12; TB3-X70L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.5414.118 Mobile Safari/537.36 + os: + name: Android + version: "12" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 109.0.5414.118 + engine: Blink + engine_version: 109.0.5414.118 + device: + type: tablet + brand: Lenovo + model: TAB3 10 Plus + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; TB-X605LC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.5563.115 Mobile Safari/537.36 + os: + name: Android + version: "10" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 111.0.5563.115 + engine: Blink + engine_version: 111.0.5563.115 + device: + type: tablet + brand: Lenovo + model: Tab M10 FHD Rel + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 4.4.2; A7600-H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.96 Mobile Safari/537.36 + os: + name: Android + version: 4.4.2 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 72.0.3626.96 + engine: Blink + engine_version: 72.0.3626.96 + device: + type: tablet + brand: Lenovo + model: IdeaTab A10-70 + os_family: Android + browser_family: Chrome diff --git a/Tests/fixtures/tv-2.yml b/Tests/fixtures/tv-2.yml index d6caee97fd..466ce5b1de 100644 --- a/Tests/fixtures/tv-2.yml +++ b/Tests/fixtures/tv-2.yml @@ -4243,3 +4243,93 @@ model: LD-32SR4850BS os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SW-LED24SG303 Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/109.0.5414.117 YaBrowser/23.1.0.29 (lite) TV Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 23.1.0.29 + engine: Blink + engine_version: 109.0.5414.117 + device: + type: tv + brand: Starwind + model: SW-LED24SG303 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 9; SUN-LED43XU400 Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.158 YaBrowser/23.1.0.29 (lite) TV Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 23.1.0.29 + engine: Blink + engine_version: 66.0.3359.158 + device: + type: tv + brand: SUNWIND + model: SUN-LED43XU400 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 9; U43G8100QG Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/109.0.5414.117 YaBrowser/23.1.0.29 (lite) TV Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 23.1.0.29 + engine: Blink + engine_version: 109.0.5414.117 + device: + type: tv + brand: DEXP + model: U43G8100QG + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 10; NEXON X3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.5359.215 Safari/537.36 OPR/73.3.3844.70500 + os: + name: Android + version: "10" + platform: "" + client: + type: browser + name: Opera + version: 73.3.3844.70500 + engine: Blink + engine_version: 108.0.5359.215 + device: + type: tv + brand: NEXON + model: X3 + os_family: Android + browser_family: Opera +- + user_agent: Mozilla/5.0 (Linux; Android 9; 32H1YDX000BS2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Mobile Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 103.0.0.0 + engine: Blink + engine_version: 103.0.0.0 + device: + type: tv + brand: Irbis + model: 32H1YDX000BS2 + os_family: Android + browser_family: Chrome diff --git a/Tests/fixtures/wearable.yml b/Tests/fixtures/wearable.yml index 90ac69012e..81e21f4135 100644 --- a/Tests/fixtures/wearable.yml +++ b/Tests/fixtures/wearable.yml @@ -1590,3 +1590,345 @@ model: Watch 3 Pro Elite os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-R875F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/1.2 Chrome/90.0.4430.210 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Samsung Browser + version: "1.2" + engine: WebKit + engine_version: "537.36" + device: + type: wearable + brand: Samsung + model: Galaxy Watch 4 44mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SM-R870) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 112.0.0.0 + engine: Blink + engine_version: 112.0.0.0 + device: + type: wearable + brand: Samsung + model: Galaxy Watch 4 40mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SM-R860) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 110.0.0.0 + engine: Blink + engine_version: 110.0.0.0 + device: + type: wearable + brand: Samsung + model: Galaxy Watch 4 40mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-R905U) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.2. Chrome/102.0.5005.125 Mobile Safari/537.36 29 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Samsung Browser + version: "2.2" + engine: WebKit + engine_version: "537.36" + device: + type: wearable + brand: Samsung + model: Galaxy Watch 5 40mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Tizen 2.3.2.7; SAMSUNG SM-R720) AppleWebKit/538.1 (KHTML, like Gecko) Version/2.3.2.7 Mobile Safari/538.1 + os: + name: Tizen + version: 2.3.2.7 + platform: "" + client: + type: browser + name: Tizen Browser + version: 2.3.2.7 + engine: WebKit + engine_version: "538.1" + device: + type: wearable + brand: Samsung + model: Galaxy Gear S2 43mm + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; SM-R925F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 110.0.0.0 + engine: Blink + engine_version: 110.0.0.0 + device: + type: wearable + brand: Samsung + model: Galaxy Watch 5 Pro 50mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-R925N) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/1.2. Chrome/90.0.4430.210 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Samsung Browser + version: "1.2" + engine: WebKit + engine_version: "537.36" + device: + type: wearable + brand: Samsung + model: Galaxy Watch 5 Pro 50mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-R925U) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.2. Chrome/102.0.5005.125 Mobile Safari/537.36 29 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Samsung Browser + version: "2.2" + engine: WebKit + engine_version: "537.36" + device: + type: wearable + brand: Samsung + model: Galaxy Watch 5 Pro 50mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-R920) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.2. Chrome/102.0.5005.125 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Samsung Browser + version: "2.2" + engine: WebKit + engine_version: "537.36" + device: + type: wearable + brand: Samsung + model: Galaxy Watch 5 Pro 45mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Tizen 2.3.2.7; SAMSUNG SM-R730A) AppleWebKit/538.1 (KHTML, like Gecko) Version/2.3.2.7 Mobile Safari/538.1 + os: + name: Tizen + version: 2.3.2.7 + platform: "" + client: + type: browser + name: Tizen Browser + version: 2.3.2.7 + engine: WebKit + engine_version: "538.1" + device: + type: wearable + brand: Samsung + model: Galaxy Gear S2 44mm + os_family: Other Mobile + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; SM-R915U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 103.0.0.0 + engine: Blink + engine_version: 103.0.0.0 + device: + type: wearable + brand: Samsung + model: Galaxy Watch 5 44mm + os_family: Android + browser_family: Chrome +- + user_agent: ozilla/5.0 (Linux; Android 11; SAMSUNG SM-R915F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/1.2. Chrome/90.0.4430.210 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Samsung Browser + version: "1.2" + engine: WebKit + engine_version: "537.36" + device: + type: wearable + brand: Samsung + model: Galaxy Watch 5 44mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SM-R910) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 111.0.0.0 + engine: Blink + engine_version: 111.0.0.0 + device: + type: wearable + brand: Samsung + model: Galaxy Watch 5 44mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-R905N) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.2. Chrome/102.0.5005.125 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Samsung Browser + version: "2.2" + engine: WebKit + engine_version: "537.36" + device: + type: wearable + brand: Samsung + model: Galaxy Watch 5 40mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SM-R905F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.2. Chrome/102.0.5005.125 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Samsung Browser + version: "2.2" + engine: WebKit + engine_version: "537.36" + device: + type: wearable + brand: Samsung + model: Galaxy Watch 5 40mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SM-R895U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.41 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 101.0.4951.41 + engine: Blink + engine_version: 101.0.4951.41 + device: + type: wearable + brand: Samsung + model: Galaxy Watch 4 46mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; SM-R895N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.7305.55 Mobile Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 101.0.7305.55 + engine: Blink + engine_version: 101.0.7305.55 + device: + type: wearable + brand: Samsung + model: Galaxy Watch 4 46mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SM-R895F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 111.0.0.0 + engine: Blink + engine_version: 111.0.0.0 + device: + type: wearable + brand: Samsung + model: Galaxy Watch 4 46mm + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; SM-R900) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.92 Odd/47.2.1.1 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome + version: 77.0.3865.92 + engine: Blink + engine_version: 77.0.3865.92 + device: + type: wearable + brand: Samsung + model: Galaxy Watch 5 40mm + os_family: Android + browser_family: Chrome diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index 22cfa0e2ce..db5a1b4671 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -3947,9 +3947,9 @@ Blackview: - regex: '(BV\d+[\w]?|P10000)(?:[-_](?:RU|F))?(?:[);/ ]|$)' model: '$1' - - regex: 'Tab 10 Pro(?:[);/ ]|$)' + - regex: 'Tab (1[05]) Pro(?:[);/ ]|$)' device: 'tablet' - model: 'Tab 10 Pro' + model: 'Tab $1 Pro' - regex: ' Tab ?(6 Kids)(?:[);/ ]|$)' device: 'tablet' model: 'Tab $1' @@ -4179,7 +4179,7 @@ Vivo: model: 'iQOO Pro 5G' - regex: 'V1914A(?:[);/ ]|$)' model: 'iQOO Neo' - - regex: 'V1981A(?:[);/ ]|$)' + - regex: '(?:V1981A|iQOO Neo 3)(?:[);/ ]|$)' model: 'iQOO Neo 3' - regex: 'V1936A[L]?(?:[);/ ]|$)' model: 'iQOO Neo 855' @@ -6423,7 +6423,7 @@ Desay: # DEXP (dexp.club) DEXP: - regex: 'DEXP|(?:Ursus|Ixion)[ _]([^;/)]+)|H135[ _]Build|Larus_TV1|Ixion(?:ML4.7|ES250)|M150Storm|(?:SENIOR|F4[38]D8000K|VA(?:[12]10|170)|ML450|MS[56]50|BL(?:[123]50|160|155)|BS(?:155|160|[1256]50)|(? Date: Mon, 31 Jul 2023 12:16:29 +0300 Subject: [PATCH 2/2] feat: detect device brand Xiaomi: Redmi Note 9 Pro Max, Redmi K30 4G (M1912G7BC) feat: detect device brand Huawei: P50 Pro (JAD-AL80) feat: detect device brand Vivo: iQOO Neo 5S feat: detect device brand Asano: 32LF7120T 32.0" feat: detect device brand Doffler: 43KUS65 feat: detect device brand Starwind: SW-LED55UG400 feat: detect device brand Irbis: 32H1YDX000FBS2, 39H1YDX000BS2 --- Tests/fixtures/phablet-1.yml | 18 +++++++ Tests/fixtures/smartphone-37.yml | 54 +++++++++++++++++++ Tests/fixtures/tv-2.yml | 90 ++++++++++++++++++++++++++++++++ regexes/device/mobiles.yml | 25 +++++---- 4 files changed, 177 insertions(+), 10 deletions(-) diff --git a/Tests/fixtures/phablet-1.yml b/Tests/fixtures/phablet-1.yml index 13ea39c705..4ce0d61992 100644 --- a/Tests/fixtures/phablet-1.yml +++ b/Tests/fixtures/phablet-1.yml @@ -1543,3 +1543,21 @@ model: Redmi Note 12 os_family: Android browser_family: Android Browser +- + user_agent: Mozilla/5.0 (Linux; Android 10; Redmi Note9 Pro Max) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Mobile Safari/537.36 + os: + name: Android + version: "10" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 75.0.3770.100 + engine: Blink + engine_version: 75.0.3770.100 + device: + type: phablet + brand: Xiaomi + model: Redmi Note 9 Pro Max + os_family: Android + browser_family: Chrome diff --git a/Tests/fixtures/smartphone-37.yml b/Tests/fixtures/smartphone-37.yml index 28370fad00..91d5342064 100644 --- a/Tests/fixtures/smartphone-37.yml +++ b/Tests/fixtures/smartphone-37.yml @@ -575,3 +575,57 @@ model: Aura Sleek 4G os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; M1912G7BC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Mobile Safari/537.36 + os: + name: Android + version: "10" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 72.0.3626.81 + engine: Blink + engine_version: 72.0.3626.81 + device: + type: smartphone + brand: Xiaomi + model: Redmi K30 4G + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 12; JAD-AL80) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 YaBrowser/23.1.2.92.00 SA/3 Mobile Safari/537.36 + os: + name: Android + version: "12" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 23.1.2.92.00 + engine: Blink + engine_version: 108.0.0.0 + device: + type: smartphone + brand: Huawei + model: P50 Pro + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; iQOO Neo 5S) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 91.0.4472.101 + engine: Blink + engine_version: 91.0.4472.101 + device: + type: smartphone + brand: Vivo + model: iQOO Neo 5S + os_family: Android + browser_family: Chrome diff --git a/Tests/fixtures/tv-2.yml b/Tests/fixtures/tv-2.yml index 466ce5b1de..5d377ccf30 100644 --- a/Tests/fixtures/tv-2.yml +++ b/Tests/fixtures/tv-2.yml @@ -4333,3 +4333,93 @@ model: 32H1YDX000BS2 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; 32LF7120T Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.123 Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome Webview + version: 64.0.3282.123 + engine: Blink + engine_version: 64.0.3282.123 + device: + type: tv + brand: Asano + model: 32LF7120T 32.0" + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; 43KUS65 Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.120 YaBrowser/23.1.0.29 (lite) TV Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 23.1.0.29 + engine: Blink + engine_version: 83.0.4103.120 + device: + type: tv + brand: Doffler + model: 43KUS65 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 9; SW-LED55UG400 Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.120 YaBrowser/23.1.0.29 (lite) TV Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 23.1.0.29 + engine: Blink + engine_version: 83.0.4103.120 + device: + type: tv + brand: Starwind + model: SW-LED55UG400 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 9; 32H1YDX000FBS2 Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.120 YaBrowser/23.1.0.29 (lite) TV Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 23.1.0.29 + engine: Blink + engine_version: 83.0.4103.120 + device: + type: tv + brand: Irbis + model: 32H1YDX000FBS2 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 9; 39H1YDX000BS2 Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.120 YaBrowser/22.8.0.15 (lite) TV Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 22.8.0.15 + engine: Blink + engine_version: 83.0.4103.120 + device: + type: tv + brand: Irbis + model: 39H1YDX000BS2 + os_family: Android + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index db5a1b4671..a322b7d95d 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -4169,7 +4169,7 @@ Vivo: model: 'iQOO Neo 7 SE' - regex: 'V2157A' model: 'iQOO Neo 5 SE' - - regex: 'V2154A' + - regex: 'V2154A|iQOO Neo 5S' model: 'iQOO Neo 5S' - regex: 'I2012(?:[);/ ]|$)' model: 'iQOO 7 5G' @@ -9410,7 +9410,7 @@ TD Tech: # Huawei Huawei: - regex: '(HW-)?(?:Huawei(?!Browser)|MediaPad T1|Ultym5|Ideos|Honor[ _]?|(?:(?:AGS|AGS2|ALE|ALP|AMN|ANA|ANE|ARE|ARS|ASK|ATH|ATU|AUM|BAC|BAH[234]?|BG2|BGO|B[ZK]K|BKL|BL[ALN]|BND|BTV|CA[GMNZ]|CH[CM]|CHE[12]?|CLT|CMR|COL|COR|CPN|CRO|CRR|CUN|DIG|DLI|DRA|DUA|DUB|DUK|EDI|ELE|EML|EVA|EVR|FDR|FIG|FLA|FRD|FRL|GEM|GRA|HDN|HLK|HMA|Hol|HRY|HWI|H[36]0|INE|JAT|JEF|JDN|JDN2|JKM|JMM|JSN|KII|KIW|KNT|KOB|KSA|LDN|LEO|LIO|LLD|LND|LON|LRA|LUA|LY[AO]|MAR|MHA|MRD|MYA|NCE|NEN|NEM|NEO|NXT|PAR(?!-[AH]0)|PCT|PIC|PLE|PLK|POT|PPA|PRA|RIO|RNE|RVL|SCC|SCL|SCM|SEA|SHT|SLA|SNE|SPN|STF|STK|TAG|TIT|TNY|TRT|VCE|VEN|VIE|VKY|VNS|VOG|VRD|VTR|WAS|YAL|G(?:527|620S|621|630|735)|Y(?:221|330|550|6[23]5))-(?:[A-Z]{0,2}[0-9]{1,4}[A-Z]{0,3}?)|H1711|U(?:8230|8500|8661|8665|8667|8800|8818|8860|9200|9508))(?:[);/ ]|$))|hi6210sft|PE-(UL00|TL[12]0|TL00M)|T1-(A21?[Lw]|A2[23]L|701u|823L)|G7-(?:L01|TL00)|HW-01K|JNY-(LX[12]|AL10)|OXF-AN[01]0|TAS-(A[LN]00|L29|TL00)|WLZ-(AL10|AN00)|YOK-AN[10]0|NIC-LX1A|MRX-(AN19|AL[01]9|W[0-3]9)|CDY-(?:[AT]N00|AN[29][05]|NX9[AB]|TN[29]0)|GLK-(?:[AT]L00|LX1U)|JER-(?:[AT]N20|[AT]N10)|ELS-(?:[AT]N[10]0|NX9|N[23]9|N04)|AKA-(AL10|L29)|MON-(W|AL)19|BMH-(?:TN10|AN[12]0)|AQM-([AT]L[01]0|LX1)|MOA-([AT]L[02]0|LX9N)|NTS-AL00|ART-(?:[AT]L00[xm]|L29N?|L28)|MED-(?:[AT]L00|LX[29]N?|AL20)|EBG-(?:AN[01]0|TN00|N19)|ANA-(?:[AT]N00|NX9)|BZ[AK]-W00|BZT-(W09|AL[01]0)|HDL-(AL09|W09)|HWV3[123]|HW-02L|TEL-[AT]N(?:00a?|10)|KKG-AN[07]0|MXW-[AT]N00|JKM-AL00[ab]|TAH-(?:N29|AN00)m?|C8817D|T1-821W|d-01[JKH]|d-02[HK]|KRJ-(?:W09|AN00)|HWT31|Y320-U10|Y541-U02|VAT-L19|70[14]HW|60[58]HW|NOH-(?:NX9|AN0[01]|AN50|AL[01]0)|TNNH?-AN00|LIO-(?:[TA]L00|[LN]29|AN00)|KOB2K-L09|KOB2-(?:AL00|[LW]09|L03)|AGS3-(?:[WL]09|AL0[09]|W00[DE])|DNN-LX9|NEY-NX9|LON-AL00|HLK-L41|503HW|AGR-(?:[LW]09|AL09)|PPA-LX[12]|ANG-(?:AN00|LX[12])|NOP-AN00|ALA-AN70|DVC-[AT]N[02]0|302HW|Nexus 6P|DBY-W09|WKG-(?:LX9|[AT]N00)|JSC-(?:AN00|AL50)|OCE-A[NL][015]0|NZA-AL00|BRQ-A[LN]00|BZC-(?:AL|W)00|NEN-L(?:X1|22)|KOZ-AL[04]0|NTH-(?:AN00|NX9)|MRR-W[23]9|WGR-(?:W[10]9|AN19)|TET-AN[10]0|SCMR-(?:W09|AL09)|OXP-AN00|HJC-(?:AN90|LX9)|CDL-AN50|CND-AN00|NTN-(?:LX[13]|AN20|L22)|RNA-[AT]N00|CHL-(?:A[LN]00|AL60)|ELZ-AN[012]0|NAM-(?:LX9|AL00)|JLH-AN00|JAD-(?:AL[056]0|LX9)|AGS5-(?:L09|W09)|AGS3K-(?:W20|[WL]0[09])|AGRK-[WL]09|MT2L03|LSA-AN00|KJR-W09|TET-A[NL][05]0|TYH601M|RTE-AL00|BAL-(?:AL00|L49)|BZI-(?:AL00|W00)|BZT3-(?:AL00|W09)|BZD-(?:W00|AL00)|MLD-AL[01]0|AGM3-(?:W09|AL09)HN|ABR-(?:AL[0689]0|LX9)|GIA-AN00|LEO-DLXXE?|BZA-L00|MGI-AN00|CMA-(?:LX[123]|AN[04]0)|NEW-AN90|KRJ2-(?:W09|AN00)|BRT-(?:W09|AN09)|ANY-(?:[LN]X1|LX[23]|AN00)|JLN-(?:LX[13]|AL00)|LGE-(?:NX[19]|AN[012]0)|TNA-AN00|TFY-(?:LX[123]|AN[04]0)|DIO-AN00|BZW-AL[01]0|MOGOLIA|CM990|MGA-(?:AL00|LX[39])|60[56]HW|Peppa-(?:L2[23]B|L0[23]B)|KANT-\d{3}[BCS]?|Kobe3-L09|FNE-(?:NX9|AN00)|HPB-AN00|Mate ?(?:[34]0 RS|Xs|30)|Y530|SDY-AN00|EC6108V[89]|CTR-(?:LX[123]|AL00)|VNE-(?:LX[123]|N41|AN[04]0)|HMW-W09|GLA-(?:LX[13]|AL00)|HEY-W09|GOT-(?:AL09|W[02]9)|PAL-(?:AL00|LX9)|PAN-L29|NNH-AN00|P Smart S|NCO-(?:LX[13]|AL00)|DCO-(?:AL00|LX9)|CET-(?:AL[06]0|LX9)|ADT-AN00|RMO-(?:AN00|NX1)|RKY-(?:AN00|LX[123])|M300-L09|EVE-LX9N?|BNE-(?:LX1|AL00)|dtab01|BZT4-W19|ROD-W09|ANP-AN00|WGRR-W09|HN3-U01|Holly-U19|BLM-00|ANN-AN00|VNA-(?:LX[23]|L29)|CRT-(?:NX1|LX[123]|AN00)|AGM-W09HN|PGT-(?:AN[12]0|N19)|GLL-AL01|MNA-(?:LX9|AL00)|LNA-(?:AL00|LX9)|ALT-L29|MAO-LX9N?|Enjoy 20 SE|ANB-AN00|STG-(?:AL00|LX1)|LTK-LX3|GOA-(?:LX9|AL80)|nova 6 5G| Angela-L|DBR-W09' + regex: '(HW-)?(?:Huawei(?!Browser)|MediaPad T1|Ultym5|Ideos|Honor[ _]?|(?:(?:AGS|AGS2|ALE|ALP|AMN|ANA|ANE|ARE|ARS|ASK|ATH|ATU|AUM|BAC|BAH[234]?|BG2|BGO|B[ZK]K|BKL|BL[ALN]|BND|BTV|CA[GMNZ]|CH[CM]|CHE[12]?|CLT|CMR|COL|COR|CPN|CRO|CRR|CUN|DIG|DLI|DRA|DUA|DUB|DUK|EDI|ELE|EML|EVA|EVR|FDR|FIG|FLA|FRD|FRL|GEM|GRA|HDN|HLK|HMA|Hol|HRY|HWI|H[36]0|INE|JAT|JEF|JDN|JDN2|JKM|JMM|JSN|KII|KIW|KNT|KOB|KSA|LDN|LEO|LIO|LLD|LND|LON|LRA|LUA|LY[AO]|MAR|MHA|MRD|MYA|NCE|NEN|NEM|NEO|NXT|PAR(?!-[AH]0)|PCT|PIC|PLE|PLK|POT|PPA|PRA|RIO|RNE|RVL|SCC|SCL|SCM|SEA|SHT|SLA|SNE|SPN|STF|STK|TAG|TIT|TNY|TRT|VCE|VEN|VIE|VKY|VNS|VOG|VRD|VTR|WAS|YAL|G(?:527|620S|621|630|735)|Y(?:221|330|550|6[23]5))-(?:[A-Z]{0,2}[0-9]{1,4}[A-Z]{0,3}?)|H1711|U(?:8230|8500|8661|8665|8667|8800|8818|8860|9200|9508))(?:[);/ ]|$))|hi6210sft|PE-(UL00|TL[12]0|TL00M)|T1-(A21?[Lw]|A2[23]L|701u|823L)|G7-(?:L01|TL00)|HW-01K|JNY-(LX[12]|AL10)|OXF-AN[01]0|TAS-(A[LN]00|L29|TL00)|WLZ-(AL10|AN00)|YOK-AN[10]0|NIC-LX1A|MRX-(AN19|AL[01]9|W[0-3]9)|CDY-(?:[AT]N00|AN[29][05]|NX9[AB]|TN[29]0)|GLK-(?:[AT]L00|LX1U)|JER-(?:[AT]N20|[AT]N10)|ELS-(?:[AT]N[10]0|NX9|N[23]9|N04)|AKA-(AL10|L29)|MON-(W|AL)19|BMH-(?:TN10|AN[12]0)|AQM-([AT]L[01]0|LX1)|MOA-([AT]L[02]0|LX9N)|NTS-AL00|ART-(?:[AT]L00[xm]|L29N?|L28)|MED-(?:[AT]L00|LX[29]N?|AL20)|EBG-(?:AN[01]0|TN00|N19)|ANA-(?:[AT]N00|NX9)|BZ[AK]-W00|BZT-(W09|AL[01]0)|HDL-(AL09|W09)|HWV3[123]|HW-02L|TEL-[AT]N(?:00a?|10)|KKG-AN[07]0|MXW-[AT]N00|JKM-AL00[ab]|TAH-(?:N29|AN00)m?|C8817D|T1-821W|d-01[JKH]|d-02[HK]|KRJ-(?:W09|AN00)|HWT31|Y320-U10|Y541-U02|VAT-L19|70[14]HW|60[58]HW|NOH-(?:NX9|AN0[01]|AN50|AL[01]0)|TNNH?-AN00|LIO-(?:[TA]L00|[LN]29|AN00)|KOB2K-L09|KOB2-(?:AL00|[LW]09|L03)|AGS3-(?:[WL]09|AL0[09]|W00[DE])|DNN-LX9|NEY-NX9|LON-AL00|HLK-L41|503HW|AGR-(?:[LW]09|AL09)|PPA-LX[12]|ANG-(?:AN00|LX[12])|NOP-AN00|ALA-AN70|DVC-[AT]N[02]0|302HW|Nexus 6P|DBY-W09|WKG-(?:LX9|[AT]N00)|JSC-(?:AN00|AL50)|OCE-A[NL][015]0|NZA-AL00|BRQ-A[LN]00|BZC-(?:AL|W)00|NEN-L(?:X1|22)|KOZ-AL[04]0|NTH-(?:AN00|NX9)|MRR-W[23]9|WGR-(?:W[10]9|AN19)|TET-AN[10]0|SCMR-(?:W09|AL09)|OXP-AN00|HJC-(?:AN90|LX9)|CDL-AN50|CND-AN00|NTN-(?:LX[13]|AN20|L22)|RNA-[AT]N00|CHL-(?:A[LN]00|AL60)|ELZ-AN[012]0|NAM-(?:LX9|AL00)|JLH-AN00|JAD-(?:AL[0568]0|LX9)|AGS5-(?:L09|W09)|AGS3K-(?:W20|[WL]0[09])|AGRK-[WL]09|MT2L03|LSA-AN00|KJR-W09|TET-A[NL][05]0|TYH601M|RTE-AL00|BAL-(?:AL00|L49)|BZI-(?:AL00|W00)|BZT3-(?:AL00|W09)|BZD-(?:W00|AL00)|MLD-AL[01]0|AGM3-(?:W09|AL09)HN|ABR-(?:AL[0689]0|LX9)|GIA-AN00|LEO-DLXXE?|BZA-L00|MGI-AN00|CMA-(?:LX[123]|AN[04]0)|NEW-AN90|KRJ2-(?:W09|AN00)|BRT-(?:W09|AN09)|ANY-(?:[LN]X1|LX[23]|AN00)|JLN-(?:LX[13]|AL00)|LGE-(?:NX[19]|AN[012]0)|TNA-AN00|TFY-(?:LX[123]|AN[04]0)|DIO-AN00|BZW-AL[01]0|MOGOLIA|CM990|MGA-(?:AL00|LX[39])|60[56]HW|Peppa-(?:L2[23]B|L0[23]B)|KANT-\d{3}[BCS]?|Kobe3-L09|FNE-(?:NX9|AN00)|HPB-AN00|Mate ?(?:[34]0 RS|Xs|30)|Y530|SDY-AN00|EC6108V[89]|CTR-(?:LX[123]|AL00)|VNE-(?:LX[123]|N41|AN[04]0)|HMW-W09|GLA-(?:LX[13]|AL00)|HEY-W09|GOT-(?:AL09|W[02]9)|PAL-(?:AL00|LX9)|PAN-L29|NNH-AN00|P Smart S|NCO-(?:LX[13]|AL00)|DCO-(?:AL00|LX9)|CET-(?:AL[06]0|LX9)|ADT-AN00|RMO-(?:AN00|NX1)|RKY-(?:AN00|LX[123])|M300-L09|EVE-LX9N?|BNE-(?:LX1|AL00)|dtab01|BZT4-W19|ROD-W09|ANP-AN00|WGRR-W09|HN3-U01|Holly-U19|BLM-00|ANN-AN00|VNA-(?:LX[23]|L29)|CRT-(?:NX1|LX[123]|AN00)|AGM-W09HN|PGT-(?:AN[12]0|N19)|GLL-AL01|MNA-(?:LX9|AL00)|LNA-(?:AL00|LX9)|ALT-L29|MAO-LX9N?|Enjoy 20 SE|ANB-AN00|STG-(?:AL00|LX1)|LTK-LX3|GOA-(?:LX9|AL80)|nova 6 5G| Angela-L|DBR-W09' device: 'smartphone' models: - regex: 'CRT-NX1' @@ -9543,7 +9543,7 @@ Huawei: model: 'P60 Pro' - regex: 'LNA-(?:AL00|LX9)' model: 'P60' - - regex: 'JAD-(?:AL[056]0|LX9)(?:[);/ ]|$)' + - regex: 'JAD-(?:AL[0568]0|LX9)(?:[);/ ]|$)' model: 'P50 Pro' - regex: 'ABR-(?:AL[08]0|LX9)' model: 'P50' @@ -10773,7 +10773,7 @@ iRulu: # Irbis (irbis-digital.ru) Irbis: - regex: 'IRBIS|TZ(1(?:0[04]|42|5[01]|84|65|7[01345-89]|8[356]|9[12578])|200|49|55|72|22|7(?:0[127]|1[1-46789]|2[021567]|3[025-8]|4[257]|5[23457]|6[12]|72|7[137]|8[1]|9[147])|8(?:[34]1|32|5[3-8]|6[2-5]|7[12478]|8[1-5]|9[0127])|96[0-9])|TZ199|TZ85|TZ13|TZ(?:one|art|HIT|81L)|(SP(?:0[56]|2[01]|4[1-36]|40[12]|45[345]|49[34]|50|51[0147]|531|54[12]|55[0124]|571)|32H1YDX000BS2|43F1YDX000BS2|50U1YDX000BS2)(?:[);/ ]|$)' + regex: 'IRBIS|TZ(1(?:0[04]|42|5[01]|84|65|7[01345-89]|8[356]|9[12578])|200|49|55|72|22|7(?:0[127]|1[1-46789]|2[021567]|3[025-8]|4[257]|5[23457]|6[12]|72|7[137]|8[1]|9[147])|8(?:[34]1|32|5[3-8]|6[2-5]|7[12478]|8[1-5]|9[0127])|96[0-9])|TZ199|TZ85|TZ13|TZ(?:one|art|HIT|81L)|(SP(?:0[56]|2[01]|4[1-36]|40[12]|45[345]|49[34]|50|51[0147]|531|54[12]|55[0124]|571)|32H1YDX000BS2|43F1YDX000BS2|50U1YDX000BS2|32H1YDX000FBS2|39H1YDX000BS2)(?:[);/ ]|$)' device: 'tablet' models: - regex: '(TZ(?:[0-9]+)|TZ(?:one|art|HIT|81L))(?:[);/ ]|$)' @@ -10781,7 +10781,7 @@ Irbis: - regex: '(SP[0-9]+)(?:[);/ ]|$)' device: 'smartphone' model: '$1' - - regex: '(43F1YDX000BS2|50U1YDX000BS2|32H1YDX000BS2)' + - regex: '(43F1YDX000BS2|50U1YDX000BS2|32H1YDX000BS2|32H1YDX000FBS2|39H1YDX000BS2)' device: 'tv' model: '$1' @@ -25260,7 +25260,7 @@ Zopo: # Xiaomi Xiaomi: - regex: 'Xiaomi(?!/(?:Miui|Mint[ ])Browser)|MiTV-\w|MiProjA1|Mi9 Pro 5G|(?:MI [a-z0-9]+|Mi-4c|MI-One[ _]?[a-z0-9]+|MIX(?: 2S?)?|MIX 2S ART|pomelo)(?:[);/ ]|$)|HM (?:[^/;]+) (?:Build|MIUI)|(?:2014501|2014011|201481[12378]|201302[23]|2013061) Build|Redmi|POCOPHONE|(?:SHARK )?KTUS-[AH]0|(?:SHARK )?(KLE|KSR|MBU|PAR)-[AH]0|SK[RW]-[AH]0|PRS-[AH]0|POCO F1|DLT-[AH]0|MIBOX[234]([_ ]PRO)?|MiTV4[ACSX]?|AWM-A0|MI CC 9 Meitu Edition|MiBOX1S|M2006J10C|M2006C3(?:L[IGC]|LVG|MN?G|MT)|M2007J1(?:7[CGI]|SC)|M2002(?:J9[SEG]|F4LG)|HM2014819|WT88047|210611(?:8C|19(?:BI|[AD]G|AL))|M2001(?:J2G|C3K3I)|M2004J1(?:5SC|9AG)|M2004J(?:7[AB]|19)[CG]|M2012K11(?:[CGI]|A[CI])|M2011K2[CG]|M2011J18C|M2006C3[ML]II|M2003J(?:15SC|15SS|6B2G|6A1G)|M2007J3S[ICYGP]|M2007J22[CG]|M2103K19[CGYI]|M2101K(?:[79]AG|7AI|7B[GI]|6[GIRP]|7BNY|9[GCR])|M2010J19S[CGYIL]|M2102(?:K1AC|K1[CG]|J2SC)|HM NOTE 1(?:LTE|W)|MI[_ ]PLAY|XIG01|Qin 1s\+|Qin ?2(?: Pro)?|MI_(NOTE_Pro|5X|4i|(?:A2|8)_Lite)|A001XM|lancelot|XIG02|2107119DC|M2101K(?:7BL|9AI)|A101XM|M2012K10C|M2104K10AC|M19(?:01F7[1S]|10F4S|08(?:F1XE|C3JGG)|08C3J[IH]|06F9S[IH]|02F1G)|21051182[CG]|21081111RG|2109119D[GI]|21091116(?:AI|[AU]?C|i|U[GI])|220111(?:7T[LGIY]|19TI|19UY|6S[IRC]|6TG|[67]SG|7SL)|21121(?:119S[CG]|23A[CG]|119VL|210C)|2204121(?:6[CI]|6UC|9[CGI]|9NY|1AC)|220333Q(?:AG|NY|L|BI)|2107113S[IGR]|22031(?:29G|116BG|21C)|PAR-H0|M2105K81A?C|2109119BC|2202(?:1119KR|1211RC|33L2[CGI])|22011(?:2[23][CG]|211C|16TI|17S[YI])|joyeuse|galahad|hydrogen|begonia|kenzo|willow|beryllium|rosemary| MDG1|KLE-AO|Mi ?Pad \d|220612(?:18C|[23]SC)|2207(?:12(?:2MC|12AG|19AI)|33S(?:F?G|[IL])|43FI)|2208(?:7RA4DI|1212(?:U?G|C)|128(?:1AC|3[GC]))|Black Shark|MZB8298IN|2210(?:1317C|1316(?:U[PG]|UCP?|[CIG])|1(?:29SG|32[CG]))|2211(?:13(?:3[CG]|17I)|1317G)|23013RK75C|23053RN02[AY]|2209(?:5RA98C|116AG|129SC)|2212(?:0RN86G|6RN91Y|ARNC4L|2RK93C|7RK46C)|2302(?:6RN54G|1RAA(?:EG|2Y)|8R(?:N4DG|A60L|NCAG))|angelican|vnd_camellia|2304(?:9RAD8C|FPN6D[GC])|2303(?:0RAC7Y|CRA44A|ERA42L)|M1906G7G|Hongmi 4A|23046RP50C' + regex: 'Xiaomi(?!/(?:Miui|Mint[ ])Browser)|MiTV-\w|MiProjA1|Mi9 Pro 5G|(?:MI [a-z0-9]+|Mi-4c|MI-One[ _]?[a-z0-9]+|MIX(?: 2S?)?|MIX 2S ART|pomelo)(?:[);/ ]|$)|HM (?:[^/;]+) (?:Build|MIUI)|(?:2014501|2014011|201481[12378]|201302[23]|2013061) Build|Redmi|POCOPHONE|(?:SHARK )?KTUS-[AH]0|(?:SHARK )?(KLE|KSR|MBU|PAR)-[AH]0|SK[RW]-[AH]0|PRS-[AH]0|POCO F1|DLT-[AH]0|MIBOX[234]([_ ]PRO)?|MiTV4[ACSX]?|AWM-A0|MI CC 9 Meitu Edition|MiBOX1S|M2006J10C|M2006C3(?:L[IGC]|LVG|MN?G|MT)|M2007J1(?:7[CGI]|SC)|M2002(?:J9[SEG]|F4LG)|HM2014819|WT88047|210611(?:8C|19(?:BI|[AD]G|AL))|M2001(?:J2G|C3K3I)|M2004J1(?:5SC|9AG)|M2004J(?:7[AB]|19)[CG]|M2012K11(?:[CGI]|A[CI])|M2011K2[CG]|M2011J18C|M2006C3[ML]II|M2003J(?:15SC|15SS|6B2G|6A1G)|M2007J3S[ICYGP]|M2007J22[CG]|M2103K19[CGYI]|M2101K(?:[79]AG|7AI|7B[GI]|6[GIRP]|7BNY|9[GCR])|M2010J19S[CGYIL]|M2102(?:K1AC|K1[CG]|J2SC)|HM NOTE 1(?:LTE|W)|MI[_ ]PLAY|XIG01|Qin 1s\+|Qin ?2(?: Pro)?|MI_(NOTE_Pro|5X|4i|(?:A2|8)_Lite)|A001XM|lancelot|XIG02|2107119DC|M2101K(?:7BL|9AI)|A101XM|M2012K10C|M2104K10AC|M19(?:01F7[1S]|10F4S|08(?:F1XE|C3JGG)|08C3J[IH]|06F9S[IH]|02F1G)|21051182[CG]|21081111RG|2109119D[GI]|21091116(?:AI|[AU]?C|i|U[GI])|220111(?:7T[LGIY]|19TI|19UY|6S[IRC]|6TG|[67]SG|7SL)|21121(?:119S[CG]|23A[CG]|119VL|210C)|2204121(?:6[CI]|6UC|9[CGI]|9NY|1AC)|220333Q(?:AG|NY|L|BI)|2107113S[IGR]|22031(?:29G|116BG|21C)|PAR-H0|M2105K81A?C|2109119BC|2202(?:1119KR|1211RC|33L2[CGI])|22011(?:2[23][CG]|211C|16TI|17S[YI])|joyeuse|galahad|hydrogen|begonia|kenzo|willow|beryllium|rosemary| MDG1|KLE-AO|Mi ?Pad \d|220612(?:18C|[23]SC)|2207(?:12(?:2MC|12AG|19AI)|33S(?:F?G|[IL])|43FI)|2208(?:7RA4DI|1212(?:U?G|C)|128(?:1AC|3[GC]))|Black Shark|MZB8298IN|2210(?:1317C|1316(?:U[PG]|UCP?|[CIG])|1(?:29SG|32[CG]))|2211(?:13(?:3[CG]|17I)|1317G)|23013RK75C|23053RN02[AY]|2209(?:5RA98C|116AG|129SC)|2212(?:0RN86G|6RN91Y|ARNC4L|2RK93C|7RK46C)|2302(?:6RN54G|1RAA(?:EG|2Y)|8R(?:N4DG|A60L|NCAG))|angelican|vnd_camellia|2304(?:9RAD8C|FPN6D[GC])|2303(?:0RAC7Y|CRA44A|ERA42L)|M1906G7G|Hongmi 4A|23046RP50C|M1912G7BC' device: 'smartphone' models: # specific smartphone models @@ -25518,6 +25518,8 @@ Xiaomi: model: 'Redmi K$1 Pro' - regex: 'Redmi K30 5G(?:[);/ ]|$)' model: 'Redmi K30 5G' + - regex: 'M1912G7BC(?:[);/ ]|$)' + model: 'Redmi K30 4G' - regex: 'Redmi K30i 5G(?:[);/ ]|$)' model: 'Redmi K30i 5G' - regex: 'M2012K11AC(?:[);/ ]|$)' @@ -25707,6 +25709,9 @@ Xiaomi: - regex: 'Redmi Note 10 Lite|M2002F4LG(?:[);/ ]|$)' model: 'Redmi Note 10 Lite' device: 'phablet' + - regex: 'Redmi Note ?9 Pro Max(?:[);/ ]|$)' + model: 'Redmi Note 9 Pro Max' + device: 'phablet' - regex: 'M2101K7A[GI]' model: 'Redmi Note 10' device: 'phablet' @@ -29469,7 +29474,7 @@ Winds: # Asano Asano: - regex: '(?:32LH7010T|32LH8[10]10T|32LH7030S|32LF7130S|28LH701[10]T|43LU8010T|24LH7020T|24LH8010T|40LF7030S|5[05]LU8120T|42LF7110T)(?:[);/ ]|$)' + regex: '(?:32LH7010T|32LH8[10]10T|32LH7030S|32LF7130S|28LH701[10]T|43LU8010T|24LH7020T|24LH8010T|40LF7030S|5[05]LU8120T|42LF7110T|32LF7120T)(?:[);/ ]|$)' device: 'tv' models: - regex: '(\d{2})(L[FHU]\d+[ST])(?:[);/ ]|$)' @@ -29868,7 +29873,7 @@ Torex: # Doffler Doffler: - regex: '(24DHS54|32GHS57|40KFS57|32KHS57)(?:[);/ ]|$)' + regex: '(24DHS54|32GHS57|40KFS57|32KHS57|43KUS65)(?:[);/ ]|$)' device: 'tv' model: '$1' @@ -34114,10 +34119,10 @@ Alps: # Starwind (starwind.com.ru) Starwind: - regex: 'Smart_Starwind|(?:SW-LED(?:24SG303|32SB302|42SB300|40SG300|43SG30[20]|32SG30[012]))(?:[);/ ]|$)' + regex: 'Smart_Starwind|(?:SW-LED(?:24SG303|32SB302|42SB300|40SG300|43SG30[20]|32SG30[012]|55UG400))(?:[);/ ]|$)' device: 'tv' models: - - regex: 'SW-LED(\d{2}S[BG]\d{3})' + - regex: 'SW-LED(\d{2}[SU][BG]\d{3})' model: 'SW-LED$1' # QTECH (https://www.qtech.ru/en/)