diff --git a/Parser/Device/AbstractDeviceParser.php b/Parser/Device/AbstractDeviceParser.php index 5b264017c8..9afe8a7f6b 100644 --- a/Parser/Device/AbstractDeviceParser.php +++ b/Parser/Device/AbstractDeviceParser.php @@ -258,6 +258,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'CJ' => 'Cavion', '4D' => 'Canal Digital', '02' => 'Cell-C', + 'CEL' => 'Cellacom', '34' => 'CellAllure', '7C' => 'Celcus', 'CE' => 'Celkon', @@ -334,6 +335,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'D3' => 'Digicel', 'DH' => 'Digihome', 'DD' => 'Digiland', + 'DIG' => 'Digit4G', 'DIC' => 'DIGICOM', 'Q0' => 'DIGIFORS', 'DQ' => 'DISH', @@ -361,6 +363,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'DRE' => 'DreamTab', 'DU' => 'Dune HD', 'UD' => 'DUNNS Mobile', + 'ENO' => 'eNOVA', 'EB' => 'E-Boda', 'EJ' => 'Engel', 'ENA' => 'ENACOM', @@ -645,6 +648,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'UJ' => 'Juniper Systems', 'J5' => 'Just5', '7J' => 'Jumper', + 'JPA' => 'JPay', 'JV' => 'JVC', 'JXD' => 'JXD', 'JS' => 'Jesy', @@ -832,6 +836,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'MG' => 'MyWigo', 'J3' => 'Mymaga', '07' => 'MyGica', + 'NEO' => 'neoCore', '08' => 'Nabi', 'N7' => 'National', 'NC' => 'Navcity', @@ -870,6 +875,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'N5' => 'NOA', 'N1' => 'Noain', 'N6' => 'Nobby', + 'NOV' => 'Novey', '57' => 'Nubia', 'JN' => 'NOBUX', 'NB' => 'Noblex', @@ -938,6 +944,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'PT' => 'Pantech', '94' => 'Packard Bell', 'H9' => 'Parrot Mobile', + 'PAR' => 'Partner Mobile', 'PAP' => 'PAPYRE', 'PB' => 'PCBOX', 'PC' => 'PCD', @@ -1028,6 +1035,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'RH' => 'Remdun', 'RP' => 'Revo', '8R' => 'Retroid Pocket', + 'RIC' => 'Ricoh', 'RI' => 'Rikomagic', 'RM' => 'RIM', 'RN' => 'Rinno', @@ -1098,7 +1106,7 @@ abstract class AbstractDeviceParser extends AbstractParser '98' => 'Simply', '52' => 'Singtech', '31' => 'Siragon', - '83' => 'Sirin labs', + '83' => 'Sirin Labs', '5Z' => 'SK Broadband', 'GK' => 'SKG', 'SW' => 'Sky', @@ -1167,6 +1175,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'SM' => 'Symphony', '4S' => 'Syrox', 'TM' => 'T-Mobile', + 'T96' => 'T96', 'TK' => 'Takara', '73' => 'Tambo', '9N' => 'Tanix', @@ -1194,6 +1203,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'TE' => 'Telit', '65' => 'Telia', 'PW' => 'Telpo', + 'TER' => 'Teracube', 'TD' => 'Tesco', 'TA' => 'Tesla', '9T' => 'Tetratab', @@ -1261,6 +1271,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'US' => 'Uniscope', 'U2' => 'UNIWA', 'UO' => 'Unnecto', + 'UNN' => 'Unnion Technologies', 'UU' => 'Unonu', 'UN' => 'Unowhy', 'UY' => 'UNNO', @@ -1325,6 +1336,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'Z7' => 'VOX', 'VO' => 'Voxtel', 'VY' => 'Voyo', + 'VOL' => 'Völfen', 'VH' => 'Vsmart', 'V9' => 'Vsun', 'VU' => 'Vulcan', @@ -1362,6 +1374,8 @@ abstract class AbstractDeviceParser extends AbstractParser 'XT' => 'X-TIGI', 'XV' => 'X-View', 'X4' => 'X.Vision', + 'X88' => 'X88', + 'X96' => 'X96', 'XG' => 'Xgody', 'QX' => 'XGIMI', 'XL' => 'Xiaolajiao', @@ -1393,6 +1407,7 @@ abstract class AbstractDeviceParser extends AbstractParser 'YX' => 'Yxtel', '0Z' => 'Zatec', '2Z' => 'Zaith', + 'ZEA' => 'Zealot', 'PZ' => 'Zebra', 'ZE' => 'Zeemi', 'WZ' => 'Zeeker', @@ -1649,7 +1664,7 @@ protected function hasDesktopFragment(): bool { return $this->matchUserAgent('(?:Windows (?:NT|IoT)|X11; Linux x86_64)') && - !$this->matchUserAgent(' Mozilla/|Android|Tablet|Mobile|iPhone|Windows Phone') && + !$this->matchUserAgent(' Mozilla/|Andr[o0]id|Tablet|Mobile|iPhone|Windows Phone|ricoh') && !$this->matchUserAgent('Lenovo|compatible; MSIE|Trident/|Tesla/|XBOX|FBMD/|ARM; ?([^)]+)'); } diff --git a/Parser/OperatingSystem.php b/Parser/OperatingSystem.php index c5c2f39e18..c635fee3cd 100644 --- a/Parser/OperatingSystem.php +++ b/Parser/OperatingSystem.php @@ -138,6 +138,7 @@ class OperatingSystem extends AbstractParser 'SSE' => 'SUSE', 'SAF' => 'Sailfish OS', 'SEE' => 'SeewoOS', + 'SIR' => 'Sirin OS', 'SLW' => 'Slackware', 'SOS' => 'Solaris', 'SYL' => 'Syllable', @@ -177,7 +178,7 @@ class OperatingSystem extends AbstractParser protected static $osFamilies = [ 'Android' => [ 'AND', 'CYN', 'FIR', 'REM', 'RZD', 'MLD', 'MCD', 'YNS', 'GRI', 'HAR', - 'ADR', 'CLR', 'BOS', 'REV', 'LEN', + 'ADR', 'CLR', 'BOS', 'REV', 'LEN', 'SIR', ], 'AmigaOS' => ['AMG', 'MOR'], 'BlackBerry' => ['BLB', 'QNX'], diff --git a/Tests/Parser/fixtures/oss.yml b/Tests/Parser/fixtures/oss.yml index d5c68a7a37..4aac83b003 100644 --- a/Tests/Parser/fixtures/oss.yml +++ b/Tests/Parser/fixtures/oss.yml @@ -3527,3 +3527,19 @@ version: 15.3.1 platform: family: iOS +- + user_agent: Mozilla/5.0 (Windows NT 6.0; Changhong Andr0id TV Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 SMART-TV + os: + name: Android TV + short_name: ADR + version: + platform: + family: Android +- + user_agent: Mozilla/5.0 (Linux; Android 8.1.0; FINNEY U1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.210 Mobile Safari/537.36 + os: + name: Sirin OS + short_name: SIR + version: + platform: + family: Android diff --git a/Tests/fixtures/peripheral.yml b/Tests/fixtures/peripheral.yml index a68e8bfc4f..d35b7c1a04 100644 --- a/Tests/fixtures/peripheral.yml +++ b/Tests/fixtures/peripheral.yml @@ -588,3 +588,39 @@ model: Desk21T-03 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; U; Android 10; en-us; MobiGo2 Build/QP1A.190711.020) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 Mobile Safari/537.36 PHX/7.7 + os: + name: Android + version: "10" + platform: "" + client: + type: browser + name: Phoenix Browser + version: "7.7" + engine: Blink + engine_version: 87.0.4280.101 + device: + type: peripheral + brand: MobiIoT + model: MobiGo 2 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (X11; Linux x86_64; ricoh_mfpapnl) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.34 Safari/534.24 + os: + name: GNU/Linux + version: "" + platform: x64 + client: + type: browser + name: Chrome + version: 11.0.696.34 + engine: WebKit + engine_version: "534.24" + device: + type: peripheral + brand: Ricoh + model: MFP + os_family: GNU/Linux + browser_family: Chrome diff --git a/Tests/fixtures/smartphone-7.yml b/Tests/fixtures/smartphone-7.yml index ca42718ef8..cf76d90f1c 100644 --- a/Tests/fixtures/smartphone-7.yml +++ b/Tests/fixtures/smartphone-7.yml @@ -9135,3 +9135,237 @@ model: HEYou 70 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; U; Android 8.1.0; Digit4G Energy Build/O11019; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Mobile Safari/537.36 OPR/62.5.2254.61243 + os: + name: Android + version: 8.1.0 + platform: "" + client: + type: browser + name: Opera Mobile + version: 62.5.2254.61243 + engine: Blink + engine_version: 61.0.3163.98 + device: + type: smartphone + brand: Digit4G + model: Energy + os_family: Android + browser_family: Opera +- + user_agent: Mozilla/5.0 (Linux; U; Android 4.4.4; Digit4G-Pro Build/KTU84P) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/12.12.9.1226 U3/0.8.0 Mobile Safari/534.30 + os: + name: Android + version: 4.4.4 + platform: "" + client: + type: browser + name: UC Browser + version: 12.12.9.1226 + engine: WebKit + engine_version: "534.30" + device: + type: smartphone + brand: Digit4G + model: Pro + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 11; Teracube 2e) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.88 Mobile Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 99.0.4844.88 + engine: Blink + engine_version: 99.0.4844.88 + device: + type: smartphone + brand: Teracube + model: 2e + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; Teracube One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.73 Mobile Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 99.0.4844.73 + engine: Blink + engine_version: 99.0.4844.73 + device: + type: smartphone + brand: Teracube + model: One + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 6.0.1; SOLARIN) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.58 Mobile Safari/537.36 + os: + name: Android + version: 6.0.1 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 99.0.4844.58 + engine: Blink + engine_version: 99.0.4844.58 + device: + type: smartphone + brand: Sirin Labs + model: Solarin + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; SP-6150) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.73 Mobile Safari/537.36 + os: + name: Android + version: "10" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 99.0.4844.73 + engine: Blink + engine_version: 99.0.4844.73 + device: + type: smartphone + brand: Siragon + model: SP-6150 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 8.1.0; NOVEY L2 Build/OPM2.171019.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36 + os: + name: Android + version: 8.1.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 70.0.3538.110 + engine: Blink + engine_version: 70.0.3538.110 + device: + type: smartphone + brand: Novey + model: L2 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 8.1.0; UNSP7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.58 Mobile Safari/537.36 + os: + name: Android + version: 8.1.0 + platform: "" + client: + type: browser + name: Chrome Mobile + version: 99.0.4844.58 + engine: Blink + engine_version: 99.0.4844.58 + device: + type: smartphone + brand: Unnion Technologies + model: SP7 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; EV1 PRO) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Mobile Safari/537.36 + os: + name: Android + version: "10" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 83.0.4103.106 + engine: Blink + engine_version: 83.0.4103.106 + device: + type: smartphone + brand: Partner Mobile + model: EV1 Pro + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; SP-5300) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.87 Mobile Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 98.0.4758.87 + engine: Blink + engine_version: 98.0.4758.87 + device: + type: smartphone + brand: Siragon + model: SP-5300 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; KODAK_SMARTWAY_T2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 79.0.3945.116 + engine: Blink + engine_version: 79.0.3945.116 + device: + type: smartphone + brand: Kodak + model: Smartway T2 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; Gravity_6P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Mobile Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 100.0.4896.127 + engine: Blink + engine_version: 100.0.4896.127 + device: + type: smartphone + brand: Maxwest + model: Gravity 6P + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; Cellacom_S62) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.101 Mobile Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 98.0.4758.101 + engine: Blink + engine_version: 98.0.4758.101 + device: + type: smartphone + brand: Cellacom + model: S62 + os_family: Android + browser_family: Chrome diff --git a/Tests/fixtures/smartphone-8.yml b/Tests/fixtures/smartphone-8.yml index 25fea513c0..0a5e9c0910 100644 --- a/Tests/fixtures/smartphone-8.yml +++ b/Tests/fixtures/smartphone-8.yml @@ -9377,18 +9377,18 @@ - user_agent: Mozilla/5.0 (Linux; Android 8.1.0; FINNEY U1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.210 Mobile Safari/537.36 os: - name: Android - version: 8.1.0 + name: Sirin OS + version: "" platform: "" client: type: browser name: Chrome Mobile version: 90.0.4430.210 engine: Blink - engine_version: "90.0.4430.210" + engine_version: 90.0.4430.210 device: type: smartphone - brand: Sirin labs + brand: Sirin Labs model: Finney U1 os_family: Android browser_family: Chrome diff --git a/Tests/fixtures/tablet-7.yml b/Tests/fixtures/tablet-7.yml index 28e3d98adf..a1a6df188b 100644 --- a/Tests/fixtures/tablet-7.yml +++ b/Tests/fixtures/tablet-7.yml @@ -6530,3 +6530,201 @@ model: Elite OctaPlus os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; U; Android 9; Nexo-TAB-7 Build/PPR1.180610.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/100.0.4896.79 Safari/537.36 OPR/62.5.2254.61240 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Opera + version: 62.5.2254.61240 + engine: Blink + engine_version: 100.0.4896.79 + device: + type: tablet + brand: Völfen + model: Nexo TAB7 + os_family: Android + browser_family: Opera +- + user_agent: Mozilla/5.0 (Linux; Android 9; eNOVA TAB 10 LTE) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.88 Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome + version: 99.0.4844.88 + engine: Blink + engine_version: 99.0.4844.88 + device: + type: tablet + brand: eNOVA + model: Tab 10" LTE + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; W-109) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.62 Mobile Safari/537.36 + os: + name: Android + version: "10" + platform: "" + client: + type: browser + name: Chrome Mobile + version: 93.0.4577.62 + engine: Blink + engine_version: 93.0.4577.62 + device: + type: tablet + brand: TOSCIDO + model: W109 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 8.1.0; neocore_N1G1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.117 Safari/537.36 + os: + name: Android + version: 8.1.0 + platform: "" + client: + type: browser + name: Chrome + version: 80.0.3987.117 + engine: Blink + engine_version: 80.0.3987.117 + device: + type: tablet + brand: neoCore + model: N1 G1 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 5.1; TAB-A03-BR2 Build/02.00.000; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/59.0.3071.125 Safari/537.36 + os: + name: Android + version: "5.1" + platform: "" + client: + type: browser + name: Chrome Webview + version: 59.0.3071.125 + engine: Blink + engine_version: 59.0.3071.125 + device: + type: tablet + brand: Benesse + model: TAB-A03-BR2 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; TS_M103A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome + version: 100.0.4896.88 + engine: Blink + engine_version: 100.0.4896.88 + device: + type: tablet + brand: DIXON + model: TS-M103A + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; neocore E1-2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.73 Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome + version: 99.0.4844.73 + engine: Blink + engine_version: 99.0.4844.73 + device: + type: tablet + brand: neoCore + model: E1+ + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; U; Android 8.1.0; JP5 Inmate Media Device Build/3.25.1) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/13.0.0.1288 Mobile Safari/537.36 + os: + name: Android + version: 8.1.0 + platform: "" + client: + type: browser + name: UC Browser + version: 13.0.0.1288 + engine: WebKit + engine_version: "537.36" + device: + type: tablet + brand: JPay + model: JP5 + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; U; Android 4.2.2; JP5s Inmate Media Device Build/JP5JDQ47) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.10.0.1163 UCTurbo/1.9.3.900 Mobile Safari/537.36 + os: + name: Android + version: 4.2.2 + platform: "" + client: + type: browser + name: UC Browser Turbo + version: 1.9.3.900 + engine: WebKit + engine_version: "537.36" + device: + type: tablet + brand: JPay + model: JP5s + os_family: Android + browser_family: Unknown +- + user_agent: Mozilla/5.0 (Linux; Android 7.0; W109 Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/90.0.4430.91 Safari/537.36 + os: + name: Android + version: "7.0" + platform: "" + client: + type: browser + name: Chrome Webview + version: 90.0.4430.91 + engine: Blink + engine_version: 90.0.4430.91 + device: + type: tablet + brand: TOSCIDO + model: W109 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; W109) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome + version: 96.0.4664.45 + engine: Blink + engine_version: 96.0.4664.45 + device: + type: tablet + brand: TOSCIDO + model: W109 + os_family: Android + browser_family: Chrome diff --git a/Tests/fixtures/tv-1.yml b/Tests/fixtures/tv-1.yml index 74bd4e3b54..3000eb2bf8 100644 --- a/Tests/fixtures/tv-1.yml +++ b/Tests/fixtures/tv-1.yml @@ -6733,3 +6733,111 @@ model: SB-214 os_family: Android browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; T96mini) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.78 Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome + version: 102.0.5005.78 + engine: Blink + engine_version: 102.0.5005.78 + device: + type: tv + brand: T96 + model: Mini + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 10; ZEALOT) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.88 Safari/537.36 + os: + name: Android + version: "10" + platform: "" + client: + type: browser + name: Chrome + version: 99.0.4844.88 + engine: Blink + engine_version: 99.0.4844.88 + device: + type: tv + brand: Zealot + model: TV Box + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 11; X88pro10.r1.00.6330.d4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36 + os: + name: Android + version: "11" + platform: "" + client: + type: browser + name: Chrome + version: 102.0.0.0 + engine: Blink + engine_version: 102.0.0.0 + device: + type: tv + brand: X88 + model: Pro 10 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Windows NT 6.0; Changhong Andr0id TV Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36 SMART-TV + os: + name: Android TV + version: "" + platform: "" + client: + type: browser + name: Chrome + version: 56.0.2924.87 + engine: Blink + engine_version: 56.0.2924.87 + device: + type: tv + brand: Changhong + model: "" + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; X96Air_A100) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome + version: 84.0.4147.89 + engine: Blink + engine_version: 84.0.4147.89 + device: + type: tv + brand: X96 + model: Air A100 + os_family: Android + browser_family: Chrome +- + user_agent: Mozilla/5.0 (Linux; Android 9; H96Max RK3318) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 + os: + name: Android + version: "9" + platform: "" + client: + type: browser + name: Chrome + version: 100.0.4896.127 + engine: Blink + engine_version: 100.0.4896.127 + device: + type: tv + brand: H96 + model: Max RK3318 + os_family: Android + browser_family: Chrome diff --git a/regexes/bots.yml b/regexes/bots.yml index 788988bcd3..64d15f2535 100644 --- a/regexes/bots.yml +++ b/regexes/bots.yml @@ -1958,7 +1958,7 @@ - regex: 'RSSRadio \(Push Notification Scanner;support@dorada\.co\.uk\)' name: 'RSSRadio Bot' -- regex: '(A6-Indexer|nuhk|TsolCrawler|Yammybot|Openbot|Gulper Web Bot|grub-client|Download Demon|SearchExpress|Microsoft URL Control|borg|altavista|dataminr.com|tweetedtimes.com|TrendsmapResolver|teoma|blitzbot|oegp|furlbot|http%20client|polybot|htdig|mogimogi|larbin|scrubby|searchsight|seekbot|semanticdiscovery|snappy|vortex(?!(?: Build|Plus))|zeal|fast-webcrawler|converacrawler|dataparksearch|findlinks|BrowserMob|HttpMonitor|ThumbShotsBot|URL2PNG|ZooShot|GomezA|Google SketchUp|Read%20Later|RackspaceBot|robots|SeopultContentAnalyzer|7Siters|centuryb.o.t9|InterNaetBoten|EasyBib AutoCite|Bidtellect|tomnomnom/meg|My User Agent|cortex|CF-UC User Agent|Re-re Studio|adreview|AHC/|NameOfAgent|Request-Promise|ALittle Client|Hello, world|wp_is_mobile|0xAbyssalDoesntExist|Anarchy99)' +- regex: '(A6-Indexer|nuhk|TsolCrawler|Yammybot|Openbot|Gulper Web Bot|grub-client|Download Demon|SearchExpress|Microsoft URL Control|borg|altavista|dataminr.com|tweetedtimes.com|TrendsmapResolver|teoma|blitzbot|oegp|furlbot|http%20client|polybot|htdig|mogimogi|larbin|scrubby|searchsight|seekbot|semanticdiscovery|snappy|vortex(?!(?: Build|Plus))|zeal(?!ot)|fast-webcrawler|converacrawler|dataparksearch|findlinks|BrowserMob|HttpMonitor|ThumbShotsBot|URL2PNG|ZooShot|GomezA|Google SketchUp|Read%20Later|RackspaceBot|robots|SeopultContentAnalyzer|7Siters|centuryb.o.t9|InterNaetBoten|EasyBib AutoCite|Bidtellect|tomnomnom/meg|My User Agent|cortex|CF-UC User Agent|Re-re Studio|adreview|AHC/|NameOfAgent|Request-Promise|ALittle Client|Hello, world|wp_is_mobile|0xAbyssalDoesntExist|Anarchy99)' name: 'Generic Bot' - regex: '^sentry' diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index b6a9cab63f..8e2b7d2232 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -4985,7 +4985,7 @@ Changhong: - regex: 'HON H01' model: 'HONPhone H01' - - regex: 'ChangHong Android TV' + - regex: 'ChangHong Andr[o0]id TV' device: 'tv' model: '' - regex: 'changhong,([a-z0-9_ \-]+),(?:wired|wireless)' @@ -5894,6 +5894,14 @@ Digiland: - regex: '(Compumax Blue)' # Compumax model: '$1' +# Digit4G (https://digit4g.com/p) +Digit4G: + regex: 'Digit4G' + device: 'smartphone' + models: + - regex: 'Digit4G[ -](Energy|Pro)' + model: '$1' + # Compumax or COMPUMAX COMPUTER S.A.S (www.compumax.com.co) COMPUMAX: regex: 'BlueS10(?:[);/ ]|$)' @@ -6462,6 +6470,14 @@ Gateway: device: 'tablet' model: 'Tablet 8"' +# Ricoh (https://www.ricoh.com/) +Ricoh: + regex: 'ricoh_' + device: 'peripheral' + models: + - regex: 'ricoh_mfpapnl' + model: 'MFP' + # Rikomagic Rikomagic: regex: 'MK(80[28][^/;]*) Build' @@ -7300,6 +7316,12 @@ Jumper: device: 'tablet' model: 'EZpad $1' +# JPay (https://www.jpay.com/) +JPay: + regex: '(JP5s?) Inmate Media Device(?:[);/ ]|$)' + device: 'tablet' + model: '$1' + # Ezze Ezze: regex: 'EZZE-|EZ(?!Browser)[a-z0-9]+' @@ -8025,10 +8047,10 @@ Gtel: # H96 (https://www.h96tvbox.com/) H96: - regex: 'H96[ _]' + regex: 'H96[ _]?Max' device: 'tv' models: - - regex: 'Max RK3318(?:[);/ ]|$)' + - regex: '(?:H96)?Max RK3318(?:[);/ ]|$)' model: 'Max RK3318' - regex: 'Max X2(?:[);/ ]|$)' model: 'Max X2' @@ -10904,7 +10926,7 @@ KDDI: # Kodak Kodak: - regex: 'KODAK|(?:IM5|KD50|Ektra|Smartway[_ ](?:[FT]1|L2)|D55L|D60LX)(?:[);/ ]|$)' + regex: 'KODAK|(?:IM5|KD50|Ektra|Smartway[_ ](?:[FT]1|[LT]2)|D55L|D60LX)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'IM5' @@ -10915,7 +10937,7 @@ Kodak: model: 'Ektra' - regex: '(?:KODAK[_ ])?SMARTWAY[_ ]L1 PRO' model: 'Smartway L1 Pro' - - regex: '(?:KODAK[_ ])?SMARTWAY[_ ]([FLMTX]1|[LMX]2|T3)' + - regex: '(?:KODAK[_ ])?SMARTWAY[_ ]([FLMTX]1|[LMTX]2|T3)' model: 'Smartway $1' - regex: 'Tablet (7|10)' device: 'tablet' @@ -13115,7 +13137,7 @@ Mastertech: # Maxwest Maxwest: - regex: '(?:Astro[_ ](?:Phablet_9|55?N[_ ]LTE|5 PRO|5s|[45]P|X4|5_GO_LTE|X55s?|4\.5|4|X5)|Astro6|Virtue Z5|Nitro[_ ](?:4S?|55[RC]|5[XRP]|[45] GO|4s LTE)|Gravity_55?_GO|Nitro_Phablet_9s)(?:[);/ ]|$)' + regex: '(?:Astro[_ ](?:Phablet_9|55?N[_ ]LTE|5 PRO|5s|[45]P|X4|5_GO_LTE|X55s?|4\.5|4|X5)|Astro6|Virtue Z5|Nitro[_ ](?:4S?|55[RC]|5[XRP]|[45] GO|4s LTE)|Gravity_(?:55?_GO|6P)|Nitro_Phablet_9s)(?:[);/ ]|$)' device: 'smartphone' models: - regex: 'Astro[_ ](55?)N[_ ]LTE' @@ -13146,6 +13168,8 @@ Maxwest: model: 'Nitro $1' - regex: 'Gravity_(55?)_GO' model: 'Gravity $1 GO' + - regex: 'Gravity_6P' + model: 'Gravity 6P' - regex: 'Astro6' device: 'phablet' @@ -13722,9 +13746,11 @@ Mobistel: # MobiIoT (https://mobi-iot.com/) MobiIoT: - regex: 'MobiPrint 4\+(?:[);/ ]|$)' + regex: '(?:MobiGo2|MobiPrint 4\+)(?:[);/ ]|$)' device: 'peripheral' models: + - regex: 'MobiGo2(?:[);/ ]|$)' + model: 'MobiGo 2' - regex: 'MobiPrint 4\+(?:[);/ ]|$)' model: 'MobiPrint 4 Plus' @@ -14449,6 +14475,14 @@ Nobby: device: 'smartphone' model: '$1' +# Novey (https://www.novey.com.pa/) +Novey: + regex: 'Novey' + device: 'smartphone' + models: + - regex: 'Novey (L2)(?:[);/ ]|$)' + model: '$1' + # nec or nec lavie (www.nec-lavie.jp) NEC: regex: 'NEC[ _\-]|KGT/2\.0|portalmmm/1\.0 (?:DB|N)|(?:portalmmm|o2imode)/2.0[ ,]N|(?:PC-T[SE]\d{3}[\w]{2,3}|N-06C|N-02E|LAVIE T11 (?:11QHD1|112K1)|LAVIE Tab E (?:10|8)FHD[12]|7SD1|8HD1)(?:[);/ ]|$)' @@ -20333,6 +20367,14 @@ Techwood: device: 'tv' model: '' +# Teracube (https://myteracube.com/) +Teracube: + regex: 'Teracube' + device: 'smartphone' + models: + - regex: 'Teracube (2e|One)(?:[);/ ]|$)' + model: '$1' + # Tesco Tesco: regex: 'Hudl (?:[^/;]+)(?: Build|[;)])|W032i-C3(?:[);/ ]|$)' @@ -20924,6 +20966,14 @@ Unnecto: - regex: 'U905' model: 'Air 5.5' +# Unnion Technologies (https://www.unniontech.com/) +Unnion Technologies: + regex: 'UNSP7(?:[);/ ]|$)' + device: 'smartphone' + models: + - regex: 'UNSP7(?:[);/ ]|$)' + model: 'SP7' + # Unonu (unonumobile.com) Unonu: regex: 'Unonu[ _-]|(?:U4001|UT3G)(?:[);/ ]|$)' @@ -24831,7 +24881,7 @@ ArtLine: # DIXON (https://www.dixoninfo.com/) DIXON: - regex: 'DIXON_|(?:ACK1010|KT5512|HK7-3502|DN6015|DFM48|TS-M105G-1)(?:[);/ ]|$)' + regex: 'DIXON_|(?:ACK1010|KT5512|HK7-3502|DN6015|DFM48|TS-M105G-1|TS_M103A)(?:[);/ ]|$)' device: 'smartphone' models: - regex: '(ACK1010|KT5512|DFM48)' @@ -24843,6 +24893,9 @@ DIXON: - regex: 'TS-M105G-1' device: 'tablet' model: 'TS-M105G-1' + - regex: 'TS_M103A' + device: 'tablet' + model: 'TS-M103A' - regex: 'DIXON_XK1_3G(?:[);/ ]|$)' device: 'feature phone' model: 'XK1 3G' @@ -25828,6 +25881,12 @@ Crony: device: 'tablet' model: '7021' +# T96 +T96: + regex: 'T96mini(?:[);/ ]|$)' + device: 'tv' + model: 'Mini' + # Takara Takara: regex: '(MID211H)(?:[);/ ]|$)' @@ -26241,6 +26300,15 @@ Cloudfone: - regex: 'Next(?:[);/ ]|$)' model: 'Next' +# Völfen (https://www.volfen.net/) +Völfen: + regex: 'Nexo-TAB-7(?: Build|[;)])' + device: 'smartphone' + models: + - regex: 'Nexo-TAB-7(?: Build|[;)])' + device: 'tablet' + model: 'Nexo TAB7' + # Vsmart Vsmart: regex: '(?:Joy [123]\+|Joy [34]|Active 1\+|Bee 3|Active 3|V341U|Bee Lite|Aris)(?:[);/ ]|$)' @@ -26616,6 +26684,18 @@ X-BO: device: 'smartphone' model: '$1' +# X88 +X88: + regex: 'X88pro10' + device: 'tv' + model: 'Pro 10' + +# X96 +X96: + regex: 'X96Air_A100(?:[);/ ]|$)' + device: 'tv' + model: 'Air A100' + # Xgody Xgody: regex: 'XGODY|Y19\(EU\)(?:[);/ ]|$)' @@ -27474,10 +27554,10 @@ Bluewave: # Siragon (siragon.com) Siragon: - regex: 'Siragon|(?:SP-(?:5[0124]50|5400))(?:[);/ ]|$)' + regex: 'Siragon|(?:SP-(?:5[0124]50|5[34]00|6150))(?:[);/ ]|$)' device: 'smartphone' models: - - regex: '(?:Siragon[_ ])?(SP-(?:5[0124]50|5400))' + - regex: '(?:Siragon[_ ])?(SP-(?:5[0124]50|5[34]00|6150))' model: '$1' # Poppox @@ -27851,6 +27931,14 @@ VC: - regex: '(Maple|Jasmine|Lavender)-?II(?:[);/ ]|$)' model: '$1 II' +# Cellacom (http://cellacom.com/) +Cellacom: + regex: 'Cellacom' + device: 'smartphone' + models: + - regex: 'Cellacom_S62(?:[);/ ]|$)' + model: 'S62' + # CellAllure (cellallure.com) CellAllure: regex: '(?:Cool_Extreme_2|Earn|Fashion2Plus|Fashion[ _]C|Cool Duo|CHIC_X1|Miracle XS|Miracle 6.0 S)(?:[);/ ]|$)' @@ -28826,6 +28914,12 @@ Zaith: device: 'tablet' model: '$1' +# Zealot +Zealot: + regex: 'Zealot(?:[);/ ]|$)' + device: 'tv' + model: 'TV Box' + # Spectralink (spectralink.com) Spectralink: regex: '(Versity 9640)(?:[);/ ]|$)' @@ -29279,11 +29373,15 @@ ProVision: device: 'tv' model: '$1' -# 'Sirin labs (sirinlabs.com) -Sirin labs: - regex: '(?:FINNEY U1)(?:[);/ ]|$)' +# Sirin Labs (https://sirinlabs.com/) +Sirin Labs: + regex: '(?:FINNEY U1|SOLARIN)(?:[);/ ]|$)' device: 'smartphone' - model: 'Finney U1' + models: + - regex: '(?:FINNEY U1)(?:[);/ ]|$)' + model: 'Finney U1' + - regex: '(?:SOLARIN)(?:[);/ ]|$)' + model: 'Solarin' # SK Broadband (https://www.skbroadband.com/) SK Broadband: @@ -29576,6 +29674,16 @@ MyGica: - regex: 'ATV(19[60]0|495 Pro 16G)' model: 'ATV$1' +# neoCore (https://neocore.store/) +neoCore: + regex: 'neocore_?' + device: 'tablet' + models: + - regex: 'neocore_N1G1(?:[);/ ]|$)' + model: 'N1 G1' + - regex: 'neocore E1-2(?:[);/ ]|$)' + model: 'E1+' + # Novex Novex: regex: '(NWX-40F171MSY)(?:[);/ ]|$)' @@ -29649,6 +29757,12 @@ Parrot Mobile: device: 'smartphone' model: '$1' +# Partner Mobile (https://partnermobile.com/) +Partner Mobile: + regex: 'EV1 PRO(?:[);/ ]|$)' + device: 'smartphone' + model: 'EV1 Pro' + # Bubblegum (bubblegumtablets.co.za) Bubblegum: regex: '(BUB6R-3T)(?:[);/ ]|$)' @@ -29980,6 +30094,15 @@ DUNNS Mobile: device: 'tablet' model: '$1' +# eNOVA +eNOVA: + regex: 'eNOVA' + device: 'smartphone' + models: + - regex: 'eNOVA TAB 10 LTE' + device: 'tablet' + model: 'Tab 10" LTE' + # Amino or Aminocom (www.amino.tv) Amino: regex: '(?:Amigo7x?(?:YUF|SCB)?)(?:[);/ ]|$)' @@ -30146,9 +30269,13 @@ Ookee: # TOSCIDO (www.toscido.com) TOSCIDO: - regex: '(T1[23]|T151)-EEA(?:[);/ ]|$)' + regex: '(?:(?:T1[23]|T151)-EEA|W-?109)(?:[);/ ]|$)' device: 'tablet' - model: '$1' + models: + - regex: '(T1[23]|T151)-EEA(?:[);/ ]|$)' + model: '$1' + - regex: 'W-?109(?:[);/ ]|$)' + model: 'W109' # b2m: b2m: @@ -30326,7 +30453,7 @@ Joy: - regex: 'Joy[ _]([^/;)]+)(?: Build|[);])' model: '$1' -# iWaylink +# iWaylink (https://www.imotiongroup.com/) iWaylink: regex: '(?:MC401_GWL)(?:[);/ ]|$)' device: 'smartphone' @@ -30389,7 +30516,7 @@ Pelitt: # Benesse Benesse: - regex: '(TAB-A03-BS)(?:[);/ ]|$)' + regex: '(TAB-A03-(?:BR2|BS))(?:[);/ ]|$)' device: 'tablet' model: '$1' diff --git a/regexes/oss.yml b/regexes/oss.yml index c844aeaad7..ef5514b2da 100644 --- a/regexes/oss.yml +++ b/regexes/oss.yml @@ -5,6 +5,13 @@ # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later ############### +########## +# Sirin OS (https://sirinlabs.com/sirin-os/) +########## +- regex: 'FINNEY U1' + name: 'Sirin OS' + version: '' + ########## # Nova (https://www.nova.cu/) ########## @@ -244,6 +251,10 @@ name: 'Android TV' version: '$1' +- regex: 'Windows.+Andr0id TV' + name: 'Android TV' + version: '' + ########## # Android SDK Level Api ##########