Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds detection for Smart Tech brand and RTOS & Next os, and improves detection for Hisense, MediaTek, Next & NextStar #7941

Merged
merged 8 commits into from
Dec 13, 2024
2 changes: 1 addition & 1 deletion Parser/AbstractParser.php
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@ protected function hasDesktopFragment(): bool
$regexExcludeDesktopFragment = \implode('|', [
'CE-HTML',
' Mozilla/|Andr[o0]id|Tablet|Mobile|iPhone|Windows Phone|ricoh|OculusBrowser',
'PicoBrowser|Lenovo|compatible; MSIE|Trident/|Tesla/|XBOX|FBMD/|ARM; ?([^)]+)',
'PicoBrowser|Lenovo|compatible; MSIE|SRAF/|Trident/|Tesla/|XBOX|FBMD/|ARM; ?([^)]+)',
]);

return
Expand Down
1 change: 1 addition & 0 deletions Parser/Device/AbstractDeviceParser.php
Original file line number Diff line number Diff line change
Expand Up @@ -1592,6 +1592,7 @@ abstract class AbstractDeviceParser extends AbstractParser
'19' => 'Smailo',
'SR' => 'Smart Electronic',
'SMA' => 'Smart Kassel',
'STE' => 'Smart Tech',
'49' => 'Smart',
'47' => 'SmartBook',
'3B' => 'Smartab',
Expand Down
3 changes: 2 additions & 1 deletion Parser/OperatingSystem.php
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ class OperatingSystem extends AbstractParser
'RRS' => 'Resurrection Remix OS',
'REX' => 'REX',
'RZD' => 'RazoDroiD',
'RXT' => 'RTOS & Next',
'SAB' => 'Sabayon',
'SSE' => 'SUSE',
'SAF' => 'Sailfish OS',
Expand Down Expand Up @@ -262,7 +263,7 @@ class OperatingSystem extends AbstractParser
'Mac' => ['MAC'],
'Mobile Gaming Console' => ['PSP', 'NDS', 'XBX'],
'OpenVMS' => ['OVS'],
'Real-time OS' => ['MTK', 'TDX', 'MRE', 'JME', 'REX'],
'Real-time OS' => ['MTK', 'TDX', 'MRE', 'JME', 'REX', 'RXT'],
'Other Mobile' => ['WOS', 'POS', 'SBA', 'TIZ', 'SMG', 'MAE', 'LUN', 'GEO'],
'Symbian' => ['SYM', 'SYS', 'SY3', 'S60', 'S40'],
'Unix' => [
Expand Down
8 changes: 8 additions & 0 deletions Tests/Parser/fixtures/oss.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5805,3 +5805,11 @@
version: "2"
platform: x64
family: GNU/Linux
-
user_agent: NEXT 64_VLC/3.0.14 LibVLC/3.0.14
os:
name: 'RTOS & Next'
short_name: RXT
version: ""
platform: ""
family: Real-time OS
80 changes: 80 additions & 0 deletions Tests/fixtures/mediaplayer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -304,3 +304,83 @@
model: ""
os_family: Windows
browser_family: Unknown
-
user_agent: NEXT 2000 HD FTA_VLC/3.0.14 LibVLC/3.0.14
os:
name: 'RTOS & Next'
version: ""
platform: ""
client:
type: mediaplayer
name: VLC
version: 3.0.14
device:
type: tv
brand: 'Next & NextStar'
model: 2000 HD FTA
os_family: Real-time OS
browser_family: Unknown
-
user_agent: NEXT 2000-HD_VLC/3.0.14 LibVLC/3.0.14
os:
name: 'RTOS & Next'
version: ""
platform: ""
client:
type: mediaplayer
name: VLC
version: 3.0.14
device:
type: tv
brand: 'Next & NextStar'
model: 2000 HD
os_family: Real-time OS
browser_family: Unknown
-
user_agent: NEXT 64_VLC/3.0.14 LibVLC/3.0.14
os:
name: 'RTOS & Next'
version: ""
platform: ""
client:
type: mediaplayer
name: VLC
version: 3.0.14
device:
type: tv
brand: 'Next & NextStar'
model: "64"
os_family: Real-time OS
browser_family: Unknown
-
user_agent: NEXT YE-2000HD CX_VLC/3.0.14 LibVLC/3.0.14
os:
name: 'RTOS & Next'
version: ""
platform: ""
client:
type: mediaplayer
name: VLC
version: 3.0.14
device:
type: tv
brand: 'Next & NextStar'
model: YE-2000HD CX
os_family: Real-time OS
browser_family: Unknown
-
user_agent: NEXT YE-2000 USB_VLC/3.0.14 LibVLC/3.0.14
os:
name: 'RTOS & Next'
version: ""
platform: ""
client:
type: mediaplayer
name: VLC
version: 3.0.14
device:
type: tv
brand: 'Next & NextStar'
model: YE-2000 USB
os_family: Real-time OS
browser_family: Unknown
21 changes: 15 additions & 6 deletions Tests/fixtures/tv-2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6631,7 +6631,10 @@
browser_family: Opera
-
user_agent: NEXT 2000-HD PLUS_VLC/3.0.14 LibVLC/3.0.14
os: [ ]
os:
name: 'RTOS & Next'
version: ""
platform: ""
client:
type: mediaplayer
name: VLC
Expand All @@ -6640,11 +6643,14 @@
type: tv
brand: 'Next & NextStar'
model: 2000 HD Plus
os_family: Unknown
os_family: Real-time OS
browser_family: Unknown
-
user_agent: NEXT 2000 WiFi_VLC/3.0.14 LibVLC/3.0.14
os: [ ]
os:
name: 'RTOS & Next'
version: ""
platform: ""
client:
type: mediaplayer
name: VLC
Expand All @@ -6653,11 +6659,14 @@
type: tv
brand: 'Next & NextStar'
model: 2000 WiFi
os_family: Unknown
os_family: Real-time OS
browser_family: Unknown
-
user_agent: NEXT 2071_VLC/3.0.14 LibVLC/3.0.14
os: [ ]
os:
name: 'RTOS & Next'
version: ""
platform: ""
client:
type: mediaplayer
name: VLC
Expand All @@ -6666,7 +6675,7 @@
type: tv
brand: 'Next & NextStar'
model: "2071"
os_family: Unknown
os_family: Real-time OS
browser_family: Unknown
-
user_agent: Dalvik/2.1.0 (Linux; U; Android 11; Nokia Streaming Stick 800 Build/RTT0.210618.003)
Expand Down
54 changes: 54 additions & 0 deletions Tests/fixtures/tv-4.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4989,3 +4989,57 @@
model: CT-8750
os_family: Android
browser_family: Unknown
-
user_agent: Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Odin/100.4896.4.10 Safari/537.36 Model/VIDAA-NT72690 VIDAA/7.0(Smarttech;SmartTV;VS0343FE2;NT72690/V0000.07.00C.O0629;FHD;VS0343F2;)
os:
name: VIDAA
version: "7.0"
platform: ARM
client:
type: browser
name: Odin
version: 100.4896.4.10
engine: Blink
engine_version: 100.0.4896.127
device:
type: tv
brand: Smart Tech
model: ""
os_family: GNU/Linux
browser_family: Chrome
-
user_agent: Mozilla/5.0 (X11; Linux x86_64;) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36 SRAF/4.0 (; Hisense; SmartTV_2019_1; V0000.01.00a.N0423; MICALIDVB6886; ); CE-HTML/1.0 hbbtv
os:
name: GNU/Linux
version: ""
platform: x64
client:
type: browser
name: Seraphic Sraf
version: "4.0"
engine: Blink
engine_version: 47.0.2526.106
device:
type: tv
brand: Hisense
model: Smart TV (2019)
os_family: GNU/Linux
browser_family: Chrome
-
user_agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36 SRAF/5.0 1.0 (MediaTek; MT5870; V0.1.0.0.M001; ) NETRANGEMMH
os:
name: GNU/Linux
version: ""
platform: x64
client:
type: browser
name: Seraphic Sraf
version: "5.0"
engine: Blink
engine_version: 73.0.3683.103
device:
type: tv
brand: MediaTek
model: MT5870
liviuconcioiu marked this conversation as resolved.
Show resolved Hide resolved
os_family: GNU/Linux
browser_family: Chrome
27 changes: 27 additions & 0 deletions regexes/device/mobiles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35461,6 +35461,12 @@ Smart Kassel:
- regex: 'SK5501(?:[);/ ]|$)'
model: 'SK5501'

# Smart Tech (https://www.smarttech-tv.com/)
Smart Tech:
regex: 'Smarttech[;,]'
device: 'tv'
model: ''

# Colors or ColorsMobile (www.colors-mobile.com)
Colors:
regex: '(?:Colors[ _](S(?:[19]|11)|P70|P[456]5|P32|E15|P50 Plus)|Pride_1A|P52_Pride5C|P90_Pride5X|P95_Pride_7s|P77_Pride_1E|P88_Pride_1X)(?:[);/ ]|$)'
Expand Down Expand Up @@ -40070,10 +40076,20 @@ Next & NextStar:
models:
- regex: '2000 WiFi'
model: '2000 WiFi'
- regex: '2000 HD FTA'
model: '2000 HD FTA'
- regex: '2000-HD PLUS'
model: '2000 HD Plus'
- regex: '2000-HD'
model: '2000 HD'
- regex: 'NEXT 64'
model: '64'
- regex: '2071'
model: '2071'
- regex: 'YE-2000HD CX'
model: 'YE-2000HD CX'
- regex: 'YE-2000 USB'
model: 'YE-2000 USB'
- regex: 'MyBox(?:[);/ ]|$)'
model: 'MyBox'
- regex: 'LGE; (YE-[0-9a-z]+)-4K;'
Expand Down Expand Up @@ -41977,6 +41993,9 @@ Hisense:
- regex: 'Hisense;SmartTV;([a-z0-9_ -]+);'
device: 'tv'
model: '$1'
- regex: 'Hisense; ?SmartTV_([0-9]{4})_1;'
device: 'tv'
model: 'Smart TV ($1)'
- regex: '(HE43A6500UWTS)'
device: 'tv'
model: '$1'
Expand Down Expand Up @@ -42875,6 +42894,14 @@ Acepad:
- regex: 'A130[_-](202[34])'
model: A130 ($1)

# MediaTek (https://www.mediatek.com/)
MediaTek:
regex: 'MTK|MediaTek;'
device: 'tv'
models:
- regex: '(MT[0-9]{4})'
model: '$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)(?:[);/ ]|$)'
Expand Down
2 changes: 1 addition & 1 deletion regexes/device/televisions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -656,7 +656,7 @@ Manhattan:
- regex: 'T3'
model: 'T3'

# MediaTek
# MediaTek (https://www.mediatek.com/)
MediaTek:
regex: 'MTK|MediaTek;'
device: 'tv'
Expand Down
7 changes: 7 additions & 0 deletions regexes/oss.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,13 @@
# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
###############

##########
# RTOS & Next
##########
- regex: '^NEXT '
name: 'RTOS & Next'
version: ''

##########
# Meta Horizon (https://developers.meta.com/horizon)
##########
Expand Down
Loading