Skip to content

Commit

Permalink
Adds detection for various apps and detect some devices(#6905)
Browse files Browse the repository at this point in the history
* Adds detection for MetaTrader and improves detection for M.T.T. brand
* Adds detection for Paint by Number
* Adds detection for ZEPETO
* Adds detection for Jungle Disk
* Adds detection for Nextcloud
* Improves detection for Teams
* Adds detection for GoNative
* Adds detection for Pandora
* Adds detection for Blackboard
* Adds detection for QQMusic
* Adds detection for eToro
* Adds detection for Avid Link
* Improves detection for Blackboard
* Adds detection for Facebook Audience Network
* Adds detection for Netflix
* Adds detection for Google Tag Manager
* Adds detection for Adobe Synchronizer
* Improves detection for Nextcloud
* Adds detection for BlueStacks
* Adds detection for PowerShell
* Adds detection for GlobalProtect
* Adds detection for Theyub
* Improve detection for Apple iPhone XS Max
* Improves detection for Apple iPhone 7
* Adds detection for Amazon Fire TV Stick 4K and improves detection for Fire OS
  • Loading branch information
liviuconcioiu committed Nov 11, 2021
1 parent fb56378 commit 5d1fa40
Show file tree
Hide file tree
Showing 8 changed files with 310 additions and 6 deletions.
138 changes: 138 additions & 0 deletions Tests/Parser/Client/fixtures/mobile_app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -827,3 +827,141 @@
type: mobile app
name: Bible KJV
version: 2.83.0
-
user_agent: MetaTrader 5 Terminal/5.2981 (Windows NT 10.0.19042; x64)
client:
type: mobile app
name: MetaTrader
version: "5.2981"
-
user_agent: ios/14.8 com.paint.bynumber/2.72.0
client:
type: mobile app
name: Paint by Number
version: 2.72.0
-
user_agent: ios.zepeto_global/3.6.2 (ios; U; iOS 14.7.1; en-CA; occ-CA; iPhone 11);ZEPETO
client:
type: mobile app
name: ZEPETO
version: 3.6.2
-
user_agent: Jungle Disk Workgroup HTTP/110 (Windows 10.0 64-bit)
client:
type: mobile app
name: Jungle Disk
version: ""
-
user_agent: Mozilla/5.0 (Android) Nextcloud-android/3.17.1
client:
type: mobile app
name: Nextcloud
version: 3.17.1
-
user_agent: Mozilla/5.0 (iPad; CPU OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 TeamsMobile-iOS
client:
type: mobile app
name: Teams
version: ""
-
user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 GoNativeIOS/1.0 gonative
client:
type: mobile app
name: GoNative
version: "1.0"
-
user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Pandora/2108.1.1
client:
type: mobile app
name: Pandora
version: 2108.1.1
-
user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Safari/605.1 Blackboard/6.9
client:
type: mobile app
name: Blackboard
version: "6.9"
-
user_agent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_8 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 QQMusic/10.18.0 Mskin/white Mcolor/22d59cff Bcolor/00000000 skinid[902] NetType/2G WebView/UIWebView Released[1] zh-Hans-JP DeviceModel/iPhone13,4 skin_css/skin2_1_902 Pixel/1284 FreeFlow/0 teenMode/0 nft_released/[1] FontMode/0] pixel/1284 model/iPhone13,4'
client:
type: mobile app
name: QQMusic
version: 10.18.0
-
user_agent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 etoro-cordova-app'
client:
type: mobile app
name: eToro
version: ""
-
user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.11.1 Chrome/65.0.3325.230 Safari/537.36 Avid Link Desktop App/20.4.0.1302
client:
type: mobile app
name: Avid Link
version: 20.4.0.1302
-
user_agent: Mozilla/5.0 (Linux; Android 11; SM-N981U Build/RP1A.200720.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.50 Mobile Safari/537.36 Blackboard/unspecified
client:
type: mobile app
name: Blackboard
version: ""
-
user_agent: 'Mozilla/5.0 (Linux; Android 11; SM-G973F Build/RP1A.200720.012; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile Safari/537.36 [FBAN/AudienceNetworkForAndroid;FBSN/Android;FBSV/11;FBAB/com.dopuz.klotski.riddle;FBAV/5.1701;FBBV/51701;FBVS/6.7.0;FBLC/en_GB]'
client:
type: mobile app
name: Facebook Audience Network
version: "5.1701"
-
user_agent: 'Gibbon/2020.2.2.0/2020.2.2.0: Netflix/2020.2.2.0 (DEVTYPE=NFANDROID2-PRV-FIRETVSTICK2018; CERTVER=0)'
client:
type: mobile app
name: Netflix
version: 2020.2.2.0
-
user_agent: GoogleTagManager/4.00 (Linux; U; Android 9; en-us; U693CL Build/U693CL_01.02.03)
client:
type: mobile app
name: Google Tag Manager
version: "4.00"
-
user_agent: Mozilla/3.0 (compatible; Adobe Synchronizer 21.7.20095)
client:
type: mobile app
name: Adobe Synchronizer
version: 21.7.20095
-
user_agent: Mozilla/5.0 (Linux) mirall/2.5.1
client:
type: mobile app
name: Nextcloud
version: 2.5.1
-
user_agent: BlueStacks/4.260.0.1020/87750099-46c9-43c0-8eb9-90c8687934ce gzip
client:
type: mobile app
name: BlueStacks
version: 4.260.0.1020
-
user_agent: BlueStacks 5/5.0.230.1001/a86919c0-9431-426e-8862-c346ce1e4f38 gzip
client:
type: mobile app
name: BlueStacks
version: 5.0.230.1001
-
user_agent: Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US) WindowsPowerShell/5.1.18362.1714
client:
type: mobile app
name: PowerShell
version: 5.1.18362.1714
-
user_agent: PAN GlobalProtect/5.2.6-87 (Microsoft Windows 10 Enterprise , 64-bit) Mozilla/5.0 (Windows NT 6.2; Win64; x64; Trident/7.0; rv:11.0) like Gecko
client:
type: mobile app
name: GlobalProtect
version: 5.2.6
-
user_agent: Theyub v7.4.8 IOS iPhoneXSMax CA en
client:
type: mobile app
name: Theyub
version: 7.4.8
8 changes: 8 additions & 0 deletions Tests/Parser/fixtures/oss.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2775,3 +2775,11 @@
version: ""
platform: ""
family: iOS
-
user_agent: 'Gibbon/2020.2.2.0/2020.2.2.0: Netflix/2020.2.2.0 (DEVTYPE=NFANDROID2-PRV-FIRETVSTICK2018; CERTVER=0)'
os:
name: Fire OS
short_name: FIR
version: "6"
platform: ""
family: Android
16 changes: 16 additions & 0 deletions Tests/fixtures/phablet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7364,3 +7364,19 @@
model: Mi Mix Fold
os_family: Android
browser_family: Chrome
-
user_agent: Theyub v7.4.8 IOS iPhoneXSMax CA en
os:
name: iOS
version: ""
platform: ""
client:
type: mobile app
name: Theyub
version: 7.4.8
device:
type: phablet
brand: Apple
model: iPhone XS Max
os_family: iOS
browser_family: Unknown
16 changes: 16 additions & 0 deletions Tests/fixtures/smartphone-3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10260,3 +10260,19 @@
model: Moto G 5G Plus
os_family: Android
browser_family: Chrome
-
user_agent: Theyub v7.4.8 IOS iphone7 GB en 1044620220
os:
name: iOS
version: ""
platform: ""
client:
type: mobile app
name: Theyub
version: 7.4.8
device:
type: smartphone
brand: Apple
model: iPhone 7
os_family: iOS
browser_family: Unknown
16 changes: 16 additions & 0 deletions Tests/fixtures/tv-1.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2567,3 +2567,19 @@
model: LEAP-S1
os_family: Android
browser_family: Chrome
-
user_agent: 'Gibbon/2020.2.2.0/2020.2.2.0: Netflix/2020.2.2.0 (DEVTYPE=NFANDROID2-PRV-FIRETVSTICK2018; CERTVER=0)'
os:
name: Fire OS
version: "6"
platform: ""
client:
type: mobile app
name: Netflix
version: 2020.2.2.0
device:
type: tv
brand: Amazon
model: Fire TV Stick 4K
os_family: Android
browser_family: Unknown
103 changes: 103 additions & 0 deletions regexes/client/mobile_apps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,11 @@
name: 'bPod'
version: ''

# Facebook Audience Network
- regex: 'AudienceNetworkForAndroid.+(?:FBAV)(?:[ /]([\d\.]+))?'
name: 'Facebook Audience Network'
version: '$1'

# Facebook Messenger Lite
- regex: 'MessengerLiteForiOS.(?:FBAV)(?:[ /]([\d\.]+))?'
name: 'Facebook Messenger Lite'
Expand Down Expand Up @@ -621,6 +626,10 @@
name: 'Teams'
version: '$1'

- regex: 'TeamsMobile-iOS'
name: 'Teams'
version: ''

# Streamlabs OBS (https://streamlabs.com/)
- regex: 'StreamlabsOBS/(\d+[\.\d]+)'
name: 'Streamlabs OBS'
Expand Down Expand Up @@ -864,3 +873,97 @@
- regex: 'com.meevii.bibleKJV/(\d+[\.\d]+)'
name: 'Bible KJV'
version: '$1'

# MetaTrader (https://www.metatrader5.com/)
- regex: 'MetaTrader 5 Terminal/(\d+[\.\d]+)'
name: 'MetaTrader'
version: '$1'

# Paint by Number (https://apps.apple.com/us/app/paint-by-number-coloring-games/id1420058690)
- regex: 'com.paint.bynumber/(\d+[\.\d]+)'
name: 'Paint by Number'
version: '$1'

# ZEPETO (https://apps.apple.com/app/id1350301428)
- regex: 'zepeto_global/(\d+[\.\d]+)'
name: 'ZEPETO'
version: '$1'

# Jungle Disk (https://www.jungledisk.com/)
- regex: 'Jungle Disk Workgroup HTTP'
name: 'Jungle Disk'
version: ''

# Nextcloud (https://play.google.com/store/apps/details?id=com.nextcloud.client)
- regex: '(?:mirall|Nextcloud-android)/(\d+[\.\d]+)'
name: 'Nextcloud'
version: '$1'

# GoNative (https://gonative.io/)
- regex: 'GoNativeIOS/(\d+[\.\d]+)'
name: 'GoNative'
version: '$1'

# Pandora (https://apps.apple.com/us/app/pandora-music-podcasts/id284035177)
- regex: 'Pandora/(\d+[\.\d]+)'
name: 'Pandora'
version: '$1'

# Blackboard (https://apps.apple.com/us/app/blackboard/id950424861)
- regex: 'Blackboard/(\d+[\.\d]+)'
name: 'Blackboard'
version: '$1'

- regex: 'Blackboard/unspecified'
name: 'Blackboard'
version: ''

# QQMusic (https://apps.apple.com/cn/app/qq%E9%9F%B3%E4%B9%90-%E5%90%AC%E6%88%91%E6%83%B3%E5%90%AC/id414603431)
- regex: 'QQMusic/(\d+[\.\d]+)'
name: 'QQMusic'
version: '$1'

# eToro (https://www.etoro.com/)
- regex: 'etoro-cordova-app'
name: 'eToro'
version: ''

# Avid Link (https://www.avid.com/products/avid-link)
- regex: 'Avid Link Desktop App/(\d+[\.\d]+)'
name: 'Avid Link'
version: '$1'

# Netflix (https://www.netflix.com/)
- regex: 'Netflix/(\d+[\.\d]+)'
name: 'Netflix'
version: '$1'

# Google Tag Manager (https://www.google.com/)
- regex: 'GoogleTagManager/(\d+[\.\d]+)'
name: 'Google Tag Manager'
version: '$1'

# Adobe Synchronizer (https://www.adobe.com/)
- regex: 'Adobe Synchronizer (\d+[\.\d]+)'
name: 'Adobe Synchronizer'
version: '$1'

# BlueStacks (https://www.bluestacks.com/)
- regex: 'BlueStacks(?: 5)?/(\d+[\.\d]+)'
name: 'BlueStacks'
version: '$1'

# PowerShell (https://www.microsoft.com/en-us/)
- regex: 'WindowsPowerShell/(\d+[\.\d]+)'
name: 'PowerShell'
version: '$1'

# GlobalProtect (https://www.paloaltonetworks.com/products/globalprotect)
- regex: 'PAN GlobalProtect/(\d+[\.\d]+)'
name: 'GlobalProtect'
version: '$1'

# Theyub
- regex: 'Theyub v(\d+[\.\d]+)'
name: 'Theyub'
version: '$1'
15 changes: 9 additions & 6 deletions regexes/device/mobiles.yml
Original file line number Diff line number Diff line change
Expand Up @@ -947,7 +947,7 @@ Apple:
- regex: '(?:Apple-|.+_)?iPh(?:one)?8[C,_]4| SE\)$'
model: 'iPhone SE'
device: 'smartphone'
- regex: '(?:Apple-|.+_)?iPh(?:one)?9[C,_][13]| 7\)$'
- regex: '(?:Apple-|.+_)?iPh(?:one)?9[C,_][13]|iphone7 | 7\)$'
model: 'iPhone 7'
device: 'smartphone'
- regex: '(?:Apple-|.+_)?iPh(?:one)?9[C,_][24]| 7PLUS\)$'
Expand All @@ -965,7 +965,7 @@ Apple:
- regex: '(?:Apple-|.+_)?iPh(?:one)?11[C,_][2]| XS\)$'
model: 'iPhone XS'
device: 'smartphone'
- regex: '(?:Apple-|.+_)?iPh(?:one)?11[C,_][46]| XSMAX\)$'
- regex: '(?:Apple-|.+_)?iPh(?:one)?11[C,_][46]|iPhoneXSMax| XSMAX\)$'
model: 'iPhone XS Max'
device: 'phablet'
- regex: '(?:Apple-|.+_)?iPh(?:one)?11[C,_][8]| XR\)$'
Expand Down Expand Up @@ -12405,13 +12405,13 @@ Myria:

# M.T.T.
M.T.T.:
regex: 'M.T.T.'
regex: 'M\.T\.T\.'
device: 'smartphone'
models:
- regex: 'M.T.T. ?Tablet([^;/]+)? Build'
- regex: 'M\.T\.T\. ?Tablet([^;/]+)? Build'
device: 'tablet'
model: 'Tablet$1'
- regex: 'M.T.T. ?([^;/]+) Build'
- regex: 'M\.T\.T\. ?([^;/]+) Build'
model: '$1'

# Navon
Expand Down Expand Up @@ -16996,7 +16996,7 @@ Anker:

# Kindle
Amazon:
regex: '(?:AFT[ABMNRST]|AFTSSS?|SD4930UR|AEO(?:BC|C[HW]|KN)|KF(?:OT|ONWI|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|TRP?WI|SAW[IA]|GIWI|KAWI|MAWI|MEWI|MUWI|SUWI))(?:[);/ ]|$)|Kindle|AlexaMediaPlayer|Amazon (?:Tate|Jem)|Silk/\d+\.\d+|Echo/1'
regex: '(?:AFT[ABMNRST]|AFTSSS?|SD4930UR|AEO(?:BC|C[HW]|KN)|KF(?:OT|ONWI|TT|JWI|JWA|[DFS]OWI|A[PRSU]WI|T[BH]WI|TRP?WI|SAW[IA]|GIWI|KAWI|MAWI|MEWI|MUWI|SUWI))(?:[);/ ]|$)|Kindle|AlexaMediaPlayer|Amazon (?:Tate|Jem)|Silk/\d+\.\d+|Echo/1|.+FIRETVSTICK'
device: 'tablet'
models:
- regex: 'AFTA'
Expand All @@ -17020,6 +17020,9 @@ Amazon:
- regex: 'AFT[MST]'
model: 'Fire TV stick'
device: 'tv'
- regex: '.+FIRETVSTICK2018'
model: 'Fire TV Stick 4K'
device: 'tv'
- regex: 'KFFOWI(?:[);/ ]|$)'
model: 'Fire 7"'
- regex: 'KFMUWI(?:[);/ ]|$)'
Expand Down
4 changes: 4 additions & 0 deletions regexes/oss.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,10 @@
name: 'Fire OS'
version: '$1'

- regex: '.+FIRETVSTICK2018'
name: 'Fire OS'
version: '6'

- regex: 'AFTSO001'
name: 'Fire OS'
version: '7'
Expand Down

0 comments on commit 5d1fa40

Please sign in to comment.