Compare commits

..

10 Commits

Author SHA1 Message Date
Faisal Salman
1d3c98a10c Revert breaking fix #279 and release as 0.7.28 2021-04-10 21:39:40 +07:00
Faisal Salman
535f11bd24 Delete redundant code 2021-04-07 21:42:13 +07:00
Faisal Salman
642c0399e8 Fix #492 LG TV WebOS detection 2021-04-06 14:56:23 +07:00
Faisal Salman
3edacddb24 Merge branch 'master' into develop 2021-04-05 23:32:24 +07:00
Faisal Salman
acc0b91ff5 Update contributor list 2021-04-05 23:32:15 +07:00
Faisal Salman
f726dcd1ae Merge branch 'master' into develop 2021-04-05 13:24:46 +07:00
Faisal Salman
383ca587ef More test for tablet devices 2021-04-04 16:32:30 +07:00
Faisal Salman
7c8aa435b2 Minor rearrangement 2021-04-04 14:37:13 +07:00
Faisal Salman
09aa9105dc Add new device & browser: Tesla 2021-04-04 14:12:40 +07:00
Faisal Salman
557cc2198d More test for latest phones with unique form factor (fold/flip/qwerty/swivel) 2021-04-04 13:12:55 +07:00
11 changed files with 401 additions and 64 deletions

View File

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

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.27',
version: '0.7.28',
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.27",
"version": "0.7.28",
"author": "Faisal Salman <f@faisalman.com> (http://faisalman.com)",
"description": "Lightweight JavaScript-based user-agent string parser",
"keywords": [
@@ -20,82 +20,125 @@
"Aamir Poonawalla <aamir@urx.com>",
"Admas <mollases@users.noreply.github.com>",
"algenon <m@antonz.ru>",
"Alvin Portillo <portilloalvin@gmail.com>",
"Alvin Portillo <alvin@8thwall.com>",
"Amumu <yoyo837@hotmail.com>",
"Andrea Vaghi <andrea.vaghi@jobrapido.com>",
"Anton Zhiyanov <m@antonz.ru>",
"Arturo Mejia <amejia@blim.com>",
"Arun Rama Reddy <arunramareddy@gmail.com>",
"Austin Pray <austin@austinpray.com>",
"Bendeguz <symunona@gmail.com>",
"Benjamin Bertrand <bertrand.design@gmail.com>",
"Benjamin Urban <benjamin.urban@sueddeutsche.de>",
"boneyao <admin@boneyao.com>",
"Carl C Von Lewin <carlchristianlewin@gmail.com>",
"CESAR RAMOS <c@imagenproactiva.com>",
"Chad Killingsworth <ckillingsworth@jackhenry.com>",
"Christopher De Cairos <chris.decairos@gmail.com>",
"Cyrille David <cyrille@qonto.eu>",
"Dario Vladovic <d.vladimyr@gmail.com>",
"David Annez <david.annez@gmail.com>",
"Davit Barbakadze <jayarjo@gmail.com>",
"ddivernois <david-emmanuel.divernois@amadeus.com>",
"Deliaz <D3liaz@gmail.com>",
"Demis Palma <demis.palma@gmail.com>",
"dhoko <aurelien@protonmail.com>",
"dianhe <dianhe@webank.com>",
"dineshks1 <dineshks1@d.kumar44@outlook.com>",
"Dmitry Tyschenko <dtyschenko@gmail.com>",
"Douglas Li <doug@knotch.it>",
"Dumitru Uzun <contact@duzun.me>",
"Dustin <duburns@fanatics.com>",
"Elchin Valiyev <elchin.valiyev@autodesk.com>",
"Emil Hesslow <hesslow@gmail.com>",
"Eric Redon <eric.redon@coox.org>",
"Eric Schrenker <eric.schrenker@gmail.com>",
"Erik Hesselink <hesselink@gmail.com>",
"Fabian Becker <halfdan@xnorfz.de>",
"Faisal Salman <fyzlman@gmail.com>",
"Faisal Salman <f@faisalman.com>",
"Frédéric Camblor <fcamblor@gmail.com>",
"Frederik Ring <frederik.ring@gmail.com>",
"Gerald Host <me@jacobford.co.uk>",
"Germán M. Bravo <german.mb@gmail.com>",
"Grigory Dmitrenko <grigory@snsk.ru>",
"gulpin <gulping.gulpin@gmail.com>",
"Hendrik Helwich <h.helwich@iplabs.de>",
"Hermann Ebert <ebbmo@HE.local>",
"hr6r <hedian@gmail.com>",
"Igor Topal <i.topal@smartweb.com.ua>",
"Ildar Kamalov <i.kamalov@adguard.com>",
"insanehong <insane.hong@navercorp.com>",
"jackpoll <jackpoll123456@gmail.com>",
"Jake Mc <startswithaj@users.noreply.github.com>",
"JBYoshi <12983479+JBYoshi@users.noreply.github.com>",
"Joey Parrish <joeyparrish@google.com>",
"John Tantalo <john.tantalo@gmail.com>",
"John Yanarella <jmy@codecatalyst.com>",
"Jon Buckley <jon@jbuckley.ca>",
"Josh Goldberg <joshuakgoldberg@outlook.com>",
"Junki-Ishida <junki_ishida@dwango.co.jp>",
"Kendall Buchanan <kendall@kendagriff.com>",
"Lee Treveil <leetreveil@gmail.com>",
"leonardo <leofiore@libero.it>",
"Levente Balogh <balogh.levente.hu@gmail.com>",
"Liam Quinn <lquinn@blackberry.com>",
"Lithin <lithin@webklipper.com>",
"ll-syber <670159357@qq.com>",
"Loris Guignard <loris.guignard@gmail.com>",
"Lukas Drgon <lukas.drgon@gmail.com>",
"Lukas Eipert <leipert@users.noreply.github.com>",
"Malash <i@malash.me>",
"Martynas <martynas@firmfirm.co>",
"Masahiko Sato <masasato@yahoo-corp.jp>",
"Matt Brophy <matt@brophy.org>",
"Max Maurer <maxemanuel.maurer@gmail.com>",
"Matthew Origer <karatecowboy@gmail.com>",
"Maximilian Haupt <mail@maximilianhaupt.com>",
"Max Maurer <maxemanuel.maurer@gmail.com>",
"Max Nordlund <max.nordlund@gmail.com>",
"Michael Hess <mhess@connectify.me>",
"MimyyK <michele.marais@hakisa.com>",
"naoh <naoh.cs03g@nctu.edu.tw>",
"Nicholas Ionata <nionata@ufl.edu>",
"Nikhil Motiani <nikhil.motiani@outlook.com>",
"Nik Rolls <nik@rolls.cc>",
"Nikhil Motiani <nikhil.m@247-inc.com>",
"nionata <n.ionata129@gmail.com>",
"niris <nirisix@gmail.com>",
"Nobuo Okada <nookada@yahoo-corp.jp>",
"o.drapeza <o.drapeza@tinkoff.ru>",
"otakuSiD <otakusid@gmail.com>",
"patrick-nurt <github@pereira.dk>",
"Pavel Studeny <studeny@avast.com>",
"Peter Dave Hello <PeterDaveHello@users.noreply.github.com>",
"philippsimon <github@philippsimon.de>",
"Pieter Hendrickx <pieter.hendrickx@belfius.be>",
"Piper Chester <piperchester@gmail.com>",
"Queen Vinyl Darkscratch <vinyldarkscratch@gmail.com>",
"Raine Makelainen <raine.makelainen@jolla.com>",
"Raman Savaryn <homeneartheocean@gmail.com>",
"Robert Tod <robert@qubit.com>",
"roman.savarin <roman.savarin@skywindgroup.com>",
"Ron Korland <ron@testim.io>",
"Ross Noble <rosshnoble@gmail.com>",
"ruicong <466403866@qq.com>",
"Sandro Sonntag <sandro.sonntag@adorsys.de>",
"sgautrea <shanegautreau@gmail.com>",
"Shane Gautreau <sgautrea@opentext.com>",
"Shane Thacker <shane@steadymade.com>",
"shchotse <topal@mail.ua>",
"Shreedhar <shreedhar@uber.com>",
"Simon Eisenmann <simon@longsleep.org>",
"Simon Lang <me@simonlang.org>",
"Stiekel <histkc@gmail.com>",
"sUP <dani3l@gmail.com>",
"Sylvain Gizard <sylvain.gizard@gmail.com>",
"szchenghuang <szchenghuang@gmail.com>",
"Tanguy Krotoff <tkrotoff@gmail.com>",
"Tony Tomarchio <tony@tomarchio.cc>",
"Ulrich Schmidt <u.schmidt@velian.de>",
"Vadim Kurachevsky <vadim@hmvs.org>",
"Yılmaz <yilmazdemir36@gmail.com>",
"yuanyang <work_yuanyang@163.com>",
"Yun Young-jin <yupmin@yupmin-office-macmini.local>",
"Insanehong <insae.hong@navercorp.com>"
"Zach Bjornson <zbbjornson@gmail.com>"
],
"main": "src/ua-parser.js",
"scripts": {

View File

@@ -47,8 +47,8 @@ Mozilla, NetFront, NetSurf, Netfront, Netscape, NokiaBrowser, Oculus Browser,
OmniWeb, Opera Coast, Opera [Mini/Mobi/Tablet], PaleMoon, PhantomJS, Phoenix,
Polaris, Puffin, QQ, QQBrowser, QQBrowserLite, Quark, QupZilla, RockMelt, Safari,
Sailfish Browser, Samsung Browser, SeaMonkey, Silk, Skyfire, Sleipnir, Slim,
SlimBrowser, Swiftfox, Tizen Browser, UCBrowser, Vivaldi, Waterfox, WeChat, Weibo,
Yandex, baidu, iCab, w3m, Whale Browser...
SlimBrowser, Swiftfox, Tesla, Tizen Browser, UCBrowser, Vivaldi, Waterfox, WeChat,
Weibo, Yandex, baidu, iCab, w3m, Whale Browser...
# 'browser.version' determined dynamically
```
@@ -65,7 +65,7 @@ Acer, Alcatel, Amazon, Apple, Archos, ASUS, AT&T, BenQ, BlackBerry, Dell,
Essential, Fairphone, 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, ...
Sony[Ericsson], Sprint, Tesla, Vivo, Vodafone, Xbox, Xiaomi, Zebra, ZTE, ...
# 'device.model' determined dynamically
```

View File

@@ -1,5 +1,5 @@
/*!@license
* UAParser.js v0.7.27
* UAParser.js v0.7.28
* Lightweight JavaScript-based User-Agent string parser
* https://github.com/faisalman/ua-parser-js
*
@@ -16,7 +16,7 @@
/////////////
var LIBVERSION = '0.7.27',
var LIBVERSION = '0.7.28',
EMPTY = '',
UNKNOWN = '?',
FUNC_TYPE = 'function',
@@ -215,10 +215,11 @@
/\b(?:crmo|crios)\/([\w\.]+)/i // Chrome for Android/iOS
], [VERSION, [NAME, 'Chrome']], [
/(?:edgios|edga|edg)\/([\w\.]+)/i // Microsoft Edge
/edg(?:e|ios|a)?\/([\w\.]+)/i // Microsoft Edge
], [VERSION, [NAME, 'Edge']], [
/edge\/([\w\.]+)/i // Old Edge (Trident)
], [[VERSION, mapper.str, maps.browser.oldEdge.version], [NAME, 'Edge']], [
// breaking change (reserved for next major release):
///edge\/([\w\.]+)/i // Old Edge (Trident)
//], [[VERSION, mapper.str, maps.browser.oldEdge.version], [NAME, 'Edge']], [
// Presto based
/(opera\smini)\/([\w\.-]+)/i, // Opera Mini
@@ -232,15 +233,15 @@
// Mixed
/(kindle)\/([\w\.]+)/i, // Kindle
/(lunascape|maxthon|netfront|jasmine|blazer|instagram)[\/\s]?([\w\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer/Instagram
/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?([\w\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer
// Trident based
/(avant\s|iemobile|slim)(?:browser)?[\/\s]?([\w\.]*)/i, // Avant/IEMobile/SlimBrowser
/(ba?idubrowser)[\/\s]?([\w\.]+)/i, // Baidu Browser
/(?:ms|\()(ie)\s([\w\.]+)/i, // Internet Explorer
// Webkit/KHTML based
/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\/([\w\.-]+)/i,
// Chromium/Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon)\/([\w\.-]+)/i,
// Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
/(rekonq|puffin|brave|whale|qqbrowserlite|qq)\/([\w\.]+)/i, // Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ
/(weibo)__([\d\.]+)/i // Weibo
], [NAME, VERSION], [
@@ -278,6 +279,8 @@
], [[NAME, /(.+)/, '$1 Browser'], VERSION], [ // Oculus/Samsung/Sailfish Browser
/(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon
], [[NAME, /_/g, ' '], VERSION], [
/\s(electron)\/([\w\.]+)\ssafari/i, // Electron-based App
/(tesla)(?:\sqtcarbrowser|\/(20[12]\d\.[\w\.-]+))/i, // Tesla
/m?(qqbrowser|baiduboxapp|2345Explorer)[\/\s]?([\w\.]+)/i // QQBrowser/Baidu App/2345 Browser
], [NAME, VERSION], [
/(MetaSr)[\/\s]?([\w\.]+)/i, // SouGouBrowser
@@ -289,9 +292,9 @@
], [VERSION, [NAME, 'Facebook']], [
/FBAN\/FBIOS|FB_IAB\/FB4A/i // Facebook App for iOS & Android without version
], [[NAME, 'Facebook']], [
/\s(electron)\/([\w\.]+)\ssafari/i, // Electron-based App
/safari\s(line)\/([\w\.]+)/i, // Line App for iOS
/\b(line)\/([\w\.]+)\/iab/i // Line App for Android
/\b(line)\/([\w\.]+)\/iab/i, // Line App for Android
/(chromium|instagram)[\/\s]([\w\.-]+)/i // Chromium/Instagram
], [NAME, VERSION], [
/\bgsa\/([\w\.]+)\s.*safari\//i // Google Search Appliance on iOS
], [VERSION, [NAME, 'GSA']], [
@@ -431,7 +434,7 @@
// Motorola
/\s(milestone|droid(?:[2-4x]|\s(?:bionic|x2|pro|razr))?:?(\s4g)?)\b[\w\s]+build\//i,
/\smot[\s-](\w*)/i,
/\smot(?:orola)?[\s-](\w*)/i,
/((?:moto[\s\w\(\)]+|xt\d{3,4}|nexus\s6)(?=\sbuild|\)))/i
], [MODEL, [VENDOR, 'Motorola'], [TYPE, MOBILE]], [
/\s(mz60\d|xoom[\s2]{0,2})\sbuild\//i
@@ -440,7 +443,7 @@
// LG
/((?=lg)?[vl]k\-?\d{3})\sbuild|\s3\.[\s\w;-]{10}lg?-([06cv9]{3,4})/i
], [MODEL, [VENDOR, 'LG'], [TYPE, TABLET]], [
/(nexus\s[45])/i,
/(lm-?f100[nv]?|nexus\s[45])/i,
/lg[e;\s\/-]+((?!browser|netcast)\w+)/i,
/\blg(\-?[\d\w]+)\sbuild/i
], [MODEL, [VENDOR, 'LG'], [TYPE, MOBILE]], [
@@ -453,7 +456,7 @@
// Nokia
/(?:maemo|nokia).*(n900|lumia\s\d+)/i,
/nokia[\s_-]?([\w\.-]*)/i
], [MODEL, [VENDOR, 'Nokia'], [TYPE, MOBILE]], [
], [[MODEL, /_/g, ' '], [VENDOR, 'Nokia'], [TYPE, MOBILE]], [
// Google
/droid.+;\s(pixel\sc)[\s)]/i // Google Pixel C
@@ -485,6 +488,7 @@
// BlackBerry
/\((playbook);[\w\s\),;-]+(rim)/i // BlackBerry PlayBook
], [MODEL, VENDOR, [TYPE, TABLET]], [
/((?:bb[a-f]|st[hv])100-\d)/i,
/\(bb10;\s(\w+)/i // BlackBerry 10
], [MODEL, [VENDOR, 'BlackBerry'], [TYPE, MOBILE]], [
@@ -514,9 +518,8 @@
], [MODEL, [VENDOR, 'Meizu'], [TYPE, MOBILE]], [
// MIXED
/(blackberry)[\s-]?(\w+)/i, // BlackBerry
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[\s_-]?([\w-]*)/i,
// BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron
// BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron
/(hp)\s([\w\s]+\w)/i, // HP iPAQ
/(asus)-?(\w+)/i, // Asus
/(microsoft);\s(lumia[\s\w]+)/i, // Microsoft Lumia
@@ -642,6 +645,13 @@
/droid\s[\d\.]+;\s(wt63?0{2,3})\)/i
], [MODEL, [VENDOR, 'Zebra'], [TYPE, WEARABLE]], [
///////////////////
// EMBEDDED
///////////////////
/(tesla)(?:\sqtcarbrowser|\/20[12]\d\.[\w\.-]+)/i // Tesla
], [VENDOR, [TYPE, EMBEDDED]], [
////////////////////
// MIXED (GENERIC)
///////////////////
@@ -710,6 +720,7 @@
], [VERSION, [NAME, 'Symbian']], [
/mozilla.+\(mobile;.+gecko.+firefox/i // Firefox OS
], [[NAME, 'Firefox OS']], [
/web0s;.+rt(tv)/i,
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i // WebOS
], [VERSION, [NAME, 'webOS']], [

View File

@@ -998,6 +998,26 @@
"major" : "undefined"
}
},
{
"desc" : "Tesla",
"ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/601.1 (KHTML, like Gecko) Tesla QtCarBrowser Safari/601.1",
"expect" :
{
"name" : "Tesla",
"version" : "undefined",
"major" : "undefined"
}
},
{
"desc" : "Tesla",
"ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/537.36 (KHTML, like Gecko) Chromium/79.0.3945.130 Chrome/79.0.3945.130 Safari/537.36 Tesla/2020.16.2.1-e99c70fff409",
"expect" :
{
"name" : "Tesla",
"version" : "2020.16.2.1-e99c70fff409",
"major" : "2020"
}
},
{
"desc" : "Tizen Browser",
"ua" : "Mozilla/5.0 (Linux; U; Tizen/1.0 like Android; en-us; AppleWebKit/534.46 (KHTML, like Gecko) Tizen Browser/1.0 Mobile",
@@ -1134,8 +1154,8 @@
"expect" :
{
"name" : "Edge",
"version" : "0.1",
"major" : "0"
"version" : "12.0",
"major" : "12"
}
},
{
@@ -1144,8 +1164,8 @@
"expect" :
{
"name" : "Edge",
"version" : "42",
"major" : "42"
"version" : "17.17134",
"major" : "17"
}
},
{
@@ -1154,8 +1174,8 @@
"expect" :
{
"name" : "Edge",
"version" : "44",
"major" : "44"
"version" : "18.17763",
"major" : "18"
}
},
{

View File

@@ -142,6 +142,42 @@
"type": "tablet"
}
},
{
"desc": "BlackBerry Priv",
"ua": "User-Agent: Mozilla/5.0 (Linux; Android 5.1.1; STV100-1 Build/LMY47V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/46.0.2490.76 Mobile Safari/537.36",
"expect": {
"vendor": "BlackBerry",
"model": "STV100-1",
"type": "mobile"
}
},
{
"desc": "BlackBerry Keyone",
"ua": "Mozilla/5.0 (Linux; Android 8.1.0; BBB100-1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.111 Mobile Safari/537.36",
"expect": {
"vendor": "BlackBerry",
"model": "BBB100-1",
"type": "mobile"
}
},
{
"desc": "BlackBerry Key2",
"ua": "Mozilla/5.0 (Linux; Android 8.1.0; BBF100-1 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.91 Mobile Safari/537.36",
"expect": {
"vendor": "BlackBerry",
"model": "BBF100-1",
"type": "mobile"
}
},
{
"desc": "BlackBerry Key2 LE",
"ua": "User-Agent: Mozilla/5.0 (Linux; Android 8.1.0; BBE100-1 Build/OPM1.171019.026) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497 Mobile Safari/537.36",
"expect": {
"vendor": "BlackBerry",
"model": "BBE100-1",
"type": "mobile"
}
},
{
"desc": "Desktop (IE11 with Tablet string)",
"ua": "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; Tablet PC 2.0; GWX:MANAGED; rv:11.0) like Gecko",
@@ -304,6 +340,33 @@
"type": "tablet"
}
},
{
"desc": "Lenovo Tab 4",
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; Lenovo TAB 2 A7-30HC) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36",
"expect": {
"vendor": "Lenovo",
"model": "TAB 2 A7",
"type": "tablet"
}
},
{
"desc": "Lenovo Tab 7 Essential",
"ua": "Mozilla/5.0 (Linux; Android 7.0; Lenovo TB-7304X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36",
"expect": {
"vendor": "Lenovo",
"model": "TB-7304X",
"type": "tablet"
}
},
{
"desc": "Lenovo Tab M10",
"ua": "Mozilla/5.0 (Linux; arm_64; Android 9; Lenovo TB-X606F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 YaBrowser/20.9.4.99.01 Safari/537.36",
"expect": {
"vendor": "Lenovo",
"model": "TB-X606F",
"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",
@@ -340,6 +403,15 @@
"type": "mobile"
}
},
{
"desc": "LG Wing",
"ua": "Mozilla/5.0 (Linux; Android 10; LM-F100N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.101 Mobile Safari/537.36",
"expect": {
"vendor": "LG",
"model": "LM-F100N",
"type": "mobile"
}
},
{
"desc": "LG Smart TV",
"ua": "Mozilla/5.0 (DirectFB; U; Linux mips; en) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) LG Browser (; LG NetCast.TV-2011)",
@@ -432,6 +504,15 @@
"type": "mobile"
}
},
{
"desc": "Motorola RAZR 2019",
"ua": "Mozilla/5.0 (Linux; Android 9; motorola razr) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/11.1 Chrome/75.0.3770.143 Mobile Safari/537.36",
"expect": {
"vendor": "Motorola",
"model": "razr",
"type": "mobile"
}
},
{
"desc": "iPhone",
"ua": "Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53",
@@ -549,6 +630,15 @@
"type": "mobile"
}
},
{
"desc": "Nokia 2720 Flip",
"ua": "Mozilla/5.0 (Mobile; Nokia_2720_Flip; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5.2",
"expect": {
"vendor": "Nokia",
"model": "2720 Flip",
"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",
@@ -819,6 +909,24 @@
"type": "mobile"
}
},
{
"desc": "Samsung Galaxy Z Flip",
"ua": "Mozilla/5.0 (Linux; Android 10; SM-F700N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.136 Mobile Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-F700N",
"type": "mobile"
}
},
{
"desc": "Samsung Galaxy Z Fold2",
"ua": "Mozilla/5.0 (Linux; Android 10; SM-F916B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-F916B",
"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",
@@ -882,6 +990,15 @@
"type": "tablet"
}
},
{
"desc": "Samsung Galaxy Tab A 10.1",
"ua": " Mozilla/5.0 (Linux; Android 10; SAMSUNG SM-T515) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/13.0 Chrome/83.0.4103.106 Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-T515",
"type": "tablet"
}
},
{
"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",
@@ -1089,6 +1206,26 @@
"type": "tablet"
}
},
{
"desc" : "Tesla",
"ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/601.1 (KHTML, like Gecko) Tesla QtCarBrowser Safari/601.1",
"expect" :
{
"vendor": "Tesla",
"model": "undefined",
"type": "embedded"
}
},
{
"desc" : "Tesla",
"ua" : "Mozilla/5.0 (X11; GNU/Linux) AppleWebKit/537.36 (KHTML, like Gecko) Chromium/79.0.3945.130 Chrome/79.0.3945.130 Safari/537.36 Tesla/2020.16.2.1-e99c70fff409",
"expect" :
{
"vendor": "Tesla",
"model": "undefined",
"type": "embedded"
}
},
{
"desc": "Xiaomi 2013023",
"ua": "Mozilla/5.0 (Linux; U; Android 4.2.2; en-US; 2013023 Build/HM2013023) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 UCBrowser/10.0.1.512 U3/0.8.0 Mobile Safari/533.1",
@@ -1984,6 +2121,15 @@
"type": "tablet"
}
},
{
"desc": "Huawei MatePad T 10",
"ua": "Mozilla/5.0 (Linux; Android 10; AGR-L09; HMSCore 5.0.4.301) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 HuaweiBrowser/11.0.3.304 Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "AGR-L09",
"type": "tablet"
}
},
{
"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",
@@ -1993,6 +2139,51 @@
"type": "mobile"
}
},
{
"desc": "Huawei Mate X",
"ua": "Mozilla/5.0 (Linux; Android 9; TAH-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.111 Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "TAH-AN00",
"type": "mobile"
}
},
{
"desc": "Huawei Mate X2",
"ua": "Mozilla/5.0 (Linux; Android 10; TET-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.96 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "TET-AN00",
"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",
"expect": {
"vendor": "Huawei",
"model": "LYA-L09",
"type": "mobile"
}
},
{
"desc": "Huawei Mate 20 Pro",
"ua": "Mozilla/5.0 (Linux; Android 9; LYA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "LYA-AL00",
"type": "mobile"
}
},
{
"desc": "Huawei P20 Lite",
"ua": "Mozilla/5.0 (Linux; Android 8.0.0; ANE-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.143 Mobile Safari/537.36",
@@ -2020,33 +2211,6 @@
"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",
"expect": {
"vendor": "Huawei",
"model": "LYA-L09",
"type": "mobile"
}
},
{
"desc": "Huawei Mate 20 Pro",
"ua": "Mozilla/5.0 (Linux; Android 9; LYA-AL00) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.90 Mobile Safari/537.36",
"expect": {
"vendor": "Huawei",
"model": "LYA-AL00",
"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",
@@ -2180,6 +2344,15 @@
"type": "mobile"
}
},
{
"desc": "Alcatel Go Flip",
"ua": "Mozilla/5.0 (Mobile; ALCATEL4044T; rv:37.0) Gecko/37.0 Firefox/37.0 KaiOS/1.0",
"expect": {
"vendor": "ALCATEL",
"model": "4044T",
"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",

View File

@@ -106,5 +106,50 @@
"name" : "WebKit",
"version" : "537.36"
}
},
{
"desc" : "WebOS TV 5.x",
"ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36 WebAppManager",
"expect" :
{
"name" : "Blink",
"version" : "68.0.3440.106"
}
},
{
"desc" : "WebOS TV 4.x",
"ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.34 Safari/537.36 WebAppManager",
"expect" :
{
"name" : "Blink",
"version" : "53.0.2785.34"
}
},
{
"desc" : "WebOS TV 3.x",
"ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.2.1 Chrome/38.0.2125.122 Safari/537.36 WebAppManager",
"expect" :
{
"name" : "Blink",
"version" : "38.0.2125.122"
}
},
{
"desc" : "WebOS TV 2.x",
"ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/538.2 (KHTML, like Gecko) Large Screen WebAppManager Safari/538.2",
"expect" :
{
"name" : "WebKit",
"version" : "538.2"
}
},
{
"desc" : "WebOS TV 1.x",
"ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.41 (KHTML, like Gecko) Large Screen WebAppManager Safari/537.41",
"expect" :
{
"name" : "WebKit",
"version" : "537.41"
}
}
]

View File

@@ -206,6 +206,51 @@
"version" : "1.4.5"
}
},
{
"desc" : "WebOS TV 5.x",
"ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36 WebAppManager",
"expect" :
{
"name" : "webOS",
"version" : "TV"
}
},
{
"desc" : "WebOS TV 4.x",
"ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.34 Safari/537.36 WebAppManager",
"expect" :
{
"name" : "webOS",
"version" : "TV"
}
},
{
"desc" : "WebOS TV 3.x",
"ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) QtWebEngine/5.2.1 Chrome/38.0.2125.122 Safari/537.36 WebAppManager",
"expect" :
{
"name" : "webOS",
"version" : "TV"
}
},
{
"desc" : "WebOS TV 2.x",
"ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/538.2 (KHTML, like Gecko) Large Screen WebAppManager Safari/538.2",
"expect" :
{
"name" : "webOS",
"version" : "TV"
}
},
{
"desc" : "WebOS TV 1.x",
"ua" : "Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.41 (KHTML, like Gecko) Large Screen WebAppManager Safari/537.41",
"expect" :
{
"name" : "webOS",
"version" : "TV"
}
},
{
"desc" : "QNX",
"ua" : "Mozilla/5.0 (Photon; U; QNX x86pc; en-US; rv:1.8.1.20) Gecko/20090127 BonEcho/2.0.0.20",