diff --git a/Parser/Device/AbstractDeviceParser.php b/Parser/Device/AbstractDeviceParser.php index b76e10db49..e7ca2a1571 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -493,6 +493,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'UD' => 'DUNNS Mobile', 'DUU' => 'Duubee', 'DUR' => 'Durabook', + 'DUD' => 'DUDU AUTO', 'DYO' => 'Dyon', 'DYM' => 'Dykemann', 'DTE' => 'D-Tech', diff --git a/Tests/fixtures/car_browser.yml b/Tests/fixtures/car_browser.yml index be17a8e8fd..41921622a8 100644 --- a/Tests/fixtures/car_browser.yml +++ b/Tests/fixtures/car_browser.yml @@ -1061,3 +1061,21 @@ model: Apollo 10 Pro os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 13; DUDU7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.41 YaBrowser/24.7.6.41.01 Safari/537.36 + os: + name: Android + version: "13" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 24.7.6.41.01 + engine: Blink + engine_version: 126.0.6478.41 + device: + type: car browser + brand: DUDU AUTO + model: DUDU7 + os_family: Android + browser_family: Unknown diff --git a/Tests/fixtures/smartphone-41.yml b/Tests/fixtures/smartphone-41.yml index f4ba9cf204..5218c35d0d 100644 --- a/Tests/fixtures/smartphone-41.yml +++ b/Tests/fixtures/smartphone-41.yml @@ -485,3 +485,57 @@ model: Aqua S10 Pro os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 10; SM-A920F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.6613.112 YaBrowser/24.10.1.112.00 SA/3 Mobile Safari/537.36 + os: + name: Android + version: "10" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 24.10.1.112.00 + engine: Blink + engine_version: 128.0.6613.112 + device: + type: smartphone + brand: Samsung + model: Galaxy A9 (2018) + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 14; TECNO CLA6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.6613.123 YaBrowser/24.10.2.123.00 SA/3 Mobile Safari/537.36 + os: + name: Android + version: "14" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 24.10.2.123.00 + engine: Blink + engine_version: 128.0.6613.123 + device: + type: smartphone + brand: Tecno Mobile + model: Camon 30S Pro + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 14; TECNO CLA5 Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/130.0.6723.58 YaBrowser/22.8.1.94 (lite) Mobile Safari/537.36 + os: + name: Android + version: "14" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 22.8.1.94 + engine: Blink + engine_version: 130.0.6723.58 + device: + type: smartphone + brand: Tecno Mobile + model: Camon 30S + os_family: Android + browser_family: Unknown diff --git a/Tests/fixtures/tablet-12.yml b/Tests/fixtures/tablet-12.yml index a0fa427d52..e8e305bb72 100644 --- a/Tests/fixtures/tablet-12.yml +++ b/Tests/fixtures/tablet-12.yml @@ -377,3 +377,39 @@ model: Ultra Pad os_family: Android browser_family: Opera +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 13; Kenshi_K10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 YaBrowser/23.7.0.284.01 Safari/537.36 + os: + name: Android + version: "13" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 23.7.0.284.01 + engine: Blink + engine_version: 114.0.0.0 + device: + type: tablet + brand: KENSHI + model: K10 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; arm_64; Android 10; WO Pad Max) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.6613.123 YaBrowser/24.10.2.123.00 SA/3 Mobile Safari/537.36 + os: + name: Android + version: "10" + platform: ARM + client: + type: browser + name: Yandex Browser + version: 24.10.2.123.00 + engine: Blink + engine_version: 128.0.6613.123 + device: + type: tablet + brand: 'W&O' + model: WO Pad Max + os_family: Android + browser_family: Unknown diff --git a/Tests/fixtures/tv-4.yml b/Tests/fixtures/tv-4.yml index dc050993c1..a52f7685b3 100644 --- a/Tests/fixtures/tv-4.yml +++ b/Tests/fixtures/tv-4.yml @@ -4287,3 +4287,129 @@ model: 49NANO866NA os_family: Other Mobile browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 9; DCTIW362_PLAY Build/PTT1.190826.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/123.0.6312.42 YaBrowser/23.9.0.75 (lite) TV Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 23.9.0.75 + engine: Blink + engine_version: 123.0.6312.42 + device: + type: tv + brand: Sagemcom + model: DCTIW362 Play + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; 28LH8120T Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.86 (lite) TV Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 24.1.2.86 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: Asano + model: 28LH8120T 28.0" + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; 28LH8110T Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.86 (lite) TV Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 24.1.2.86 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: Asano + model: 28LH8110T 28.0" + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 9; VHIX-55U169TSY Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.279 (lite) TV Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 24.1.2.279 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: Hi + model: VHIX-55U169TSY + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 9; VHIX-50U169TSY Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.279 (lite) TV Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 24.1.2.279 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: Hi + model: VHIX-50U169TSY + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; YNDX-00076 Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.279 (lite) TV Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 24.1.2.279 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: Yandex + model: YNDX-00076 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; YNDX-00074 Build/RD2A.211001.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.163 YaBrowser/24.1.2.279 (lite) TV Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Yandex Browser Lite + version: 24.1.2.279 + engine: Blink + engine_version: 113.0.5672.163 + device: + type: tv + brand: Yandex + model: YNDX-00074 + os_family: Android + browser_family: Unknown diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index e7fdf994f6..c5c0627630 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -25732,6 +25732,10 @@ Tecno Mobile: model: 'Camon 30 5G' - regex: 'Tecno[ _-]CL8(?:[);/ ]|$)' model: 'Camon 30 Pro 5G' + - regex: 'Tecno[ _-]CLA6(?:[);/ ]|$)' + model: 'Camon 30S Pro' + - regex: 'Tecno[ _-]CLA5(?:[);/ ]|$)' + model: 'Camon 30S' - regex: 'Tecno[ _-]CA6S?(?:[);/ ]|$)' model: 'Camon CM' - regex: 'Tecno[ _-]CA7(?:[);/ ]|$)' @@ -31146,13 +31150,13 @@ NEXBOX: model: 'ID TV HPH07' Yandex: - regex: '(?:YNDX-?00(?:0SB|10[12]|055|07[1235]|09[12])|YandexModule2-00001)(?:[);/ ]|$)' + regex: '(?:YNDX-?00(?:0SB|10[12]|055|07[1-6]|09[12])|YandexModule2-00001)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'YandexModule2-00001' device: 'tv' model: 'Module' - - regex: 'YNDX-?(0007[1235]|0009[12]|0010[12])' + - regex: 'YNDX-?(0007[1-6]|0009[12]|0010[12])' device: 'tv' model: 'YNDX-$1' - regex: 'YNDX-?000SB' @@ -32882,7 +32886,7 @@ Winds: # Asano Asano: - regex: '(?:32LH7010T|32LH8030S|43L[FU]8120T|43LU8030S|43LU8130S|32LH8[10]10T|32LH7030S|32LF7130S|28LH701[10]T|43LU8010T|24LH7011T|24L[HF]7020T|24LH8010T|40LF7030S|5[05]LU8120T|42LF7110T|32LF7120T|32LF8120T|50LU8110T|50LU8130S|40LF8120T|50LF7010T|43LF7010T|32LH8011T|32LF7111T)(?:[);/ ]|$)' + regex: '(?:32LH7010T|32LH8030S|43L[FU]8120T|43LU8030S|43LU8130S|32LH8[10]10T|32LH7030S|32LF7130S|28LH701[10]T|43LU8010T|24LH7011T|24L[HF]7020T|24LH8010T|28LH81[12]0T|40LF7030S|5[05]LU8120T|42LF7110T|32LF7120T|32LF8120T|50LU8110T|50LU8130S|40LF8120T|50LF7010T|43LF7010T|32LH8011T|32LF7111T)(?:[);/ ]|$)' device: 'tv' models: - regex: '(\d{2})(L[FHU]\d+[ST])(?:[);/ ]|$)' @@ -41789,9 +41793,11 @@ VOLIA: # Sagemcom (https://www.sagemcom.com/) Sagemcom: - regex: 'Sagemcom[;, \-_]|(DIW3930)(?:[);/ ]|$)' + regex: 'Sagemcom[;, \-_]|(DIW3930|DCTIW362_PLAY)(?:[);/ ]|$)' device: 'tv' models: + - regex: 'DCTIW362_PLAY' + model: 'DCTIW362 Play' - regex: '(DI384|DIW350|DIW387|DIW3930)(?:[);/ ]|$)' model: '$1' - regex: 'Sagemcom[;,] ([a-z0-9]+)(?:[);/ ]|$)' @@ -41959,9 +41965,12 @@ S-Color: # W&O W&O: - regex: '(?:X9 CALL2| WO [89])(?: Build|[);])' + regex: '(?:X9 CALL2| WO [89]|WO Pad Max)(?: Build|[);])' device: 'wearable' models: + - regex: 'WO Pad Max' + device: 'tablet' + model: 'WO Pad Max' - regex: 'WO ([89])' device: 'tablet' model: 'WO$1' @@ -42050,7 +42059,7 @@ Lville: # KENSHI KENSHI: - regex: '(?:Android 13(?:[\d.]*);(?: [\w-]+;)? (?:E1[1278]|E28|E38|H38|H21|H19|H11)|Armor_C1w|Armor P1s)(?:[);/ ]|$)' + regex: '(?:Android 13(?:[\d.]*);(?: [\w-]+;)? (?:E1[1278]|E28|E38|H38|H21|H19|H11)|Armor_C1w|Armor P1s|Kenshi[_ ]K10)(?:[);/ ]|$)' device: 'tablet' models: - regex: 'Armor_C1w' @@ -42059,6 +42068,8 @@ KENSHI: - regex: 'Armor P1s' device: 'smartphone' model: 'Armor P1s' + - regex: 'Kenshi[_ ](K10)(?:[);/ ]|$)' + model: '$1' - regex: 'Android 13(?:[\d.]*);(?: [\w-]+;)? (E1[1278]|E28|E38|H38|H21|H19|H11)(?:[);/ ]|$)' model: '$1' @@ -42612,6 +42623,12 @@ AZOM: - regex: 'River 1' model: 'River 1' +# DUDU AUTO (http://www.duduauto.top/) +DUDU AUTO: + regex: 'DUDU(\d)' + device: 'car browser' + model: 'DUDU$1' + # 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|HK1RBOX-X4)(?:[);/ ]|$)'