Skip to content

Commit

Permalink
Improves detection for Fire TV devices (matomo-org#7891)
Browse files Browse the repository at this point in the history
  • Loading branch information
liviuconcioiu authored Nov 2, 2024
1 parent 668fd49 commit ff664bf
Show file tree
Hide file tree
Showing 2 changed files with 108 additions and 3 deletions.
90 changes: 90 additions & 0 deletions Tests/fixtures/tv-4.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3333,3 +3333,93 @@
model: Smart TV (2022)
os_family: Other Smart TV
browser_family: Chrome
-
user_agent: Mozilla/5.0 (Linux; Android 11; AFTDEC012E Build/RS8113.2338N; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.248 Mobile Safari/537.36
os:
name: Fire OS
version: "8"
platform: ""
client:
type: browser
name: Chrome Webview
version: 124.0.6367.248
engine: Blink
engine_version: 124.0.6367.248
device:
type: tv
brand: TCL
model: 4K Fire TV (2024)
os_family: Android
browser_family: Chrome
-
user_agent: Mozilla/5.0 (Linux; Android 9; AFT6E0FA) AppleWebKit/537.36 (KHTML, like Gecko) Silk/128.3.2 like Chrome/128.0.6613.146 Safari/537.36
os:
name: Fire OS
version: "7"
platform: ""
client:
type: browser
name: Mobile Silk
version: 128.3.2
engine: Blink
engine_version: 128.0.6613.146
device:
type: tv
brand: Toshiba
model: 32WF2F53DB
os_family: Android
browser_family: Chrome
-
user_agent: Mozilla/5.0 (Linux; Android 9; AFTKADE001) AppleWebKit/537.36 (KHTML, like Gecko) Silk/128.5.4 like Chrome/128.0.6613.194 Safari/537.36
os:
name: Fire OS
version: "7"
platform: ""
client:
type: browser
name: Mobile Silk
version: 128.5.4
engine: Blink
engine_version: 128.0.6613.194
device:
type: tv
brand: Amazon
model: Fire TV Omni QLED (2023)
os_family: Android
browser_family: Chrome
-
user_agent: Mozilla/5.0 (Linux; Android 9; AFTKAUK001 Build/PS7681.4384N; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/124.0.6367.248 Mobile Safari/537.36/8.5.0 (Linux;Android 9) ExoPlayerLib/2.6.1
os:
name: Fire OS
version: "7"
platform: ""
client:
type: browser
name: Chrome Webview
version: 124.0.6367.248
engine: Blink
engine_version: 124.0.6367.248
device:
type: tv
brand: Amazon
model: Fire TV 4-Series (2023)
os_family: Android
browser_family: Chrome
-
user_agent: Mozilla/5.0 (Linux; Android 9; AFTSHN01) AppleWebKit/537.36 (KHTML, like Gecko) Silk/128.6.1 like Chrome/128.0.6613.194 Safari/537.36
os:
name: Fire OS
version: "7"
platform: ""
client:
type: browser
name: Mobile Silk
version: 128.6.1
engine: Blink
engine_version: 128.0.6613.194
device:
type: tv
brand: Amazon
model: Fire TV HD (2023)
os_family: Android
browser_family: Chrome
21 changes: 18 additions & 3 deletions regexes/device/mobiles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10098,7 +10098,7 @@ Hasee:

# Toshiba
Toshiba:
regex: 'Toshiba|TSBNetTV/|portalmmm/[12]\.0 TS|(?:T-01C|T-0[12]D|IS04|IS11T|AT1S0|AT300SE|AFTBOXE1|AFTDCT31|AFTHA00[2-4]|AT(?:7-C|10-A|10[PL]E-A|100|200|270|300|330|374|400|470|500a?|503|570|703|830)|AFTKMST12|AFTBAMR311|SATELLITE (?:C655|L50-C|Pro L300|A100))(?:[);/ ]|$)'
regex: 'Toshiba|TSBNetTV/|portalmmm/[12]\.0 TS|(?:T-01C|T-0[12]D|IS04|IS11T|AT1S0|AT300SE|AFT6E0FA|AFTBOXE1|AFTDCT31|AFTHA00[2-4]|AT(?:7-C|10-A|10[PL]E-A|100|200|270|300|330|374|400|470|500a?|503|570|703|830)|AFTKMST12|AFTBAMR311|SATELLITE (?:C655|L50-C|Pro L300|A100))(?:[);/ ]|$)'
device: 'smartphone'
models:
# explicit smartphone models
Expand Down Expand Up @@ -10143,6 +10143,9 @@ Toshiba:
device: 'desktop'
model: 'Satellite $1'

- regex: 'AFT6E0FA(?:[);/ ]|$)'
device: 'tv'
model: '32WF2F53DB'
- regex: 'AFTBOXE1(?:[);/ ]|$)'
device: 'tv'
model: '65UF3D63DA'
Expand Down Expand Up @@ -21066,7 +21069,7 @@ Pentagram:

# Tcl (tcl.com)
TCL:
regex: 'TCL,|TCL[a-z0-9]+;|smarttv_AFTMM-TCL|AFTMD002|AFTSHN02|AFTMD001|TCL[_ -][a-z0-9]+|(?:TCL[_ -][^;/]+ Build)|(?:TCLGalaG60(?:\(9108A\))?|4163D|4187[DMU]|4188[CLRSVO]|5004S|5033TP|5087Z|5101A|5102[BKLMOP]|5107G|5124J|5130[JMEI]|5133MP|5133A|5148A|5152D|5159[AJ]|5164[AD]|5199I|6102[ADH]|6125[ADFH]|6127[AI]|6156[ADH]|6159[AK]|6165[AHS]|7040N|8491X|9048S|9060[GX]|9080G|9081X|9295G|9296[GQ]|A(?:50[2789]|600)DL|T(?:60[123]|701)DL|T(?:506D|671[EFGHO]|676[HJK]|766[AHJSU]|767[GHW]|770[BH]|771K|773O|774[BH]|775[BH]|776[HO]|779W|780H|781SPP|781S|781|782H|790[SY]|799[BH]|810[HS])|Percee TV|9183W|9198S|9309X2|9317X1|8[14]96G|916[016]G| 9061| 8182| 8167| 8095|BeyondTV\d?|UnionTV|T507U|5131[AG]|T610[KE]|T612B|9132[GS]|9137W|T430W|T431[DUQ]|T501[CL]|T768S|9494G|9460G|9466X|T60[79]DL)(?:_(?:RU|EEA|TR))?(?:[);/ ]|$)'
regex: 'TCL,|TCL[a-z0-9]+;|smarttv_AFTMM-TCL|AFTDEC012E|AFTMD002|AFTSHN02|AFTMD001|TCL[_ -][a-z0-9]+|(?:TCL[_ -][^;/]+ Build)|(?:TCLGalaG60(?:\(9108A\))?|4163D|4187[DMU]|4188[CLRSVO]|5004S|5033TP|5087Z|5101A|5102[BKLMOP]|5107G|5124J|5130[JMEI]|5133MP|5133A|5148A|5152D|5159[AJ]|5164[AD]|5199I|6102[ADH]|6125[ADFH]|6127[AI]|6156[ADH]|6159[AK]|6165[AHS]|7040N|8491X|9048S|9060[GX]|9080G|9081X|9295G|9296[GQ]|A(?:50[2789]|600)DL|T(?:60[123]|701)DL|T(?:506D|671[EFGHO]|676[HJK]|766[AHJSU]|767[GHW]|770[BH]|771K|773O|774[BH]|775[BH]|776[HO]|779W|780H|781SPP|781S|781|782H|790[SY]|799[BH]|810[HS])|Percee TV|9183W|9198S|9309X2|9317X1|8[14]96G|916[016]G| 9061| 8182| 8167| 8095|BeyondTV\d?|UnionTV|T507U|5131[AG]|T610[KE]|T612B|9132[GS]|9137W|T430W|T431[DUQ]|T501[CL]|T768S|9494G|9460G|9466X|T60[79]DL)(?:_(?:RU|EEA|TR))?(?:[);/ ]|$)'
device: 'smartphone'
models:
- regex: 'TCLGalaG60(?:\(9108A\))?(?:[);/ ]|$)'
Expand Down Expand Up @@ -21317,6 +21320,9 @@ TCL:
- regex: 'AFTMD001(?:[);/ ]|$)'
device: 'tv'
model: '4K Fire TV (2023)'
- regex: 'AFTDEC012E(?:[);/ ]|$)'
device: 'tv'
model: '4K Fire TV (2024)'

- regex: 'TCL,([a-z0-9_ \-]+),(?:wired|wireless)'
device: 'tv'
Expand Down Expand Up @@ -25151,7 +25157,7 @@ Amazon Basics:

# Kindle
Amazon:
regex: '(?:smarttv_)?(?:AFT[ABMNRST]|AFTSSS?|AFTANNA0|AFTGAZL|AFTMM|AFTK(?:A|M|RT)|AFTTI43|AFTTIFF43|AFTHA001|AFTKA(?:UK)?002|SD4930UR|AEO(?:AT|B[CP]|C[HNW]|HY|KN|TA)|KF(?:OT|ONWI|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|TRP?WI|SAW[IA]|GIWI|[KMR]AWI|MEWI|[MSTQ]UWI|SNWI|RAPWI))(?:[);/ _]|$)|Kindle|AlexaMediaPlayer|Amazon (?:Tate|Jem)|Silk/\d+\.\d+|Echo/1|.+FIRETVSTICK|Amazon;Echo'
regex: '(?:smarttv_)?(?:AFT[ABMNRST]|AFTSSS?|AFTANNA0|AFTGAZL|AFTMM|AFTK(?:A|M|RT)|AFTTI43|AFTTIFF43|AFTHA001|AFTKA(?:DE|UK)?00[12]|SD4930UR|AEO(?:AT|B[CP]|C[HNW]|HY|KN|TA)|KF(?:OT|ONWI|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|TRP?WI|SAW[IA]|GIWI|[KMR]AWI|MEWI|[MSTQ]UWI|SNWI|RAPWI))(?:[);/ _]|$)|Kindle|AlexaMediaPlayer|Amazon (?:Tate|Jem)|Silk/\d+\.\d+|Echo/1|.+FIRETVSTICK|Amazon;Echo'
device: 'tablet'
models:
- regex: '(?:smarttv_)?AFTA(?:[);/ _]|$)'
Expand All @@ -25169,6 +25175,9 @@ Amazon:
- regex: '(?:smarttv_)?AFTTI43'
model: 'Fire TV 4-Series (2021)'
device: 'tv'
- regex: '(?:smarttv_)?AFTKAUK001(?:[);/ _]|$)'
model: 'Fire TV 4-Series (2023)'
device: 'tv'
- regex: '(?:smarttv_)?AFTKA(?:UK)?002(?:[);/ _]|$)'
model: 'Fire TV 2-Series (2023)'
device: 'tv'
Expand All @@ -25181,6 +25190,9 @@ Amazon:
- regex: '(?:smarttv_)?AFTHA001(?:[);/ _]|$)' # Hisense or Toshiba
model: 'Fire TV 4K (2021-2022)'
device: 'tv'
- regex: '(?:smarttv_)?AFTSHN01(?:[);/ _]|$)' # TCL or Xiaomi
model: 'Fire TV HD (2023)'
device: 'tv'
- regex: '(?:smarttv_)?AFTB(?:[);/ _]|$)'
model: 'Fire TV (Gen 1)'
device: 'tv'
Expand All @@ -25193,6 +25205,9 @@ Amazon:
- regex: '(?:smarttv_)?AFTTIFF43(?:[);/ _]|$)'
model: 'Fire TV Omni QLED (2022)'
device: 'tv'
- regex: '(?:smarttv_)?AFTKADE001(?:[);/ _]|$)'
model: 'Fire TV Omni QLED (2023)'
device: 'tv'
- regex: '(?:smarttv_)?AFT[MST](?:[);/ _]|$)'
model: 'Fire TV Stick'
device: 'tv'
Expand Down

0 comments on commit ff664bf

Please sign in to comment.