Skip to content

Commit e0633b2

Browse files
committed
feat(device) detect brand Xiaomi: Redmi A2 (23028RN4DI)
feat(device) detect brand OPPO: Reno 10 (PHW110) feat(device) detect brand Hiberg: 43Y UHD feat(device) detect brand Starwind: SW-LED43UB404 feat(device) detect brand Vontar: H618
1 parent 99df89a commit e0633b2

File tree

3 files changed

+104
-8
lines changed

3 files changed

+104
-8
lines changed

Tests/fixtures/smartphone-37.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3015,3 +3015,39 @@
30153015
model: iPhone 5C
30163016
os_family: iOS
30173017
browser_family: Unknown
3018+
-
3019+
user_agent: Mozilla/5.0 (Linux; Android 13; 23028RN4DI) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.196 Mobile Safari/537.36 OPR/76.2.4027.73374
3020+
os:
3021+
name: Android
3022+
version: "13"
3023+
platform: ""
3024+
client:
3025+
type: browser
3026+
name: Opera Mobile
3027+
version: 76.2.4027.73374
3028+
engine: Blink
3029+
engine_version: 114.0.5735.196
3030+
device:
3031+
type: smartphone
3032+
brand: Xiaomi
3033+
model: Redmi A2
3034+
os_family: Android
3035+
browser_family: Opera
3036+
-
3037+
user_agent: Mozilla/5.0 (Linux; arm_64; Android 13; PHW110) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 YaApp_Android/23.74.1 YaSearchBrowser/23.74.1 BroPP/1.0 SA/3 Mobile Safari/537.36
3038+
os:
3039+
name: Android
3040+
version: "13"
3041+
platform: ARM
3042+
client:
3043+
type: browser
3044+
name: Yandex Browser
3045+
version: 23.74.1
3046+
engine: Blink
3047+
engine_version: 114.0.0.0
3048+
device:
3049+
type: smartphone
3050+
brand: OPPO
3051+
model: Reno 10
3052+
os_family: Android
3053+
browser_family: Unknown

Tests/fixtures/tv-2.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5215,3 +5215,57 @@
52155215
model: 55LEX-8202/UTS2C
52165216
os_family: Android
52175217
browser_family: Unknown
5218+
-
5219+
user_agent: Mozilla/5.0 (Linux; Android 9; HIBERG43YUHD Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/111.0.5563.116 YaBrowser/23.1.0.29 (lite) TV Safari/537.36
5220+
os:
5221+
name: Android
5222+
version: "9"
5223+
platform: ""
5224+
client:
5225+
type: browser
5226+
name: Yandex Browser Lite
5227+
version: 23.1.0.29
5228+
engine: Blink
5229+
engine_version: 111.0.5563.116
5230+
device:
5231+
type: tv
5232+
brand: Hiberg
5233+
model: 43Y UHD
5234+
os_family: Android
5235+
browser_family: Unknown
5236+
-
5237+
user_agent: Mozilla/5.0 (Linux; Android 9; SW-LED43UB404 Build/PPR2.180905.006.A1; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/111.0.5563.116 YaBrowser/23.1.0.29 (lite) TV Safari/537.36
5238+
os:
5239+
name: Android
5240+
version: "9"
5241+
platform: ""
5242+
client:
5243+
type: browser
5244+
name: Yandex Browser Lite
5245+
version: 23.1.0.29
5246+
engine: Blink
5247+
engine_version: 111.0.5563.116
5248+
device:
5249+
type: tv
5250+
brand: Starwind
5251+
model: SW-LED43UB404
5252+
os_family: Android
5253+
browser_family: Unknown
5254+
-
5255+
user_agent: Mozilla/5.0 (Linux; arm; Android 12; VONTAR H618) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 YaApp_Android/23.74/apad YaSearchBrowser/23.74/apad BroPP/1.0 SA/3 Mobile Safari/537.36
5256+
os:
5257+
name: Android
5258+
version: "12"
5259+
platform: ARM
5260+
client:
5261+
type: browser
5262+
name: Yandex Browser
5263+
version: "23.74"
5264+
engine: Blink
5265+
engine_version: 114.0.0.0
5266+
device:
5267+
type: tv
5268+
brand: Vontar
5269+
model: H618
5270+
os_family: Android
5271+
browser_family: Unknown

regexes/device/mobiles.yml

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18003,7 +18003,7 @@ Realme:
1800318003

1800418004
# Oppo (oppo.com)
1800518005
OPPO:
18006-
regex: '(?:OB-)?OPPO[ _]?([a-z0-9]+)|N1T|R8001|R820[16]|A101OP|OPG0[1-4]|A00[12]OP|(?:X90[07][0679]|U70[57]T?|X909T?|R(?:10[01]1|2001|201[07]|6007|7005|7007|80[13579]|81[13579]|82[01379]|83[013]|800[067]|8015|810[679]|811[13]|820[057]|15 Neo)[KLSTW]?|N520[79]|N5117|A33[wf]|A33fw|A37fw?|PAAM00|PAAT00|PAC[TM]00|R7kf|R7plus[fmt]?|A1601|CPH[0-9]{4}|CPH19(69|79|23|1[179])|PB(A[TM]00|CT10|BT30|CM[13]0|[FD]M00)|P(E[RFHG]M\d{2}|E[GH]T\d{2}|DAM10|ADM00|AF[TM]00|ADT00|AHM00|BBM[03]0|BBT00|BDT00|BFT00|[CB]E[MT]00|CA[MT]00|C[CDG]M00|CA[MT]10|[CD]PM00|CRM00|CDT00|CD[TM]10|CHM[013]0|CKM[08]0|CLM[15]0|DEM[13]0|DHM00|D[RK][TM]00|DPT00|DB[TM]00|DCM00|[CD]NM00|DVM00|DY[TM][12]0|DNT00|EA[TM]00|CRT01|EDM00)|PFDM00|PEG[MT]10|PEM[MT][02]0|PDCT00|PDET10|PDS[TM]00|PEC[MT]30|PE[QYPEXNLU]M00|PCHT30|PCRT00|PFGM00|PF[VU]M10|A102OP|PFCM00|PFJM10|PGCM10|PECM20|PDAT10|A103OP|PCCT00|PFTM[12]0|PFFM20|OW19W[123]|OW20W1|PGJM10|PGAM10|PF[EF]M10|Reno[45] Z 5G|Reno5 Pro 5G|Reno[56] 5G|Find X[23]|Find N| R7sf| 1201|[56].*; (?:R7[gf])|OPD210[12]A?|OPD2201|PFZM10|PGIM10|A1603|A201OP|PESM10|PGBM10|PHA120|PGGM10|PHM110|PG[WX]110|PGU110|PHJ110|PCCM40|PHQ110|CHP1723|PGT110|PGEM10|RX17Neo|R15 Dream Mirror|R9 Plustm A|PGFM10|Reno5 K 5G)(?:[);/ ]|$)'
18006+
regex: '(?:OB-)?OPPO[ _]?([a-z0-9]+)|N1T|R8001|R820[16]|A101OP|OPG0[1-4]|A00[12]OP|(?:X90[07][0679]|U70[57]T?|X909T?|R(?:10[01]1|2001|201[07]|6007|7005|7007|80[13579]|81[13579]|82[01379]|83[013]|800[067]|8015|810[679]|811[13]|820[057]|15 Neo)[KLSTW]?|N520[79]|N5117|A33[wf]|A33fw|A37fw?|PAAM00|PAAT00|PAC[TM]00|R7kf|R7plus[fmt]?|A1601|CPH[0-9]{4}|CPH19(69|79|23|1[179])|PB(A[TM]00|CT10|BT30|CM[13]0|[FD]M00)|P(E[RFHG]M\d{2}|E[GH]T\d{2}|DAM10|ADM00|AF[TM]00|ADT00|AHM00|BBM[03]0|BBT00|BDT00|BFT00|[CB]E[MT]00|CA[MT]00|C[CDG]M00|CA[MT]10|[CD]PM00|CRM00|CDT00|CD[TM]10|CHM[013]0|CKM[08]0|CLM[15]0|DEM[13]0|DHM00|D[RK][TM]00|DPT00|DB[TM]00|DCM00|[CD]NM00|DVM00|DY[TM][12]0|DNT00|EA[TM]00|CRT01|EDM00)|PFDM00|PEG[MT]10|PEM[MT][02]0|PDCT00|PDET10|PDS[TM]00|PEC[MT]30|PE[QYPEXNLU]M00|PCHT30|PCRT00|PFGM00|PF[VU]M10|A102OP|PFCM00|PFJM10|PGCM10|PECM20|PDAT10|A103OP|PCCT00|PFTM[12]0|PFFM20|OW19W[123]|OW20W1|PGJM10|PGAM10|PF[EF]M10|Reno[45] Z 5G|Reno5 Pro 5G|Reno[56] 5G|Find X[23]|Find N| R7sf| 1201|[56].*; (?:R7[gf])|OPD210[12]A?|OPD2201|PFZM10|PGIM10|A1603|A201OP|PESM10|PGBM10|PHW110|PHA120|PGGM10|PHM110|PG[WX]110|PGU110|PHJ110|PCCM40|PHQ110|CHP1723|PGT110|PGEM10|RX17Neo|R15 Dream Mirror|R9 Plustm A|PGFM10|Reno5 K 5G)(?:[);/ ]|$)'
1800718007
device: 'smartphone'
1800818008
models:
1800918009
- regex: 'PCHM10(?:[);/ ]|$)'
@@ -18366,6 +18366,8 @@ OPPO:
1836618366
model: 'Reno 10X Zoom'
1836718367
- regex: 'PCCT00'
1836818368
model: 'Reno 10X'
18369+
- regex: 'PHW110'
18370+
model: 'Reno 10'
1836918371
- regex: 'CPH2531'
1837018372
model: 'Reno 10 5G'
1837118373
- regex: '(?:PCKM00|CPH1907)(?:[);/ ]|$)'
@@ -25460,7 +25462,7 @@ Zopo:
2546025462

2546125463
# Xiaomi
2546225464
Xiaomi:
25463-
regex: 'Xiaomi(?!/(?:Miui|Mint[ ])Browser)| ONC(?: Build|[;)])|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[AYL]|2209(?:5RA98C|116AG|129SC)|2212(?:0RN86[GI]|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|23076RN4BI|23043RP34[GI]'
25465+
regex: 'Xiaomi(?!/(?:Miui|Mint[ ])Browser)| ONC(?: Build|[;)])|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[AYL]|2209(?:5RA98C|116AG|129SC)|2212(?:0RN86[GI]|6RN91Y|ARNC4L|2RK93C|7RK46C)|2302(?:6RN54G|1RAA(?:EG|2Y)|8R(?:N4D[GI]|A60L|NCAG))|angelican|vnd_camellia|2304(?:9RAD8C|FPN6D[GC])|2303(?:0RAC7Y|CRA44A|ERA42L)|M1906G7G|Hongmi 4A|23046RP50C|M1912G7BC|23076RN4BI|23043RP34[GI]'
2546425466
device: 'smartphone'
2546525467
models:
2546625468
# specific smartphone models
@@ -25766,7 +25768,7 @@ Xiaomi:
2576625768
model: 'Redmi A1+'
2576725769
- regex: '220733S[GIL](?:[);/ ]|$)'
2576825770
model: 'Redmi A1'
25769-
- regex: '2302(?:8RN4DG|6RN54G)'
25771+
- regex: '2302(?:8RN4D[GI]|6RN54G)'
2577025772
model: 'Redmi A2'
2577125773
- regex: '23028RNCAG'
2577225774
model: 'Redmi A2+'
@@ -28949,10 +28951,10 @@ Ryte:
2894928951

2895028952
# Vontar
2895128953
Vontar:
28952-
regex: '(HK1 (?:Max|MINI\+?|PLUS|PRO)|KK MAX|VONTAR[ -](?:Z[58]|[VH]1|KIII|MX-4K|X[234]))(?:[);/ ]|$)'
28954+
regex: '(HK1 (?:Max|MINI\+?|PLUS|PRO)|KK MAX|VONTAR[ -](?:Z[58]|[VH]1|KIII|MX-4K|X[234])|H618)(?:[);/ ]|$)'
2895328955
device: 'tv'
2895428956
models:
28955-
- regex: 'VONTAR[ -](Z[58]|[VH]1|KIII|MX-4K|X[234])(?:[);/ ]|$)'
28957+
- regex: 'VONTAR[ -](Z[58]|[VH]1|KIII|MX-4K|X[234]|H618)(?:[);/ ]|$)'
2895628958
model: '$1'
2895728959
- regex: 'HK1 Max(?:[);/ ]|$)'
2895828960
model: 'HK1 Max'
@@ -34375,7 +34377,7 @@ Alps:
3437534377

3437634378
# Starwind (starwind.com.ru)
3437734379
Starwind:
34378-
regex: 'Smart_Starwind|(?:SW-LED(?:24SG303|32SB302|42SB300|40SG300|43SG30[20]|32SG30[012]|55UG400|50UB401))(?:[);/ ]|$)'
34380+
regex: 'Smart_Starwind|(?:SW-LED(?:24SG303|32SB302|42SB300|40SG300|43SG30[20]|43UB404|32SG30[012]|55UG400|50UB401))(?:[);/ ]|$)'
3437934381
device: 'tv'
3438034382
models:
3438134383
- regex: 'SW-LED(\d{2}[SU][BG]\d{3})'
@@ -36305,9 +36307,13 @@ Skyline:
3630536307

3630636308
# Hiberg (hiberg.ru)
3630736309
Hiberg:
36308-
regex: '(32Y_STV-R)(?:[);/ ]|$)'
36310+
regex: '(?:32Y_STV-R|HIBERG43YUHD)(?:[);/ ]|$)'
3630936311
device: 'tv'
36310-
model: '$1'
36312+
models:
36313+
- regex: 'HIBERG43YUHD'
36314+
model: '43Y UHD'
36315+
- regex: '(32Y_STV-R)'
36316+
model: '$1'
3631136317

3631236318
# Hartens
3631336319
Hartens:

0 commit comments

Comments
 (0)