Skip to content

Commit

Permalink
Device detection and information about some devices (#49)
Browse files Browse the repository at this point in the history
* feat(device-info) added devices info for brand oukitel: c22, c15 pro, c16 pro, k10000

* feat(device-info) added devices info for brand oukitel: k10000 max, k10000 pro, k4000, k4000 lite

* Detect new brands: Trident, SUNWIND, OKSI, Taiga System and Detect devices for existing brands: TechPad, Santin, Realme, Meizu, Alcatel, Xiaomi, ONN, UMIDIGI, DEXP, Premio, Oukitel, Coolpad, Sky, Huawei, Stylo, Mobicel, Casper, Infinix, TCL, Qumo

* feat(device) detect new brand Trident model: A23 Max
feat(device) detect brand TechPad model: 3G-16
feat(device) detect brand Santin model: SHUGUO
feat(device) detect brand Realme model: C21Y (RMX3263)
feat(device) detect brand Meizu model: 16X, 16T
feat(device) detect brand Alcatel model: 1B (2020) (5002B)
feat(device) detect brand Xiaomi model: Black Shark 4 Pro (SHARK KSR-A0)
feat(device) detect brand ONN models: 100003561, 100011885, 100015685-A

feat(device) added test Samsung model: Galaxy A70 (SM-A7050)
feat(device) added test Alcatel model: 1SE Light (4087U, 4087U_EEA)

* feat(device) detect brand UMIDIGI models: A3S, A3X, A7S
feat(device) detect brand DEXP model: A355
feat(device) detect brand Premio model: Axe II
feat(device) detect brand Oukitel models: C19, C22
feat(device) detect brand Coolpad model: Legacy S SR (CP3320AS2)
feat(device) detect brand Sky model: Elite E55
feat(device) detect brand Huawei model: Honor Play 20 (KOZ-AL00)

* feat(device) detect new brand SUNWIND models: Sky 9 A102 3G, Sky 7 E200 3G
feat(device) detect brand Stylo model: S40 Vista
feat(device) detect brand Sky model: Black

* feat(device) detect brand Mobicel model: Titan 1, Zoom 1
feat(device) detect brand Casper model: VIA X20

* feat(device) detect new brand OKSI model: GEN 10
feat(device) detect new brand Taiga System TaigaPhone 1
feat(device) detect brand Infinix models: Hot 10i (PR652B), Hot 11S (X6812)
feat(device) detect brand UMIDIGI model: A11 Pro Max
feat(device) detect brand TCL models: 20E (6125F, 6125D)
feat(device) detect brand Alcatel model: 3L (6056H)
feat(device) detect brand DEXP model: G450
feat(device) detect brand Meizu model: 15 Plus
feat(device) detect brand Qumo model: Vega 803i
feat(device) detect brand Huawei model: MatePad Pro (MRX-W29)

Adds detection for Apple Watch Series 7
* Adds detection for Apple Watch Series 7 41mm
* Adds detection for Apple Watch Series 7 45mm

* feat(device) Improves detection for Apple devices (matomo-org#6900)
* Adds detection for Apple iPad Mini 6

* Adds detection for Apple iPad 9 10.2"

* Adds detection for Apple iPad Pro 5 12.9"

* Adds detection for Apple iPad Pro 3 11"

* Improves detection for Apple iPad Pro 3 11"

* Improves detection for Apple iPad Pro 3 11"

* Improves detection for Apple iPad Pro 5 12.9"

* Improves detection for Apple iPad Pro 5 12.9"

* Adds detection for Apple MacBook Pro 16" (2021)

* Adds detection for Apple MacBook Pro 14" (2021)

* Improves detection for Apple MacBook Pro 16" (2021)

* Improves detection for Apple MacBook Pro 14" (2021)

* Adds detection for Apple iMac 21.5" (2017)

* Adds detection for Apple iMac 27" (2017)

* Adds detection for Apple iMac 24" (2021)

* Fix detection for Apple iPad Mini 6 WiFi

* Fix detection for Apple iPad 9 10.2" WiFi

* Fix detection for Apple iPad Pro 3 11" WiFi

* Fix detection for Apple iPad Pro 5 12.9" WiFi

* Fix for Apple iPad Air 4 WiFi

* Adds detection for iMac Pro 27" (2017)

* feat(device-info) added devices info for brand we: a10, a50, f10, f20, l9, r4, v4, l3

* feat(device-info) added devices info for brand vivo: y21s, y60s, y75, y66i, y79, y12a

* feat(device-info) added devices info for brand vivo: y33s

* Improves detection for Hisense, Samsung and TCL devices (matomo-org#6901)
* Improves detection for Samsung Galaxy A32 5G
* Improves detection for TCL 10 SE
* Adds detection for Hisense V3
* Improves detection for Samsung Galaxy A72
* Improves detection for Samsung Galaxy A02
Improves Android, iPadOS, iOS, macOS version detection (matomo-org#6902)
* Improves iPadOS detection
* Improves version detection for iOS
* Improves version detection for Mac
* Improves iPadOS detection
* Improve iOS version detection
* Improves Mac version detection
* Improves detection for Apple devices
* Improves Android version detection
* Improve Mac platform detection
Improves detection for iOS, iPadOS, macOS, Android, Windows, Apple, Motorola, Samsung and Sony brands, and adds detection for Telco brand and various apps (matomo-org#6903)
* Adds detection for Mailbird
* Adds detection for Hik-Connect
* Improves detection for Microsoft Outlook
* Improve version detection for Pinterest
* Adds detection for Cortana
* Adds detection for Opera News
* Adds detection for Adobe Creative Cloud
* Improves detection for Skype for Business
* Adds detection for Flipp
* Adds detection for rekordbox
* Improves x64 platform detection
* Adds detection for Chrome Update
* Improves Windows detection
* Correct fixture
* Adds detection for Windows Push Notification Services
* Adds detection for Background Intelligent Transfer Service
* Improves Windows detection
* Adds detection for ESET Remote Administrator
* Improves Windows version detection
* Improves Windows version detection
* Adds detection for Epic Games Launcher
* Improves Windows detection
* Adds detection for WebDAV
* Adds detection for Battle.net
* Improves iPadOS detection
* Improves iOS detection
* Improves Mac detection
* Improves Mac detection
* Improves Apple detection
* Improves Mac detection
* Improves Mac detection
* Adds detection for Bookshelf
* Improves Android detection
* Adds detection for Samsung Chromebook 3
* Adds detection for Rave Social
* Adds detection for Word Cookies!
* Adds detection for Telpo TPS320
* Adds detection for Motorola Moto G Stylus (2021)
* Improves iOS detection
* Improves iOS detection
* Improves Sony detection
* Adds detection for Bible KJV
* Adds detection for Motorola Moto G Play (2021)

* feat(device-info) added device info for brand supra: m74c 4g

* Detect new brands: Glofiish, Polar, MyGica and Detect devices for existing brands: Cavion, Stylo, Mobicel, Hurricane, Proline, bq, Hisense, Archos, NOA, GOCLEVER, Blackview, Blu (matomo-org#6906)

* feat(device) detect new brand Glofiish model: G Pad U
feat(device) detect brand Cavion model: Base 5.0"
feat(device) detect brand Stylo model: S54 Zen (CPE91)
feat(device) detect brand Mobicel models: Clik, Fame, Fame DS, Fever Plus J, Beam
feat(device) detect brand Hurricane models: Dzire, Beam
feat(device) detect brand Proline model: H10888M

feat(device) added tests for brand Sony models: Xperia XA1 Ultra (G3212), Xperia XA1 (G3112)
feat(device) added test for brand Ark model: Benefit M9

* feat(device) detect brand bq model: Aquaris VS
feat(device) detect brand Hisense model: U601S Pro

* feat(device) detect new brand Polar model: P24L51T2CSM
feat(device) detect brand Archos model: 80 Oxygen
feat(device) detect brand Hurricane model: Vulcan
feat(device) detect brand NOA model: Sprint 4G
feat(device) detect brand GOCLEVER models: Quantum 470 Rugged Pro, Quantum 2 500 N

feat(device) added test brand Beeline model: Smart 8
feat(device) added test brand Archos models: 50 Saphir, 40 Power, 50 Platinum 4G
feat(device) added test brand Supra model: M84E 3G
feat(device) added tests brand Tecno Mobile models: L9, S6
feat(device) added tests brand Philips models: S257, S318, S386

* feat(device) detect new brand MyGica models: HDR Smart TV Box, HDR Quad Core Box, ATV1900, ATV495 Pro 16G, Quad Core Enjoy TV Box, ATV1960
feat(device) detect brand Blackview model: A8 Max
feat(device) detect brand Blu model: Life One X2 Mini

Adds detection for various apps and detect some devices(matomo-org#6905)
* 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

Adds detection for Cellution, Juniper Systems, Kazuna, Oculus, STRONG, Topelotek brands and improves detection for Alcatel, Amazon, ANS, Kocaso, LG, Motorola, Sony, UMIDIGI brands (matomo-org#6904)

* Improves detection for Sony Xperia 10 II
* Improves general detection for Sony and simplify regex
* Improves detection for Sony Xperia 1 III
* Adds detection for Kocaso M6200
* Improves detection for LG Q6
* Adds detection for Amazon Echo Show 8
* Adds detection for Cellution brand and Cellution Cosmas
* Adds detection for Cellution Cosmas V
* Adds detection for Kazuna brand and Kazuna eTalk MYFLIX
* Adds detection for Topelotek brand and Topelotek Kids
* Adds detection for STRONG and STRONG LEAP-S1
* Adds detection for Oculus brand and Oculus Go
* Adds detection for Oculus Quest
* Adds detection for Oculus Quest 2
* Improves detection for ANS and adds detection for ANS L51
* Adds detection for Juniper Systems brand and Juniper Systems CT8
* Improves detection for Alcatel 1B (2020)
* Improves detection for Alcatel 1B (2020)
* Improves detection for Alcatel 1T
* Adds detection for Alcatel Joy Tab 2
* Adds detection for UMIDIGI Power 3
* Improves detection for Oculus Quest 2
* Adds detection for Motorola Moto G Power (2021)
* Adds detection for Motorola Moto G 5G Plus

* feat(device-info) added device info for brand tecno mobile: s9, pova, pova 2, camon i4, camon iclick 2, d1, f4 pro

* feat(device-info) added device info for brand tecno mobile: camon 16, camon 16 premier, camon 16 pro,
 camon 16 s, camon 17, camon 15, spark 6 go, spark 6, camon 16 se, camon 15 pro

* feat(device-info) added device info for brand tecno mobile: spark 5 air,
 spark 6 air, camon i sky, camon 12 air, camon 11, camon 11 pro

* feat(device-info) added device info for brand tecno mobile: wx3 pro, pop 1, camon x, pop 3, f7, pouvoir 3 plus

* Adds detection for KRIP brand, improves detection for Alcatel, Blu, BMobile, Epik One, Gateway, Huawei, Hyundai, IKU Mobile, MobiWire, MicroMax, Positivo, Safaricom, TCL, UMIDIGI, Vivo brands and improves detection for Opera GX, Windows, x86, x64 platforms (matomo-org#6907)

* Improves detection for Opera GX
* Improves detection for x64 platform
* Improves detection for Windows and x86 platform
* Improves detection for Alcatel 3C (2019)
* Improves detection for Alcatel 1SE (2020)
* Improves detection for Alcatel 3L (2020)
* Adds detection for Alcatel 3T 10.1"
* Rename Alcatel 3T 10 to 3T 10" and move fixtures to tablet file
* Sort Alcatel regex
* Adds detection for TCL L10 Lite
* Improves detection for Alcatel 1B (2020)
* Improves detection for Alcatel 1V (2020)
* Adds detection for TCL L7
* Adds detection for Alcatel Joy Tab 2
* Adds detection for TCL Tab 8" 4G
* Adds detection for UMIDIGI A7 Pro
* Adds detection for UMIDIGI A9 Pro
* Adds detection for Alcatel Volta
* Adds detection for BMobile B60 Pro
* Adds detection for Hyundai E603
* Adds detection for Blu G50 Mega
* Adds detection for Blu G50 Plus
* Adds detection for Gateway Tablet 8"
* Adds detection for IKU Mobile A40
* Adds detection for MicroMax IN Note 1
* Adds detection for KRIP brand and KRIP K4m
* Adds detection for Epik One Leo HD
* Improves detection for Huawei Nova 8i
* Adds detection for Safaricom Neon Ray 2
* Adds detection for TCL 20 XE
* Adds detection for Alcatel 1 (2021)
* Adds detection for Vivo V21e 5G
* Adds detection for Vivo Y72 5G
* Adds detection for Vivo Y20A
* Adds detection for Vivo Y51
* Adds detection for MobiWire Smart E11
* Adds detection for Blu Studio X10
* Adds detection for Positivo Twist 4 Pro
* Improve regex for Opera GX

* feat(device-info) added device info for brand tecno mobile: camon cx, wx4, s6, l9, h5, droidpad 7g, droidpad 7d, droidpad 8d

* feat(device) generate indexes for devices

* feat(package) set next ver 1.4.1
  • Loading branch information
sanchezzzhak authored Nov 14, 2021
1 parent 1537bbc commit ac28b33
Show file tree
Hide file tree
Showing 34 changed files with 5,794 additions and 730 deletions.
24 changes: 13 additions & 11 deletions README.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "node-device-detector",
"version": "1.4.0",
"version": "1.4.1",
"description": "Nodejs device detector (port matomo-org/device-detector)",
"main": "index.js",
"scripts": {
Expand Down
15 changes: 15 additions & 0 deletions parser/device/brand-short.js
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ module.exports = {
'34': 'CellAllure',
'7C': 'Celcus',
'CE': 'Celkon',
'CG': 'Cellution',
'62': 'Centric',
'C2': 'Changhong',
'CH': 'Cherry Mobile',
Expand Down Expand Up @@ -337,6 +338,7 @@ module.exports = {
'1G': 'Gini',
'GI': 'Gionee',
'G4': 'Globex',
'U6': 'Glofiish',
'G7': 'GoGEN',
'GC': 'GOCLEVER',
'GB': 'Gol Mobile',
Expand Down Expand Up @@ -457,6 +459,7 @@ module.exports = {
'VJ': 'Jivi',
'JK': 'JKL',
'JO': 'Jolla',
'UJ': 'Juniper Systems',
'J5': 'Just5',
'JV': 'JVC',
'JS': 'Jesy',
Expand All @@ -469,6 +472,7 @@ module.exports = {
'K5': 'KATV1',
'K0': 'Kata',
'KZ': 'Kazam',
'9K': 'Kazuna',
'KD': 'KDDI',
'KS': 'Kempler & Strauss',
'K3': 'Keneksi',
Expand All @@ -494,6 +498,7 @@ module.exports = {
'K2': 'KRONO',
'KE': 'Krüger&Matz',
'5K': 'KREZ',
'WK': 'KRIP',
'KH': 'KT-Tech',
'Z6': 'KUBO',
'K8': 'Kuliao',
Expand Down Expand Up @@ -618,6 +623,7 @@ module.exports = {
'3T': 'MyTab',
'MG': 'MyWigo',
'J3': 'Mymaga',
'07': 'MyGica',
'08': 'Nabi',
'N7': 'National',
'NC': 'Navcity',
Expand Down Expand Up @@ -671,6 +677,7 @@ module.exports = {
'O7': 'Oale',
'OC': 'OASYS',
'OB': 'Obi',
'OQ': 'Oculus',
'O1': 'Odys',
'O9': 'Ok',
'OA': 'Okapia',
Expand All @@ -689,6 +696,7 @@ module.exports = {
'OK': 'Ouki',
'0O': 'OINOM',
'QK': 'OKWU',
'56': 'OKSI',
'OE': 'Oukitel',
'OU': 'OUYA',
'OV': 'Overmax',
Expand Down Expand Up @@ -729,6 +737,7 @@ module.exports = {
'0P': 'POCO',
'PV': 'Point of View',
'PL': 'Polaroid',
'Q6': 'Polar',
'PP': 'PolyPad',
'P5': 'Polytron',
'P2': 'Pomp',
Expand Down Expand Up @@ -874,6 +883,7 @@ module.exports = {
'S2': 'Stonex',
'ST': 'Storex',
'71': 'StrawBerry',
'96': 'STRONG',
'69': 'Stylo',
'9S': 'Sugar',
'06': 'Subor',
Expand All @@ -882,6 +892,7 @@ module.exports = {
'S3': 'SunVan',
'5S': 'Sunvell',
'5Y': 'Sunny',
'W8': 'SUNWIND',
'SU': 'SuperSonic',
'79': 'SuperTab',
'S5': 'Supra',
Expand All @@ -896,6 +907,7 @@ module.exports = {
'TK': 'Takara',
'73': 'Tambo',
'9N': 'Tanix',
'U5': 'Taiga System',
'T5': 'TB Touch',
'TC': 'TCL',
'T0': 'TD Systems',
Expand All @@ -914,6 +926,7 @@ module.exports = {
'T2': 'Telenor',
'TE': 'Telit',
'65': 'Telia',
'PW': 'Telpo',
'TD': 'Tesco',
'TA': 'Tesla',
'9T': 'Tetratab',
Expand All @@ -933,6 +946,7 @@ module.exports = {
'0T': 'Tone',
'TY': 'Tooky',
'T9': 'Top House',
'DK': 'Topelotek',
'42': 'Topway',
'TO': 'Toplux',
'7T': 'Torex',
Expand All @@ -942,6 +956,7 @@ module.exports = {
'T6': 'TrekStor',
'T3': 'Trevi',
'TJ': 'Trifone',
'Q5': 'Trident',
'4T': 'Tronsmart',
'11': 'True',
'JT': 'True Slim',
Expand Down
4 changes: 2 additions & 2 deletions parser/os-abstract-parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -102,10 +102,10 @@ class OsAbstractParser extends ParserAbstract {
if (this.getBaseRegExp('sh4').test(userAgent)) {
return 'SuperH';
}
if (this.getBaseRegExp('WOW64|x64|win64|amd64|x86_?64').test(userAgent)) {
if (this.getBaseRegExp('64-?bit|WOW64|(?:Intel)?x64|win64|amd64|x86_?64').test(userAgent)) {
return 'x64';
}
if (this.getBaseRegExp('(?:i[0-9]|x)86|i86pc').test(userAgent)) {
if (this.getBaseRegExp('.+32bit|.+win32|(?:i[0-9]|x)86|i86pc').test(userAgent)) {
return 'x86';
}

Expand Down
8 changes: 7 additions & 1 deletion regexes/client/browsers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1261,12 +1261,18 @@
version: ''

# Opera GX (https://www.opera.com/gx#start | http://ftp.opera.com/pub/opera_gx/)
- regex: 'OPRGX(?:/(\d+[\.\d]+))?'
- regex: 'Chrome/.+ OP(?:RG)?X(?:/(\d+[\.\d]+))?'
name: 'Opera GX'
version: '$1'
engine:
default: 'Blink'

- regex: 'OP(?:RG)?X(?:/(\d+[\.\d]+))?'
name: 'Opera GX'
version: '$1'
engine:
default: 'WebKit'

#Opera
- regex: '(?:Opera Tablet.*Version|Opera/.+Opera Mobi.+Version|Mobile.+OPR)/(\d+[\.\d]+)'
name: 'Opera Mobile'
Expand Down
Loading

0 comments on commit ac28b33

Please sign in to comment.