Compare commits

..

25 Commits

Author SHA1 Message Date
Faisal Salman
a6b0c165c4 Release as 0.7.26 2021-03-27 02:43:24 +07:00
Faisal Salman
999764cf36 Merge branch 'old-edge-fix' into develop 2021-03-27 02:29:18 +07:00
Faisal Salman
0e70fc4044 Add new device.vendor: Realme 2021-03-27 02:21:18 +07:00
Faisal Salman
3b703a6379 Refine device detection with more test cases 2021-03-27 00:45:26 +07:00
Faisal Salman
4f27489ccf Fix regexes that were marked as unsafe by safe-regex module 2021-03-26 21:17:35 +07:00
Faisal Salman
2cfd792d24 Fix #342 - Enforce all regexes to comply with safe-regex as a safeguard against possible ReDoS vulnerability 2021-03-26 19:54:32 +07:00
Faisal Salman
b406b5df2c Merge branch 'refactor-experimental' into develop 2021-03-26 16:38:34 +07:00
Faisal Salman
536b9e8d9d Add new device.vendor: Vivo 2021-03-26 15:54:09 +07:00
Faisal Salman
8d5685771d Refine some detection with more test cases 2021-03-25 23:18:46 +07:00
Faisal Salman
69a568ae49 Casually save some bytes 2021-03-25 15:45:18 +07:00
Faisal Salman
59d947dcab Detect ARMEABI as ARM 2021-03-25 01:56:19 +07:00
Faisal Salman
62cb5a2e54 Add some test cases for Samsung, Huawei, Xiaomi 2021-03-25 01:54:30 +07:00
Faisal Salman
cd61aef07d Add Device: Surface Duo 2021-03-25 00:13:24 +07:00
Faisal Salman
afe62e915d Add new OS: Raspbian 2021-03-25 00:06:12 +07:00
Faisal Salman
ef4eeadcd8 Refine some OS detection 2021-03-25 00:00:30 +07:00
Faisal Salman
a0b40be04f Simplify Huawei detection 2021-03-24 15:37:20 +07:00
Faisal Salman
73fb12b379 Add Electron 2021-03-24 02:15:50 +07:00
Faisal Salman
94d3550844 Fix #209 Add CHANGELOG 2021-03-24 01:10:51 +07:00
Faisal Salman
14e7dd3f86 Fix #448 Add AT&T & Vodafone devices 2021-03-24 00:44:14 +07:00
Faisal Salman
dff9746527 Fix #279 Remap old Edge versions <= 44 as suggested by @mikemaccana @callaginn 2021-03-24 00:09:49 +07:00
Faisal Salman
effd766e3b Fix #422 Add ARMHF in CPU Arch detection 2021-03-23 23:37:43 +07:00
Faisal Salman
c47f458586 Merge branch 'refactor-experimental' of github.com:faisalman/ua-parser-js into refactor-experimental 2021-03-23 20:12:46 +07:00
Faisal Salman
8c2b84fc31 Enforce maximum limit to user-agent input 2021-03-23 20:10:09 +07:00
Faisal Salman
e1905168a8 Fix #438 Add Zebra devices 2021-03-20 07:54:31 +07:00
Faisal Salman
fe5ca1de96 Fix #401 Rearrange the order of regexes to improve hit-rate performance 2021-03-19 14:54:51 +07:00
13 changed files with 1539 additions and 637 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "ua-parser-js",
"version": "0.7.25",
"version": "0.7.26",
"authors": [
"Faisal Salman <f@faisalman.com>"
],

3
changelog.md Normal file
View File

@@ -0,0 +1,3 @@
# UAParser.js Changelog
## Version 0.8.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
Package.describe({
name: 'faisalman:ua-parser-js',
version: '0.7.25',
version: '0.7.26',
summary: 'Lightweight JavaScript-based user-agent string parser',
git: 'https://github.com/faisalman/ua-parser-js.git',
documentation: 'readme.md'

View File

@@ -1,7 +1,7 @@
{
"title": "UAParser.js",
"name": "ua-parser-js",
"version": "0.7.25",
"version": "0.7.26",
"author": "Faisal Salman <f@faisalman.com> (http://faisalman.com)",
"description": "Lightweight JavaScript-based user-agent string parser",
"keywords": [
@@ -120,6 +120,7 @@
"jshint": "~2.12.0",
"mocha": "~8.2.0",
"requirejs": "^2.3.2",
"safe-regex": "^2.1.1",
"uglify-js": "~3.12.0",
"verup": "^1.3.x"
},

View File

@@ -38,10 +38,10 @@ JavaScript library to detect Browser, Engine, OS, CPU, and Device type/model fro
2345Explorer, 360 Browser, Amaya, Android Browser, Arora, Avant, Avast, AVG,
BIDUBrowser, Baidu, Basilisk, Blazer, Bolt, Brave, Bowser, Camino, Chimera,
Chrome Headless, Chrome WebView, Chrome, Chromium, Comodo Dragon, Dillo,
Dolphin, Doris, Edge, Epiphany, Facebook, Falkon, Fennec, Firebird, Firefox,
Flock, GSA, GoBrowser, ICE Browser, IE, IEMobile, IceApe, IceCat, IceDragon,
Iceape, Iceweasel, Instagram, Iridium, Iron, Jasmine, K-Meleon, Kindle,
Konqueror, LBBROWSER, Line, Links, Lunascape, Lynx, MIUI Browser,
Dolphin, Doris, Edge, Electron, Epiphany, Facebook, Falkon, Fennec, Firebird,
Firefox, Flock, GSA, GoBrowser, ICE Browser, IE, IEMobile, IceApe, IceCat,
IceDragon, Iceape, Iceweasel, Instagram, Iridium, Iron, Jasmine, K-Meleon,
Kindle, Konqueror, LBBROWSER, Line, Links, Lunascape, Lynx, MIUI Browser,
Maemo Browser, Maemo, Maxthon, MetaSr Midori, Minimo, Mobile Safari, Mosaic,
Mozilla, NetFront, NetSurf, Netfront, Netscape, NokiaBrowser, Oculus Browser,
OmniWeb, Opera Coast, Opera Mini, Opera Mobi, Opera Tablet, Opera, PaleMoon,
@@ -61,10 +61,11 @@ Vivaldi, Waterfox, WeChat, Weibo, Yandex, baidu, iCab, w3m, Whale Browser...
console, mobile, tablet, smarttv, wearable, embedded
# Possible 'device.vendor':
Acer, Alcatel, Amazon, Apple, Archos, Asus, BenQ, BlackBerry, Dell, Essential,
GeeksPhone, Google, HP, HTC, Huawei, Jolla, Lenovo, LG, Meizu, Microsoft, Motorola,
Nexian, Nintendo, Nokia, Nvidia, OnePlus, Ouya, Palm, Panasonic, Pebble, Polytron,
RIM, Samsung, Sharp, Siemens, Sony[Ericsson], Sprint, Xbox, Xiaomi, ZTE, ...
Acer, Alcatel, Amazon, Apple, Archos, ASUS, AT&T, BenQ, BlackBerry, Dell,
Essential, GeeksPhone, Google, HP, HTC, Huawei, Jolla, Lenovo, LG, Meizu,
Microsoft, Motorola, Nexian, Nintendo, Nokia, Nvidia, OnePlus, OPPO, Ouya,
Palm, Panasonic, Pebble, Polytron, Realme, RIM, Samsung, Sharp, Siemens,
Sony[Ericsson], Sprint, Vivo, Vodafone, Xbox, Xiaomi, Zebra, ZTE, ...
# 'device.model' determined dynamically
```
@@ -89,9 +90,9 @@ AIX, Amiga OS, Android, Arch, Bada, BeOS, BlackBerry, CentOS, Chromium OS,
Contiki, Fedora, Firefox OS, FreeBSD, Debian, DragonFly, Fuchsia, Gentoo, GNU,
Haiku, Hurd, iOS, Joli, KaiOS, Linpus, Linux, Mac OS, Mageia, Mandriva, MeeGo,
Minix, Mint, Morph OS, NetBSD, Nintendo, OpenBSD, OpenVMS, OS/2, Palm, PC-BSD,
PCLinuxOS, Plan9, PlayStation, QNX, RedHat, RIM Tablet OS, RISC OS, Sailfish,
Series40, Slackware, Solaris, SUSE, Symbian, Tizen, Ubuntu, Unix, VectorLinux,
WebOS, Windows [Phone/Mobile], Zenwalk, ...
PCLinuxOS, Plan9, PlayStation, QNX, Raspbian, RedHat, RIM Tablet OS, RISC OS,
Sailfish, Series40, Slackware, Solaris, SUSE, Symbian, Tizen, Ubuntu, Unix,
VectorLinux, WebOS, Windows [Phone/Mobile], Zenwalk, ...
# 'os.version' determined dynamically
```
@@ -101,7 +102,7 @@ WebOS, Windows [Phone/Mobile], Zenwalk, ...
```sh
# Possible 'cpu.architecture'
68k, amd64, arm[64], avr, ia[32/64], irix[64], mips[64], pa-risc, ppc, sparc[64]
68k, amd64, arm[64/hf], avr, ia[32/64], irix[64], mips[64], pa-risc, ppc, sparc[64]
```
* `getResult()`

File diff suppressed because it is too large Load Diff

View File

@@ -1109,13 +1109,33 @@
}
},
{
"desc" : "Microsoft Edge",
"desc" : "Microsoft Edge 0.1",
"ua" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0",
"expect" :
{
"name" : "Edge",
"version" : "12.0",
"major" : "12"
"version" : "0.1",
"major" : "0"
}
},
{
"desc" : "Microsoft Edge 42",
"ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134",
"expect" :
{
"name" : "Edge",
"version" : "42",
"major" : "42"
}
},
{
"desc" : "Microsoft Edge 44",
"ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763",
"expect" :
{
"name" : "Edge",
"version" : "44",
"major" : "44"
}
},
{
@@ -1303,5 +1323,15 @@
"version" : "2.6.90.14",
"major" : "2"
}
},
{
"desc" : "Electron",
"ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Atom/1.41.0 Chrome/69.0.3497.128 Electron/4.2.7 Safari/537.36",
"expect" :
{
"name" : "Electron",
"version" : "4.2.7",
"major" : "4"
}
}
]

View File

@@ -40,7 +40,15 @@
}
},
{
"desc" : "ARMv6",
"desc" : "ARM",
"ua" : "Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 635) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537",
"expect" :
{
"architecture" : "arm"
}
},
{
"desc" : "ARMv61",
"ua" : "Mozilla/5.0 (X11; U; Linux armv61; en-US; rv:1.9.1b2pre) Gecko/20081015 Fennec/1.0a1",
"expect" :
{
@@ -49,12 +57,52 @@
},
{
"desc" : "ARMv7",
"ua" : "Mozilla/5.0 (Linux ARMv7) WebKitGTK+/3.4.9 vimprobable2",
"expect" :
{
"architecture" : "arm"
}
},
{
"desc" : "ARMv7l",
"ua" : "Mozilla/5.0 (SMART-TV; X11; Linux armv7l) AppleWebKit/537.42 (KHTML, like Gecko) Chromium/25.0.1349.2 Chrome/25.0.1349.2 Safari/537.42",
"expect" :
{
"architecture" : "arm"
}
},
{
"desc" : "ARMv7l",
"ua" : "Mozilla/5.0 (X11; CrOS armv7l 9765.85.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.123 Safari/537.36",
"expect" :
{
"architecture" : "arm"
}
},
{
"desc" : "ARMEABI",
"ua" : "[FBAN/FB4A;FBAV/237.0.0.44.120;FBBV/170693408;FBDM/{density=1.75,width=720,height=1280};FBLC/en_US;FBRV/172067074;FBCR/ ;FBMF/samsung;FBBD/samsung;FBPN/com.facebook.katana;FBDV/SM-S367VL;FBSV/9;FBBK/1;FBOP/19;FBCA/armeabi-v7a:armeabi;]",
"expect" :
{
"architecture" : "arm"
}
},
{
"desc" : "ARMv8",
"ua" : "Mozilla/5.0 (X11; Linux armv8l; rv:45.0) Gecko/20100101 Firefox/45.0",
"expect" :
{
"architecture" : "arm64"
}
},
{
"desc" : "AARCH64",
"ua" : "Mozilla/5.0 (X11; CrOS aarch64 13310.93.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.133 Safari/537.36",
"expect" :
{
"architecture" : "arm64"
}
},
{
"desc" : "Pocket PC",
"ua" : "Opera/9.7 (Windows Mobile; PPC; Opera Mobi/35166; U; en) Presto/2.2.1",
@@ -95,6 +143,14 @@
"architecture" : "sparc"
}
},
{
"desc" : "sparc64",
"ua" : "ELinks (0.4.3; NetBSD 3.0.2PATCH sparc64; 141x19)",
"expect" :
{
"architecture" : "sparc64"
}
},
{
"desc" : "QuickTime",
"ua" : "QuickTime/7.5.6 (qtver=7.5.6;cpu=IA32;os=Mac 10.5.8)",
@@ -110,5 +166,13 @@
{
"architecture" : "amd64"
}
},
{
"desc" : "IRIX64",
"ua" : "Mozilla/4.8C-SGI [en] (X11; U; IRIX64 6.5 IP27",
"expect" :
{
"architecture" : "irix64"
}
}
]

View File

@@ -1,30 +1,129 @@
[{
"desc": "Asus Nexus 7",
"desc": "ASUS Nexus 7",
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; Nexus 7 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.99 Safari/537.36",
"expect": {
"vendor": "Asus",
"vendor": "ASUS",
"model": "Nexus 7",
"type": "tablet"
}
},
{
"desc": "Asus Padfone",
"desc": "ASUS Padfone",
"ua": "Mozilla/5.0 (Linux; Android 4.1.1; PadFone 2 Build/JRO03L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.117 Safari/537.36",
"expect": {
"vendor": "Asus",
"vendor": "ASUS",
"model": "PadFone",
"type": "tablet"
}
},
{
"desc": "Asus ZenPad 10",
"desc": "ASUS ZenPad 10",
"ua": "Mozilla/5.0 (Linux; Android 6.0; P00C Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Safari/537.36",
"expect": {
"vendor": "Asus",
"vendor": "ASUS",
"model": "P00C",
"type": "tablet"
}
},
{
"desc": "ASUS ROG",
"ua": "Mozilla/5.0 (Linux; Android 8.1; ZS600KL Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.126 Mobile Safari/537.36",
"expect": {
"vendor": "ASUS",
"model": "ZS600KL",
"type": "mobile"
}
},
{
"desc": "ASUS ROG II",
"ua": "Mozilla/5.0 (Linux; Android 9; ASUS_I001DA Build/PKQ1.190414.001; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/74.0.3729.136 Mobile Safari/537.36",
"expect": {
"vendor": "ASUS",
"model": "I001DA",
"type": "mobile"
}
},
{
"desc": "ASUS Zenfone 2",
"ua": "Mozilla/5.0 (Linux; Android 5.0; ASUS ZenFone 2 Build/LRX22C) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile Safari/537.36",
"expect": {
"vendor": "ASUS",
"model": "ZenFone 2",
"type": "mobile"
}
},
{
"desc": "ASUS Zenfone 3 Deluxe",
"ua": "Mozilla/5.0 (Linux; Android 6.0; ASUS_Z016D Build/MXB48T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.132 Mobile Safari/537.36",
"expect": {
"vendor": "ASUS",
"model": "Z016D",
"type": "mobile"
}
},
{
"desc": "ASUS Zenfone 5",
"ua": "Mozilla/5.0 (Linux; Android 8.0; ZE620KL Build/OPR1.170623.032) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.158 Mobile Safari/537.36",
"expect": {
"vendor": "ASUS",
"model": "ZE620KL",
"type": "mobile"
}
},
{
"desc": "ASUS Zenfone 7",
"ua": "Mozilla/5.0 (Linux; Android 10; ASUS_I002D) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.81 Mobile Safari/537.36",
"expect": {
"vendor": "ASUS",
"model": "I002D",
"type": "mobile"
}
},
{
"desc": "ASUS Zenfone 7 Pro",
"ua": "Mozilla/5.0 (Linux; Android 10; ZS671KS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.72 Mobile Safari/537.36",
"expect": {
"vendor": "ASUS",
"model": "ZS671KS",
"type": "mobile"
}
},
{
"desc": "ASUS Zenfone Max Pro (M1)",
"ua": "Mozilla/5.0 (Linux; Android 8.1; ASUS_X00TD Build/OPM1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36",
"expect": {
"vendor": "ASUS",
"model": "X00TD",
"type": "mobile"
}
},
{
"desc": "ASUS Zenfone Max M2",
"ua": "Mozilla/5.0 (Linux; Android 8.1; ASUS_X01AD) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Mobile Safari/537.36",
"expect": {
"vendor": "ASUS",
"model": "X01AD",
"type": "mobile"
}
},
{
"desc": "ASUS Zenfone Max Pro M2",
"ua": "Mozilla/5.0 (Linux; Android 8.1; ASUS_X01BDA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Mobile Safari/537.36",
"expect": {
"vendor": "ASUS",
"model": "X01BDA",
"type": "mobile"
}
},
{
"desc": "ASUS Zenfone Go",
"ua": "Mozilla/5.0 (Linux; Android 6.0; ASUS_X009DA Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Mobile Safari/537.36",
"expect": {
"vendor": "ASUS",
"model": "X009DA",
"type": "mobile"
}
},
{
"desc": "Acer Iconia A1-810",
"ua": "Mozilla/5.0 (Linux; Android 4.2.2; A1-810 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Safari/537.36",
@@ -65,8 +164,8 @@
"desc": "HTC Evo Shift 4G",
"ua": "Mozilla/5.0 (Linux; U; Android 2.3.4; en-us; Sprint APA7373KT Build/GRJ22) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0",
"expect": {
"vendor": "HTC",
"model": "Evo Shift 4G",
"vendor": "Sprint",
"model": "APA7373KT",
"type": "mobile"
}
},
@@ -124,6 +223,15 @@
"type": "tablet"
}
},
{
"desc": "iPad Air",
"ua": "Mozilla/5.0 (iPad; CPU OS 12_4_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPad4,1;FBMD/iPad;FBSN/iOS;FBSV/12.4.5;FBSS/2;FBID/tablet;FBLC/en_US;FBOP/5;FBCR/]",
"expect": {
"vendor": "Apple",
"model": "iPad",
"type": "tablet"
}
},
{
"desc": "iPod",
"ua": "Mozilla/5.0 (iPod touch; CPU iPhone OS 7_0_4 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11B554a Safari/9537.53",
@@ -160,6 +268,15 @@
"type": "tablet"
}
},
{
"desc": "LG K500",
"ua": "Mozilla/5.0 (Linux; Android 6.0.1; LG-K500 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36",
"expect": {
"vendor": "LG",
"model": "K500",
"type": "mobile"
}
},
{
"desc": "LG Nexus 4",
"ua": "Mozilla/5.0 (Linux; Android 4.2.1; Nexus 4 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19",
@@ -169,6 +286,15 @@
"type": "mobile"
}
},
{
"desc": "LG Nexus 4",
"ua": "Mozilla/5.0 (Linux; U; Android 4.3; en-us; Google Nexus 4 - 4.3 - API 18 - 768x1280 Build/JLS36G) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
"expect": {
"vendor": "LG",
"model": "Nexus 4",
"type": "mobile"
}
},
{
"desc": "LG Nexus 5",
"ua": "Mozilla/5.0 (Linux; Android 4.2.1; en-us; Nexus 5 Build/JOP40D) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19",
@@ -214,6 +340,15 @@
"type": "mobile"
}
},
{
"desc": "Microsoft Surface Duo",
"ua": "Dalvik/2.1.0 (Linux; U; Android 10; Surface Duo Build/2020.1014.61)",
"expect": {
"vendor": "Microsoft",
"model": "Surface Duo",
"type": "tablet"
}
},
{
"desc": "Motorola Moto X",
"ua": "Mozilla/5.0 (Linux; Android 4.4.4; XT1097 Build/KXE21.187-38) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.109 Mobile Safari/537.36",
@@ -271,7 +406,34 @@
}
},
{
"desc": "Motorola Droid RAZR 4G",
"desc": "iPhone SE",
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone8,4;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]",
"expect": {
"vendor": "Apple",
"model": "iPhone",
"type": "mobile"
}
},
{
"desc": "iPhone 11 Pro Max",
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone12,5;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/3;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]",
"expect": {
"vendor": "Apple",
"model": "iPhone",
"type": "mobile"
}
},
{
"desc": "iPhone XS",
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 [FBAN/FBIOS;FBDV/iPhone11,2;FBMD/iPhone;FBSN/iOS;FBSV/13.3.1;FBSS/3;FBID/phone;FBLC/en_US;FBOP/5;FBCR/]",
"expect": {
"vendor": "Apple",
"model": "iPhone",
"type": "mobile"
}
},
{
"desc": "iPod touch",
"ua": "Mozilla/5.0 (iPod touch; CPU iPhone OS 7_0_2 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A501 Safari/9537.53",
"expect": {
"vendor": "Apple",
@@ -333,6 +495,15 @@
"type": "mobile"
}
},
{
"desc": "Nokia N9",
"ua": "Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13",
"expect": {
"vendor": "Nokia",
"model": "N9",
"type": "mobile"
}
},
{
"desc": "OnePlus One",
"ua": "Mozilla/5.0 (Linux; Android 4.4.4; A0001 Build/KTU84Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.59 Mobile Safari/537.36",
@@ -342,6 +513,15 @@
"type": "mobile"
}
},
{
"desc": "OnePlus One",
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; OnePlus One A0001 Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.117 Mobile Safari/537.36",
"expect": {
"vendor": "OnePlus",
"model": "1",
"type": "mobile"
}
},
{
"desc": "OnePlus 3",
"ua": "Mozilla/5.0 (Linux; Android 7.1.1; ONEPLUS A3000 Build/NMF26F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.98 Mobile Safari/537.36",
@@ -369,6 +549,51 @@
"type": "mobile"
}
},
{
"desc": "OnePlus 8T",
"ua": "Mozilla/5.0 (Linux; Android 11; KB2005) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36",
"expect": {
"vendor": "OnePlus",
"model": "KB2005",
"type": "mobile"
}
},
{
"desc": "OnePlus 8 Pro",
"ua": "Mozilla/5.0 (Linux; Android 10; IN2025) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.119 Mobile Safari/537.36",
"expect": {
"vendor": "OnePlus",
"model": "IN2025",
"type": "mobile"
}
},
{
"desc": "OnePlus Nord N100",
"ua": "Mozilla/5.0 (Linux; Android 10; BE2015 Build/QKQ1.200719.002; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36",
"expect": {
"vendor": "OnePlus",
"model": "BE2015",
"type": "mobile"
}
},
{
"desc": "OnePlus Nord N10 5G",
"ua": "Mozilla/5.0 (Linux; Android 10; BE2029) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.185 Mobile Safari/537.36",
"expect": {
"vendor": "OnePlus",
"model": "BE2029",
"type": "mobile"
}
},
{
"desc": "OPPO Neo",
"ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; R831T Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 OppoBrowser/3.3.2 Mobile Safari/534.30",
"expect": {
"vendor": "OPPO",
"model": "R831T",
"type": "mobile"
}
},
{
"desc": "OPPO R7s",
"ua": "Mozilla/5.0 (Linux; U; Android 4.4.4; zh-cn; OPPO R7s Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 Chrome/37.0.0.0 MQQBrowser/7.1 Mobile Safari/537.36",
@@ -378,6 +603,105 @@
"type": "mobile"
}
},
{
"desc": "OPPO A3s",
"ua": "Mozilla/5.0 (Linux; Android 8.1; CPH1803 Build/OPM1.171019.026; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 Mobile Safari/537.36",
"expect": {
"vendor": "OPPO",
"model": "CPH1803",
"type": "mobile"
}
},
{
"desc": "OPPO A12",
"ua": "Mozilla/5.0 (Linux; Android 9; CPH2083) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.116 Mobile Safari/537.36",
"expect": {
"vendor": "OPPO",
"model": "CPH2083",
"type": "mobile"
}
},
{
"desc": "OPPO Reno",
"ua": "Mozilla/5.0 (Linux; Android 9; PCAT00 Build/PKQ1.190101.001; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Mobile Safari/537.36",
"expect": {
"vendor": "OPPO",
"model": "PCAT00",
"type": "mobile"
}
},
{
"desc": "OPPO Reno3 Pro 5G",
"ua": "Mozilla/5.0 (Linux; Android 10; PCLM50) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.117 Mobile Safari/537.36",
"expect": {
"vendor": "OPPO",
"model": "PCLM50",
"type": "mobile"
}
},
{
"desc": "OPPO Reno4 SE",
"ua": "Mozilla/5.0 (Linux; U; Android 10; xx-xx; PEAM00 Build/QP1A.190711.020) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.80 Mobile Safari/537.36",
"expect": {
"vendor": "OPPO",
"model": "PEAM00",
"type": "mobile"
}
},
{
"desc": "OPPO Reno4 5G",
"ua": "Mozilla/5.0 (Linux; Android 10; PDPM00 Build/QKQ1.200216.002; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36",
"expect": {
"vendor": "OPPO",
"model": "PDPM00",
"type": "mobile"
}
},
{
"desc": "OPPO Reno4 Pro 5G",
"ua": "Mozilla/5.0 (Linux; U; Android 10; xx-xx; PDNT00 Build/QKQ1.200216.002) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.80 Mobile Safari/537.36",
"expect": {
"vendor": "OPPO",
"model": "PDNT00",
"type": "mobile"
}
},
{
"desc": "OPPO Find X",
"ua": "Mozilla/5.0 (Linux; Android 8.1; PAFM00 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Mobile Safari/537.36",
"expect": {
"vendor": "OPPO",
"model": "PAFM00",
"type": "mobile"
}
},
{
"desc": "OPPO Find 7a",
"ua": "Mozilla/5.0 (Linux; U; Android 4.3; xx-xx; X9007 Build/JLS36C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
"expect": {
"vendor": "OPPO",
"model": "X9007",
"type": "mobile"
}
},
{
"desc": "Realme C1",
"ua": "Mozilla/5.0 (Linux; Android 8.1; RMX1811 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.126 Mobile Safari/537.36",
"expect": {
"vendor": "Realme",
"model": "RMX1811",
"type": "mobile"
}
},
{
"desc": "Realme Narzo 20",
"ua": "Mozilla/5.0 (Linux; U; Android 10; xx-xx; RMX2193 Build/QP1A.190711.020) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.80 Mobile Safari/537.36",
"expect": {
"vendor": "Realme",
"model": "RMX2193",
"type": "mobile"
}
},
{
"desc": "Philips SmartTV",
"ua": "Opera/9.80 HbbTV/1.1.1 (; Philips; ; ; ; ) NETTV/4.0.2; en) Version/11.60",
@@ -406,12 +730,66 @@
}
},
{
"desc": "Samsung Galaxy Note 8",
"ua": "Mozilla/5.0 (Linux; Android 4.2.2; GT-N5100 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.141 Safari/537.36",
"desc": "Samsung Galaxy A21s",
"ua": "Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-A217F) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/11.0 Chrome/75.0.3770.143 Mobile Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "GT-N5100",
"type": "tablet"
"model": "SM-A217F",
"type": "mobile"
}
},
{
"desc": "Samsung Galaxy A31",
"ua": "Mozilla/5.0 (Linux; Android 10; SM-A315G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-A315G",
"type": "mobile"
}
},
{
"desc": "Samsung Galaxy A50",
"ua": "Mozilla/5.0 (Linux; Android 9; SM-A505F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.105 Mobile Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-A505F",
"type": "mobile"
}
},
{
"desc": "Samsung Galaxy A80",
"ua": "Mozilla/5.0 (Linux; Android 9; SM-A805F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.112 Mobile Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-A805F",
"type": "mobile"
}
},
{
"desc": "Samsung Galaxy Fold",
"ua": "Mozilla/5.0 (Linux; Android 9; SAMSUNG SM-F900U Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/9.2 Chrome/67.0.3396.87 Mobile Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-F900U",
"type": "mobile"
}
},
{
"desc": "Samsung Galaxy S10E",
"ua": "Mozilla/5.0 (Linux; Android 9; SM-G970F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Mobile Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-G970F",
"type": "mobile"
}
},
{
"desc": "Samsung Galaxy Note 10+",
"ua": "Mozilla/5.0 (Linux; Android 9; SM-N976V) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.89 Mobile Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-N976V",
"type": "mobile"
}
},
{
@@ -423,6 +801,15 @@
"type": "mobile"
}
},
{
"desc": "Samsung Galaxy Note 8",
"ua": "Mozilla/5.0 (Linux; Android 4.2.2; GT-N5100 Build/JDQ39) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.141 Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "GT-N5100",
"type": "tablet"
}
},
{
"desc": "Samsung SM-T231",
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-T231 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
@@ -442,7 +829,16 @@
}
},
{
"desc": "Samsung SM-T700",
"desc": "Samsung Galaxy Tab S7",
"ua": "Mozilla/5.0 (Linux; Android 10; SM-T870) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-T870",
"type": "tablet"
}
},
{
"desc": "Samsung Galaxy Tab S",
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-T700 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
"expect": {
"vendor": "Samsung",
@@ -451,7 +847,7 @@
}
},
{
"desc": "Samsung SM-T520",
"desc": "Samsung Galaxy Tab Pro 10.1",
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; SM-T520 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.135 Safari/537.36",
"expect": {
"vendor": "Samsung",
@@ -459,15 +855,6 @@
"type": "tablet"
}
},
{
"desc": "Samsung SmartTV2011",
"ua": "HbbTV/1.1.1 (;;;;;) Maple;2011",
"expect": {
"vendor": "Samsung",
"model": "SmartTV2011",
"type": "smarttv"
}
},
{
"desc": "Samsung Note 10.1",
"ua": "Mozilla/5.0 (Linux; Android 5.1.1; SM-P605) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36",
@@ -477,6 +864,15 @@
"type": "tablet"
}
},
{
"desc": "Samsung SmartTV2011",
"ua": "HbbTV/1.1.1 (;;;;;) Maple;2011",
"expect": {
"vendor": "Samsung",
"model": "SmartTV2011",
"type": "smarttv"
}
},
{
"desc": "Samsung SmartTV2012",
"ua": "HbbTV/1.1.1 (;Samsung;SmartTV2012;;;) WebKit",
@@ -738,6 +1134,15 @@
"type": "tablet"
}
},
{
"desc": "Xiaomi POCO X2",
"ua": "Mozilla/5.0 (Linux; Android 10; POCO X2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
"expect": {
"vendor": "Xiaomi",
"model": "POCO X2",
"type": "mobile"
}
},
{
"desc": "Xiaomi Redmi 4A",
"ua": "Mozilla/5.0 (Linux; Android 6.0; Redmi 4A Build/MMB29M; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/56.0.2924.87 Mobile Safari/537.36",
@@ -801,6 +1206,15 @@
"type": "console"
}
},
{
"desc": "PlayStation Vita",
"ua": "Mozilla/5.0 (PlayStation Vita 3.52) AppleWebKit/537.73 (KHTML, like Gecko) Silk/3.2",
"expect": {
"vendor": "Sony",
"model": "PlayStation Vita",
"type": "console"
}
},
{
"desc": "Nintendo Switch",
"ua": "Mozilla/5.0 (Nintendo Switch; WifiWebAuthApplet) AppleWebKit/606.4 (KHTML, like Gecko) NF/6.0.1.15.4 NintendoBrowser/5.1.0.20393",
@@ -810,6 +1224,42 @@
"type": "console"
}
},
{
"desc": "Nintendo WiiU",
"ua": "Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.9 NintendoBrowser/4.2.0.11146.EU",
"expect": {
"vendor": "Nintendo",
"model": "WiiU",
"type": "console"
}
},
{
"desc": "Nintendo Wii",
"ua": "Opera/9.10 (Nintendo Wii; U; ; 1621; en)",
"expect": {
"vendor": "Nintendo",
"model": "Wii",
"type": "console"
}
},
{
"desc": "Nintendo 3DS",
"ua": "Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7610.EU",
"expect": {
"vendor": "Nintendo",
"model": "3DS",
"type": "console"
}
},
{
"desc": "Nintendo 3DS",
"ua": "Mozilla/5.0 (New Nintendo 3DS like iPhone) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.0.5.15 Mobile NintendoBrowser/1.3.10126.EU",
"expect": {
"vendor": "Nintendo",
"model": "3DS",
"type": "console"
}
},
{
"desc": "Galaxy Nexus",
"ua": "Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76B) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.133 Mobile Safari/535.19",
@@ -1008,6 +1458,15 @@
"type": "mobile"
}
},
{
"desc": "Google Pixel 4a",
"ua": "Mozilla/5.0 (Linux; Android 10; Pixel 4a) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.83 Mobile Safari/537.36",
"expect": {
"vendor": "Google",
"model": "Pixel 4a",
"type": "mobile"
}
},
{
"desc": "Google Pixel 4 XL",
"ua": "Mozilla/5.0 (Linux; Android 10; Pixel 4 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36",
@@ -1017,6 +1476,15 @@
"type": "mobile"
}
},
{
"desc": "Google Pixel 5",
"ua": "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.120 Mobile Safari/537.36",
"expect": {
"vendor": "Google",
"model": "Pixel 5",
"type": "mobile"
}
},
{
"desc": "Generic Android Device",
"ua": "Mozilla/5.0 (Linux; U; Android 6.0.1; i980 Build/MRA58K)",
@@ -1165,6 +1633,24 @@
"type": "tablet"
}
},
{
"desc": "ZTE-Z431",
"ua": "ZTE-Z431/1.4.0 NetFront/4.2 QTV5.1 Profile/MIDP-2.1 Configuration/CLDC-1.1",
"expect": {
"vendor": "ZTE",
"model": "Z431",
"type": "mobile"
}
},
{
"desc": "ZTE",
"ua": "Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; ZTE-Z740G Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
"expect": {
"vendor": "ZTE",
"model": "Z740G",
"type": "mobile"
}
},
{
"desc": "ZTE K Series Tablet",
"ua": "Mozilla/5.0 (Linux; Android 6.0.1; K88 Build/MMB29M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36",
@@ -1391,11 +1877,11 @@
}
},
{
"desc": "Huawei P30 Pro",
"ua": "Mozilla/5.0 (Linux; Android 9; VOG-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
"desc": "Huawei Mate 10 Pro",
"ua": "Mozilla/5.0 (Linux; Android 8.0; BLA-L29 Build/HUAWEIBLA-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3236.6 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "VOG-L29",
"model": "BLA-L29",
"type": "mobile"
}
},
@@ -1426,6 +1912,15 @@
"type": "mobile"
}
},
{
"desc": "Huawei Mate 20 X",
"ua": "Mozilla/5.0 (Linux; Android 9; EVR-L29 Build/HUAWEIEVR-L29; xx-xx) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/70.0.3538.110 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "EVR-L29",
"type": "mobile"
}
},
{
"desc": "Huawei Mate 20 Pro",
"ua": "Mozilla/5.0 (Linux; Android 9; LYA-L09) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
@@ -1445,31 +1940,22 @@
}
},
{
"desc": "Huawei Mate 20 Pro",
"ua": "Mozilla/5.0 (Linux; Android 9; LYA-AL10) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "LYA-AL10",
"type": "mobile"
}
"desc": "Huawei P30",
"ua": "Mozilla/5.0 (Linux; Android 9; ELE-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.90 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "ELE-L29",
"type": "mobile"
}
},
{
"desc": "Huawei Mate 20 Pro",
"ua": "Mozilla/5.0 (Linux; Android 9; LYA-L0C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "LYA-L0C",
"type": "mobile"
}
},
{
"desc": "Huawei Mate 20 Pro",
"ua": "Mozilla/5.0 (Linux; Android 9; LYA-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "LYA-L29",
"type": "mobile"
}
"desc": "Huawei P30 Pro",
"ua": "Mozilla/5.0 (Linux; Android 9; VOG-L29) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "VOG-L29",
"type": "mobile"
}
},
{
"desc": "Huawei P40",
@@ -1516,6 +2002,51 @@
"type": "mobile"
}
},
{
"desc": "Amazon Fire 7",
"ua": "Mozilla/5.0 (Linux; Android 5.1.1; KFAUWI) AppleWebKit/537.36 (KHTML, like Gecko) Silk/80.5.3 like Chrome/80.0.3987.162 Safari/537.36",
"expect": {
"vendor": "Amazon",
"model": "KFAUWI",
"type": "tablet"
}
},
{
"desc": "AT&T Radiant Core U304AA",
"ua": "Dalvik/2.1.0 (Linux; U; Android 9; U304AA Build/P00610)",
"expect": {
"vendor": "AT&T",
"model": "U304AA",
"type": "mobile"
}
},
{
"desc": "Vodafone Smart Tab 4G",
"ua": "Mozilla/5.0 (Linux; Android 4.4.4; Vodafone Smart Tab 4G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
"expect": {
"vendor": "Vodafone",
"model": "Smart Tab 4G",
"type": "tablet"
}
},
{
"desc": "Vodafone Smart ultra 6",
"ua": "Mozilla/5.0 (Linux; Android 5.0.2; Vodafone Smart ultra 6 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36",
"expect": {
"vendor": "Vodafone",
"model": "Smart ultra 6",
"type": "tablet"
}
},
{
"desc": "4ife 4K Smart TV Box",
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; 4ife 4K Smart TV Box Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Safari/537.36 Vinebre",
"expect": {
"vendor": "undefined",
"model": "undefined",
"type": "smarttv"
}
},
{
"desc": "FaceBook Mobile App",
"ua": "[FBAN/FBIOS;FBAV/283.0.0.44.117;FBBV/238386386;FBDV/iPhone12,1;FBMD/iPhone;FBSN/iOS;FBSV/13.6.1;FBSS/2;FBID/phone;FBLC/en_US;FBOP/5;FBRV/240127608]",
@@ -1531,5 +2062,104 @@
"model": "undefined",
"type": "undefined"
}
},
{
"desc": "Alcatel",
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; ALCATEL A564C Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.133 Mobile Safari/537.36",
"expect": {
"vendor": "ALCATEL",
"model": "A564C",
"type": "mobile"
}
},
{
"desc": "Jolla",
"ua": "Mozilla/5.0 (Maemo; Linux; U; Jolla; Sailfish; Mobile; rv:31.0) Gecko/31.0 Firefox/31.0 SailfishBrowser/1.0",
"expect": {
"vendor": "Jolla",
"model": "undefined",
"type": "mobile"
}
},
{
"desc": "Xbox One",
"ua": "Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; Xbox; Xbox One)",
"expect": {
"vendor": "Microsoft",
"model": "Xbox One",
"type": "console"
}
},
{
"desc": "Xbox",
"ua": "Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; Xbox)",
"expect": {
"vendor": "Microsoft",
"model": "Xbox",
"type": "console"
}
},
{
"desc": "Nvidia Shield Tablet",
"ua": "Mozilla/5.0 (Linux; Android 5.1.1; SHIELD Tablet Build/LVY48E; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/45.0.2454.19 Safari/537.36",
"expect": {
"vendor": "Nvidia",
"model": "SHIELD Tablet",
"type": "tablet"
}
},
{
"desc": "Ouya",
"ua": "Mozilla/5.0 (Linux; Android 4.1.2; OUYA Console Build/JZO54L-OUYA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.84 Safari/537.36",
"expect": {
"vendor": "OUYA",
"model": "undefined",
"type": "console"
}
},
{
"desc": "Vivo Y52s",
"ua": "Mozilla/5.0 (Linux; Android 10; V2057A Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/12.10 SP-engine/2.28.0 baiduboxapp/12.10.0.10 (Baidu; P1 10) NABar/1.0",
"expect": {
"vendor": "Vivo",
"model": "V2057A",
"type": "mobile"
}
},
{
"desc": "Vivo X60",
"ua": "Mozilla/5.0 (Linux; Android 11; V2046A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/8.8.71.0",
"expect": {
"vendor": "Vivo",
"model": "V2046A",
"type": "mobile"
}
},
{
"desc": "Vivo Y79A",
"ua": "Mozilla/5.0 (Linux; Android 7.1.2; vivo Y79A Build/N2G47H; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.0.14.0",
"expect": {
"vendor": "Vivo",
"model": "Y79A",
"type": "mobile"
}
},
{
"desc": "Vivo Y97",
"ua": "Mozilla/5.0 (Linux; Android 8.1.0; V1813T Build/O11019; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.0.14.0",
"expect": {
"vendor": "Vivo",
"model": "V1813T",
"type": "mobile"
}
},
{
"desc": "Vivo iQOO Pro",
"ua": "Mozilla/5.0 (Linux; Android 11; V1916A; wv) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 VivoBrowser/9.1.10.6",
"expect": {
"vendor": "Vivo",
"model": "V1916A",
"type": "mobile"
}
}
]

View File

@@ -152,6 +152,15 @@
"version" : "10"
}
},
{
"desc" : "Tizen",
"ua" : "Mozilla/5.0 (SMART-TV; Linux; Tizen 2.3) AppleWebkit/538.1 (KHTML, like Gecko) SamsungBrowser/1.0 TV Safari/538.1",
"expect" :
{
"name" : "Tizen",
"version" : "2.3"
}
},
{
"desc" : "Tizen",
"ua" : "Mozilla/5.0 (Linux; Tizen 2.3; SAMSUNG SM-Z130H) AppleWebKit/537.3 (KHTML, like Gecko) Version/2.3 Mobile Safari/537.3",
@@ -181,65 +190,83 @@
},
{
"desc" : "WebOS",
"ua" : "",
"ua" : "Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.5; U; en-US) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/234.83 Safari/534.6 TouchPad/1.0",
"expect" :
{
"name" : "",
"version" : ""
"name" : "webOS",
"version" : "3.0.5"
}
},
{
"desc" : "Palm OS",
"ua" : "",
"desc" : "WebOS",
"ua" : "Mozilla/5.0 (webOS/1.4.5; U; en-US) AppleWebKit/532.2 (KHTML, like Gecko) Version/1.0 Safari/532.2 Pre/1.0",
"expect" :
{
"name" : "",
"version" : ""
"name" : "webOS",
"version" : "1.4.5"
}
},
{
"desc" : "QNX",
"ua" : "",
"ua" : "Mozilla/5.0 (Photon; U; QNX x86pc; en-US; rv:1.8.1.20) Gecko/20090127 BonEcho/2.0.0.20",
"expect" :
{
"name" : "",
"version" : ""
"name" : "QNX",
"version" : "x86pc"
}
},
{
"desc" : "Bada",
"ua" : "",
"ua" : "Mozilla/5.0 (SAMSUNG; SAMSUNG-GT-S5253/S5253DDKC1; U; Bada/1.0; en-us) AppleWebKit/533.1 (KHTML, like Gecko) Dolfin/2.0 Mobile WQVGA SMM-MMS/1.2.0 OPN-B",
"expect" :
{
"name" : "",
"version" : ""
"name" : "Bada",
"version" : "1.0"
}
},
{
"desc" : "RIM Tablet OS",
"ua" : "",
"ua" : "Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+",
"expect" :
{
"name" : "",
"version" : ""
"name" : "RIM Tablet OS",
"version" : "2.1.0"
}
},
{
"desc" : "MeeGo",
"ua" : "",
"ua" : "Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13",
"expect" :
{
"name" : "",
"version" : ""
"name" : "MeeGo",
"version" : "undefined"
}
},
{
"desc" : "Symbian",
"ua" : "",
"ua" : "Nokia5250/10.0.011 (SymbianOS/9.4; U; Series60/5.0 Mozilla/5.0; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/525 (KHTML, like Gecko) Safari/525 3gpp-gba",
"expect" :
{
"name" : "",
"version" : ""
"name" : "Symbian",
"version" : "9.4"
}
},
{
"desc" : "Symbian",
"ua" : "Mozilla/5.0 (Symbian/3; Series60/5.2 NokiaC7-00/024.001; Profile/MIDP-2.1 Configuration/CLDC-1.1 ) AppleWebKit/533.4 (KHTML, like Gecko) NokiaBrowser/7.3.1.37 Mobile Safari/533.4 3gpp-gba",
"expect" :
{
"name" : "Symbian",
"version" : "5.2"
}
},
{
"desc" : "Series40",
"ua" : "Mozilla/5.0 (Series40; Nokia2055/03.20; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/2.2.0.0.34",
"expect" :
{
"name" : "Series40",
"version" : "undefined"
}
},
{
@@ -269,15 +296,6 @@
"version" : "Switch"
}
},
{
"desc" : "PlayStation",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
}
},
{
"desc" : "PlayStation 4",
"ua" : "Mozilla/5.0 (PlayStation 4 3.00) AppleWebKit/537.73 (KHTML, like Gecko)",
@@ -325,20 +343,29 @@
},
{
"desc" : "Mint",
"ua" : "",
"ua" : "Opera/9.80 (X11; Linux x86_64; Edition Linux Mint) Presto/2.12.388 Version/12.16",
"expect" :
{
"name" : "",
"version" : ""
"name" : "Mint",
"version" : "undefined"
}
},
{
"desc" : "Joli",
"ua" : "",
"desc" : "Mint",
"ua" : "Opera/9.64 (X11; Linux i686; U; Linux Mint; nb) Presto/2.1.1",
"expect" :
{
"name" : "",
"version" : ""
"name" : "Mint",
"version" : "undefined"
}
},
{
"desc" : "Mint",
"ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.5) Gecko/2008121622 Linux Mint/6 (Felicia) Firefox/3.0.4",
"expect" :
{
"name" : "Mint",
"version" : "6"
}
},
{
@@ -360,39 +387,120 @@
}
},
{
"desc" : "Debian",
"ua" : "",
"desc" : "Kubuntu",
"ua" : "Mozilla/5.0 (compatible; Konqueror/4.4; Linux 2.6.32-22-generic; X11; en_US) KHTML/4.4.3 (like Gecko) Kubuntu",
"expect" :
{
"name" : "",
"version" : ""
"name" : "Kubuntu",
"version" : "undefined"
}
},
{
"desc" : "Debian",
"ua" : "Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.7 (like Gecko) (Debian)",
"expect" :
{
"name" : "Debian",
"version" : "undefined"
}
},
{
"desc" : "Debian",
"ua" : "Mozilla/5.0 (X11; Linux x86_64; Debian GNU/Linux 8.1 (jessie)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.0 Maxthon/1.0.5.3 Safari/537.36",
"expect" :
{
"name" : "Debian",
"version" : "8.1"
}
},
{
"desc" : "Debian",
"ua" : "ELinks/0.12~pre5-4 (textmode; Debian; Linux 3.2.0-4-amd64 x86_64 192x47-2)",
"expect" :
{
"name" : "Debian",
"version" : "undefined"
}
},
{
"desc" : "Debian",
"ua" : "w3m/0.5.3+debian-19",
"expect" :
{
"name" : "debian",
"version" : "19"
}
},
{
"desc" : "Debian",
"ua" : "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.3) Gecko/2008092814 (Debian-3.0.1-1)",
"expect" :
{
"name" : "Debian",
"version" : "3.0.1-1"
}
},
{
"desc" : "Debian",
"ua" : "Mozilla/5.0 (compatible; Konqueror/3.5; Linux 2.6.24.4; X11) KHTML/3.5.9 (like Gecko) (Debian package 4:3.5.9.dfsg.1-2+b1)",
"expect" :
{
"name" : "Debian",
"version" : "undefined"
}
},
{
"desc" : "OpenSUSE",
"ua" : "",
"ua" : "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110420 SUSE/3.6.17-0.2.1 Firefox/3.6.17",
"expect" :
{
"name" : "",
"version" : ""
"name" : "SUSE",
"version" : "3.6.17-0.2.1"
}
},
{
"desc" : "Gentoo",
"ua" : "",
"ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) Gecko/20080716 (Gentoo) Galeon/2.0.6",
"expect" :
{
"name" : "",
"version" : ""
"name" : "Gentoo",
"version" : "undefined"
}
},
{
"desc" : "Gentoo",
"ua" : "Xombrero (X11; U; Gentoo Linux amd64; en-US) Webkit/2.8.5",
"expect" :
{
"name" : "Gentoo",
"version" : "amd64"
}
},
{
"desc" : "Gentoo",
"ua" : "Xombrero/1.6.4 (Linux amd64; en; Gentoo)",
"expect" :
{
"name" : "Gentoo",
"version" : "undefined"
}
},
{
"desc" : "Gentoo",
"ua" : "Links (2.8; Linux 3.17.2-gentoo-x86 i686; GNU C 4.8.2; x)",
"expect" :
{
"name" : "gentoo",
"version" : "x86"
}
},
{
"desc" : "Arch",
"ua" : "",
"ua" : "Uzbl (Webkit 1.1.10) (Arch Linux)",
"expect" :
{
"name" : "",
"version" : ""
"name" : "Arch",
"version" : "undefined"
}
},
{
@@ -406,83 +514,38 @@
},
{
"desc" : "Fedora",
"ua" : "",
"ua" : "Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0",
"expect" :
{
"name" : "",
"version" : ""
"name" : "Fedora",
"version" : "undefined"
}
},
{
"desc" : "Fedora",
"ua" : "Mozilla/5.0 (X11; U; Linux i686; en-GB; rv:2.0) Gecko/20110404 Fedora/16-dev Firefox/4.0",
"expect" :
{
"name" : "Fedora",
"version" : "16-dev"
}
},
{
"desc" : "Fedora",
"ua" : "Mozilla/5.0 (X11; U; Linux i686; sk; rv:1.9.0.4) Gecko/2008111217 Fedora/3.0.4-1.fc10 Firefox/3.0.4",
"expect" :
{
"name" : "Fedora",
"version" : "3.0.4-1.fc10"
}
},
{
"desc" : "Mandriva",
"ua" : "",
"ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.22) Gecko/20110907 Mandriva Linux/1.9.2.22-0.1mdv2010.2 (2010.2) Firefox/3.6.22",
"expect" :
{
"name" : "",
"version" : ""
}
},
{
"desc" : "CentOS",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
}
},
{
"desc" : "PCLinuxOS",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
}
},
{
"desc" : "RedHat",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
}
},
{
"desc" : "Zenwalk",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
}
},
{
"desc" : "Hurd",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
}
},
{
"desc" : "Linux",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
}
},
{
"desc" : "GNU",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
"name" : "Mandriva",
"version" : "1.9.2.22-0.1mdv2010.2"
}
},
{
@@ -514,29 +577,29 @@
},
{
"desc" : "FreeBSD",
"ua" : "",
"ua" : "Mozilla/5.0 (X11; U; FreeBSD x86_64; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16",
"expect" :
{
"name" : "",
"version" : ""
"name" : "FreeBSD",
"version" : "undefined"
}
},
{
"desc" : "OpenBSD",
"ua" : "",
"ua" : "Mozilla/5.0 (X11; U; OpenBSD i386; en-US; rv:1.9.1) Gecko/20090702 Firefox/3.5",
"expect" :
{
"name" : "",
"version" : ""
"name" : "OpenBSD",
"version" : "undefined"
}
},
{
"desc" : "NetBSD",
"ua" : "",
"ua" : "ELinks (0.4.3; NetBSD 3.0.2PATCH sparc64; 141x19)",
"expect" :
{
"name" : "",
"version" : ""
"name" : "NetBSD",
"version" : "3.0.2PATCH"
}
},
{
@@ -602,6 +665,60 @@
"version" : "2.5"
}
},
{
"desc" : "iTunes Windows Vista",
"ua" : "iTunes/10.7 (Windows; Microsoft Windows Vista Home Premium Edition Service Pack 1 (Build 6001)) AppleWebKit/536.26.9",
"expect" :
{
"name" : "Windows",
"version" : "Vista"
}
},
{
"desc" : "iOS BE App",
"ua" : "APP-BE Test/1.0 (iPad; Apple; CPU iPhone OS 7_0_2 like Mac OS X)",
"expect" :
{
"name" : "iOS",
"version" : "7.0.2"
}
},
{
"desc" : "KTB-Nexus 5",
"ua" : "APP-My App/1.0 (Linux; Android 4.2.1; Nexus 5 Build/JOP40D)",
"expect" :
{
"name" : "Android",
"version" : "4.2.1"
}
},
{
"desc" : "Solaris",
"ua" : "NCSA Mosaic/1.0 (X11;SunOS 4.1.4 sun4m)",
"expect" :
{
"name" : "Solaris",
"version" : "4.1.4"
}
},
{
"desc" : "Raspbian",
"ua" : "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Raspbian Chromium/72.0.3626.121 HeadlessChrome/72.0.3626.121 Safari/537.36",
"expect" :
{
"name" : "Raspbian",
"version" : "undefined"
}
},
{
"desc" : "Raspbian",
"ua" : "Mozilla/5.0 (X11; Linux armv7l) AppleWebKit/538.15 (KHTML, like Gecko) Version/8.0 Safari/538.15 Raspbian/9.0 (1:3.8.2.0-0rpi28) Epiphany/3.8.2",
"expect" :
{
"name" : "Raspbian",
"version" : "9.0"
}
},
{
"desc" : "AIX",
"ua" : "",
@@ -675,16 +792,7 @@
}
},
{
"desc" : "iTunes Windows Vista",
"ua" : "iTunes/10.7 (Windows; Microsoft Windows Vista Home Premium Edition Service Pack 1 (Build 6001)) AppleWebKit/536.26.9",
"expect" :
{
"name" : "Windows",
"version" : "Vista"
}
},
{
"desc" : "",
"desc" : "Joli",
"ua" : "",
"expect" :
{
@@ -693,21 +801,75 @@
}
},
{
"desc" : "iOS BE App",
"ua" : "APP-BE Test/1.0 (iPad; Apple; CPU iPhone OS 7_0_2 like Mac OS X)",
"desc" : "CentOS",
"ua" : "",
"expect" :
{
"name" : "iOS",
"version" : "7.0.2"
"name" : "",
"version" : ""
}
},
{
"desc" : "KTB-Nexus 5",
"ua" : "APP-My App/1.0 (Linux; Android 4.2.1; Nexus 5 Build/JOP40D)",
"desc" : "PCLinuxOS",
"ua" : "",
"expect" :
{
"name" : "Android",
"version" : "4.2.1"
"name" : "",
"version" : ""
}
},
{
"desc" : "RedHat",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
}
},
{
"desc" : "Zenwalk",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
}
},
{
"desc" : "Hurd",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
}
},
{
"desc" : "Linux",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
}
},
{
"desc" : "GNU",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
}
},
{
"desc" : "Palm OS",
"ua" : "",
"expect" :
{
"name" : "",
"version" : ""
}
}
]

File diff suppressed because one or more lines are too long