Compare commits

..

2 Commits

Author SHA1 Message Date
Faisal Salman
693a83de2e Bump version 1.0.38 (mirror of 0.7.38) 2024-05-28 21:11:21 +07:00
Faisal Salman
8087a1b4f0 Bump version 1.0.37 (mirror of 0.7.37) 2023-10-27 19:49:46 +07:00
14 changed files with 119 additions and 1198 deletions

View File

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

View File

@@ -4,23 +4,6 @@
Version 1.0.x is basically the equivalent of version 0.7.x. See [#536](https://github.com/faisalman/ua-parser-js/issues/536) for the reason behind this confusion.
## Version 0.7.40 / 1.0.40
- Add new browser: 115, LibreWolf, Slimboat, Slimjet
- Add new device: Advan, Cat, Energizer, IMO, Micromax, Smartfren
- Add new engine: ArkWeb, Servo
- Add new os: OpenHarmony
- Improve browser detection: 2345, 360, Dragon, Iron, Maxthon
- Recognize Honor as a separate device vendor from Huawei
- Fix Python Request mistakenly identified as Meta Quest
## Version 0.7.39 / 1.0.39
- Add new feature: executable command using `npx ua-parser-js "[INSERT-UA-HERE]"`
- Add new browser: Helio, Pico Browser, Wolvic
- Add new device vendor: itel, Nothing, TCL
- Improve browser detection: ICEBrowser, Klar, QQBrowser, Quark, Rekonq, Sleipnir
- Improve device detection: Xiaomi Pro, Amazon Echo Show, Samsung Galaxy Watch
- Removed from browser: Viera
## Version 0.7.38 / 1.0.38
- Fix error on getOS() when userAgentData.platform is undefined
- Add new browser: Opera GX, Twitter

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 @@
MIT License
Copyright (c) 2012-2024 Faisal Salman <<f@faisalman.com>>
Copyright (c) 2012-2023 Faisal Salman <<f@faisalman.com>>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

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

View File

@@ -1,27 +1,29 @@
{
"title": "UAParser.js",
"name": "ua-parser-js",
"version": "0.7.40",
"version": "1.0.38",
"author": "Faisal Salman <f@faisalman.com> (http://faisalman.com)",
"description": "Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data. Supports browser & node.js environment",
"keywords": [
"ua-parser-js",
"user-agent",
"parser",
"browser",
"engine",
"os",
"device",
"mobile",
"cpu",
"platform",
"detect",
"javascript",
"jquery",
"typescript",
"node-js",
"client-hints"
"jquery-plugin",
"ecosystem:jquery",
"ua-parser-js",
"client-hints",
"user-agent-detection",
"device-detection",
"platform-detection",
"mobile-detection",
"browser-detection",
"architecture-detection"
],
"homepage": "https://uaparser.dev",
"homepage": "https://github.com/faisalman/ua-parser-js",
"contributors": [
"Aamir Poonawalla <aamir@urx.com>",
"Admas <mollases@users.noreply.github.com>",
@@ -151,7 +153,6 @@
"dist",
"src"
],
"bin": "./script/cli.js",
"scripts": {
"build": "uglifyjs src/ua-parser.js -o dist/ua-parser.min.js --comments '/^ UA/' && uglifyjs src/ua-parser.js -o dist/ua-parser.pack.js --comments '/^ UA/' --compress --mangle",
"test": "jshint src/ua-parser.js && mocha -R nyan test/test.js",
@@ -194,7 +195,7 @@
"test": "test"
},
"bugs": "https://github.com/faisalman/ua-parser-js/issues",
"demo": "https://uaparser.dev",
"demo": "https://faisalman.github.io/ua-parser-js",
"download": "https://raw.github.com/faisalman/ua-parser-js/master/dist/ua-parser.min.js",
"funding": [
{
@@ -206,8 +207,8 @@
"url": "https://paypal.me/faisalman"
},
{
"type": "github",
"url": "https://github.com/sponsors/faisalman"
"type": "github",
"url": "https://github.com/sponsors/faisalman"
}
]
}

View File

@@ -15,11 +15,11 @@
JavaScript library to detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data with relatively small footprint (~17KB minified, ~6KB gzipped) that can be used either in browser (client-side) or node.js (server-side).
* Author : Faisal Salman <<f@faisalman.com>>
* Demo : https://uaparser.dev
* Demo : https://faisalman.github.io/ua-parser-js
* Source : https://github.com/faisalman/ua-parser-js
* Documentation :
* v1 : https://github.com/faisalman/ua-parser-js/tree/1.0.x#documentation
* v2 : https://docs.uaparser.dev
* v1 : https://github.com/faisalman/ua-parser-js/tree/1.0.35#documentation
* v2 : https://faisalman.github.io/ua-parser-js-docs/v2
***
@@ -36,8 +36,6 @@ JavaScript library to detect Browser, Engine, OS, CPU, and Device type/model fro
</tbody>
</table>
<a href="https://uaparser.dev"><img src="https://raw.githubusercontent.com/faisalman/ua-parser-js/gh-pages/images/uap-header.png"></a>
---
# Documentation
@@ -100,23 +98,23 @@ The methods are self explanatory, here's a small overview on all the available m
```sh
# Possible 'browser.name':
115 Browser, 2345Explorer, 360 Browser, Alipay, Amaya, Android Browser, Arora,
Avant, Avast, AVG, Baidu, Basilisk, Blazer, Bolt, Brave, Bowser, Camino, Chimera,
2345Explorer, 360 Browser, Alipay, Amaya, Android Browser, Arora, Avant, Avast,
AVG, Baidu, Basilisk, Blazer, Bolt, Brave, Bowser, Camino, Chimera,
Chrome Headless, Chrome WebView, Chrome, Chromium, Cobalt, Comodo Dragon, Dillo,
Dolphin, Doris, DuckDuckGo, Edge, Electron, Epiphany, Facebook, Falkon, Fennec,
Firebird, Firefox [Focus/Reality], Flock, Flow, GSA, GoBrowser, Helio, Heytap,
Firebird, Firefox [Focus/Reality], Flock, Flow, GSA, GoBrowser, Heytap,
Huawei Browser, iCab, ICE Browser, IE, IEMobile, IceApe, IceCat, IceDragon,
Iceweasel, Instagram, Iridium, Iron, Jasmine, Kakao[Story/Talk], K-Meleon,
Kindle, Klar, Klarna, Konqueror, LBBROWSER, LibreWolf, Line, LinkedIn, Links,
Lunascape, Lynx, MIUI Browser, Maemo, Maxthon, Midori, Minimo, Mobile Safari,
Mosaic, Mozilla, NetFront, NetSurf, Netfront, Netscape, NokiaBrowser, Obigo,
Kindle, Klar, Klarna, Konqueror, LBBROWSER, Line, LinkedIn, Links, Lunascape,
Lynx, MIUI Browser, Maemo, Maxthon, Midori, Minimo, Mobile Safari, Mosaic,
Mozilla, NetFront, NetSurf, Netfront, Netscape, NokiaBrowser, Obigo,
Oculus Browser, OmniWeb, Opera Coast, Opera [GX/Mini/Mobi/Tablet], PaleMoon,
PhantomJS, Phoenix, Pico Browser, Polaris, Puffin, QQ, QQBrowser, QQBrowserLite,
Quark, QupZilla, RockMelt, Safari, Sailfish Browser, Samsung Internet, SeaMonkey,
Silk, Skyfire, Sleipnir, Slim[Browser/Boat/Jet], Smart Lenovo Browser, Snapchat,
PhantomJS, Phoenix, Polaris, Puffin, QQ, QQBrowser, QQBrowserLite, Quark,
QupZilla, RockMelt, Safari, Sailfish Browser, Samsung Internet, SeaMonkey, Silk,
Skyfire, Sleipnir, Slim, SlimBrowser, Smart Lenovo Browser, Snapchat,
Sogou [Explorer/Mobile], Swiftfox, Tesla, TikTok, Tizen Browser, Twitter,
UCBrowser, UP.Browser, Vivaldi, Vivo Browser, w3m, Waterfox, WeChat, Weibo,
Whale Browser, Wolvic, Yandex, ...
UCBrowser, UP.Browser, Viera, Vivaldi, Vivo Browser, Waterfox, WeChat, Weibo,
Yandex, w3m, Whale Browser, ...
# 'browser.version' determined dynamically
```
@@ -136,13 +134,12 @@ console, mobile, tablet, smarttv, wearable, embedded
##########
# Possible 'device.vendor':
Acer, Advan, Alcatel, Amazon, Apple, Archos, ASUS, AT&T, BenQ, BlackBerry, Cat,
Dell, Energizer, Essential, Facebook, Fairphone, GeeksPhone, Google, HP, HTC,
Huawei, IMO, Infinix, itel, Jolla, Kobo, Lenovo, LG, Meizu, Micromax, Microsoft,
Motorola, Nexian, Nintendo, Nokia, Nothing, Nvidia, OnePlus, OPPO, Ouya, Palm,
Panasonic, Pebble, Polytron, Realme, RIM, Roku, Samsung, Sharp, Siemens,
Smartfren, Sony[Ericsson], Sprint, TCL, Tecno, Tesla, Ulefone, Vivo, Vodafone,
Xbox, Xiaomi, Zebra, ZTE, ...
Acer, Alcatel, Amazon, Apple, Archos, ASUS, AT&T, BenQ, BlackBerry, Dell,
Essential, Facebook, Fairphone, GeeksPhone, Google, HP, HTC, Huawei, Infinix,
Jolla, Kobo, Lenovo, LG, Meizu, Microsoft, Motorola, Nexian, Nintendo, Nokia,
Nvidia, OnePlus, OPPO, Ouya, Palm, Panasonic, Pebble, Polytron, Realme, RIM,
Roku, Samsung, Sharp, Siemens, Sony[Ericsson], Sprint, Tecno, Tesla, Ulefone,
Vivo, Vodafone, Xbox, Xiaomi, Zebra, ZTE, ...
# 'device.model' determined dynamically
```
@@ -152,8 +149,8 @@ Xbox, Xiaomi, Zebra, ZTE, ...
```sh
# Possible 'engine.name'
Amaya, ArkWeb, Blink, EdgeHTML, Flow, Gecko, Goanna, iCab, KHTML, LibWeb, Links,
Lynx, NetFront, NetSurf, Presto, Servo, Tasman, Trident, w3m, WebKit
Amaya, Blink, EdgeHTML, Flow, Gecko, Goanna, iCab, KHTML, LibWeb, Links, Lynx,
NetFront, NetSurf, Presto, Tasman, Trident, w3m, WebKit
# 'engine.version' determined dynamically
```
@@ -167,10 +164,10 @@ AIX, Amiga OS, Android[-x86], Arch, Bada, BeOS, BlackBerry, CentOS, Chromium OS,
Contiki, Fedora, Firefox OS, FreeBSD, Debian, Deepin, DragonFly, elementary OS,
Fuchsia, Gentoo, GhostBSD, GNU, Haiku, HarmonyOS, HP-UX, Hurd, iOS, Joli, KaiOS,
Linpus, Linspire,Linux, Mac OS, Maemo, Mageia, Mandriva, Manjaro, MeeGo, Minix,
Mint, Morph OS, NetBSD, NetRange, NetTV, Nintendo, OpenBSD, OpenHarmony, OpenVMS,
OS/2, Palm, PC-BSD, PCLinuxOS, Plan9, PlayStation, QNX, Raspbian, RedHat,
RIM Tablet OS, RISC OS, Sabayon, Sailfish, SerenityOS, Series40, Slackware,
Solaris, SUSE, Symbian, Tizen, Ubuntu, Unix, VectorLinux, Viera, watchOS, WebOS,
Mint, Morph OS, NetBSD, NetRange, NetTV, Nintendo, OpenBSD, OpenVMS, OS/2, Palm,
PC-BSD, PCLinuxOS, Plan9, PlayStation, QNX, Raspbian, RedHat, RIM Tablet OS,
RISC OS, Sabayon, Sailfish, SerenityOS, Series40, Slackware, Solaris, SUSE,
Symbian, Tizen, Ubuntu, Unix, VectorLinux, Viera, watchOS, WebOS,
Windows [Phone/Mobile], Zenwalk, ...
# 'os.version' determined dynamically
@@ -324,14 +321,6 @@ console.log(parseInt($.ua.browser.version.split('.')[0], 10)); // 4
$('body').addClass('ua-browser-' + $.ua.browser.name + ' ua-devicetype-' + $.ua.device.type);
```
## Using npx
UAParser.js can be executed as a command that returns the parsed data in JSON format:
```sh
$ npx ua-parser-js "[INSERT-UA-HERE]"
```
## Using Extension
* `UAParser([uastring,] extensions)`
@@ -375,7 +364,7 @@ Made with [contributors-img](https://contrib.rocks).
MIT License
Copyright (c) 2012-2024 Faisal Salman <<f@faisalman.com>>
Copyright (c) 2012-2021 Faisal Salman <<f@faisalman.com>>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -1,4 +0,0 @@
#!/usr/bin/env node
const UAParser = require('ua-parser-js');
console.log(JSON.stringify(process.argv.slice(2).map(ua => UAParser(ua)), null, 4));

View File

@@ -1,6 +1,6 @@
/////////////////////////////////////////////////////////////////////////////////
/* UAParser.js v0.7.40
Copyright © 2012-2024 Faisal Salman <f@faisalman.com>
/* UAParser.js v1.0.38
Copyright © 2012-2021 Faisal Salman <f@faisalman.com>
MIT License *//*
Detect Browser, Engine, OS, CPU, and Device type/model from User-Agent data.
Supports browser & node.js environment.
@@ -17,7 +17,7 @@
/////////////
var LIBVERSION = '0.7.40',
var LIBVERSION = '1.0.38',
EMPTY = '',
UNKNOWN = '?',
FUNC_TYPE = 'function',
@@ -60,8 +60,7 @@
ZEBRA = 'Zebra',
FACEBOOK = 'Facebook',
CHROMIUM_OS = 'Chromium OS',
MAC_OS = 'Mac OS',
SUFFIX_BROWSER = ' Browser';
MAC_OS = 'Mac OS';
///////////
// Helper
@@ -172,7 +171,7 @@
return (i === UNKNOWN) ? undefined : i;
}
}
return map.hasOwnProperty('*') ? map['*'] : str;
return str;
};
///////////////
@@ -232,23 +231,18 @@
// Mixed
/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i // Baidu
], [VERSION, [NAME, 'Baidu']], [
/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i // Maxthon
], [VERSION, [NAME, 'Maxthon']], [
/(kindle)\/([\w\.]+)/i, // Kindle
/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,
// Lunascape/Maxthon/Netfront/Jasmine/Blazer/Sleipnir
/(lunascape|maxthon|netfront|jasmine|blazer)[\/ ]?([\w\.]*)/i, // Lunascape/Maxthon/Netfront/Jasmine/Blazer
// Trident based
/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i, // Avant/IEMobile/SlimBrowser/SlimBoat/Slimjet
/(avant|iemobile|slim)\s?(?:browser)?[\/ ]?([\w\.]*)/i, // Avant/IEMobile/SlimBrowser
/(?:ms|\()(ie) ([\w\.]+)/i, // Internet Explorer
// Blink/Webkit/KHTML based // 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|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon)\/([-\w\.]+)/i,
// Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ//Vivaldi/DuckDuckGo/Klar/Helio/Dragon
/(heytap|ovi|115)browser\/([\d\.]+)/i, // HeyTap/Ovi/115
// Webkit/KHTML based // Flock/RockMelt/Midori/Epiphany/Silk/Skyfire/Bolt/Iron/Iridium/PhantomJS/Bowser/QupZilla/Falkon
/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w\.]+)/i,
// Rekonq/Puffin/Brave/Whale/QQBrowserLite/QQ, aka ShouQ
/(heytap|ovi)browser\/([\d\.]+)/i, // Heytap/Ovi
/(weibo)__([\d\.]+)/i // Weibo
], [NAME, VERSION], [
/quark(?:pc)?\/([-\w\.]+)/i // Quark
], [VERSION, [NAME, 'Quark']], [
/\bddg\/([\w\.]+)/i // DuckDuckGo
], [VERSION, [NAME, 'DuckDuckGo']], [
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i // UCBrowser
@@ -278,31 +272,28 @@
/coast\/([\w\.]+)/i // Opera Coast
], [VERSION, [NAME, OPERA+' Coast']], [
/miuibrowser\/([\w\.]+)/i // MIUI Browser
], [VERSION, [NAME, 'MIUI' + SUFFIX_BROWSER]], [
/fxios\/([\w\.-]+)/i // Firefox for iOS
], [VERSION, [NAME, 'MIUI '+BROWSER]], [
/fxios\/([-\w\.]+)/i // Firefox for iOS
], [VERSION, [NAME, FIREFOX]], [
/\bqihoobrowser\/?([\w\.]*)/i // 360
], [VERSION, [NAME, '360']], [
/\b(qq)\/([\w\.]+)/i // QQ
], [[NAME, /(.+)/, '$1Browser'], VERSION], [
/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
], [[NAME, /(.+)/, '$1' + SUFFIX_BROWSER], VERSION], [ // Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser
/\bqihu|(qi?ho?o?|360)browser/i // 360
], [[NAME, '360 ' + BROWSER]], [
/(oculus|sailfish|huawei|vivo)browser\/([\w\.]+)/i
], [[NAME, /(.+)/, '$1 ' + BROWSER], VERSION], [ // Oculus/Sailfish/HuaweiBrowser/VivoBrowser
/samsungbrowser\/([\w\.]+)/i // Samsung Internet
], [VERSION, [NAME, SAMSUNG + ' Internet']], [
/(comodo_dragon)\/([\w\.]+)/i // Comodo Dragon
], [[NAME, /_/g, ' '], VERSION], [
/metasr[\/ ]?([\d\.]+)/i // Sogou Explorer
], [VERSION, [NAME, 'Sogou Explorer']], [
/(sogou)mo\w+\/([\d\.]+)/i // Sogou Mobile
], [[NAME, 'Sogou Mobile'], VERSION], [
/(electron)\/([\w\.]+) safari/i, // Electron-based App
/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i, // Tesla
/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i // QQ/2345
/m?(qqbrowser|2345Explorer)[\/ ]?([\w\.]+)/i // QQBrowser/2345 Browser
], [NAME, VERSION], [
/(lbbrowser|rekonq)/i, // LieBao Browser/Rekonq
/(lbbrowser)/i, // LieBao Browser
/\[(linkedin)app\]/i // LinkedIn App for iOS & Android
], [NAME], [
/ome\/([\w\.]+) \w* ?(iron) saf/i, // Iron
/ome\/([\w\.]+).+qihu (360)[es]e/i // 360
], [VERSION, NAME], [
// WebView
/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i // Facebook App for iOS & Android
@@ -346,24 +337,23 @@
// Gecko based
/(navigator|netscape\d?)\/([-\w\.]+)/i // Netscape
], [[NAME, 'Netscape'], VERSION], [
/(wolvic|librewolf)\/([\w\.]+)/i // Wolvic/LibreWolf
], [NAME, VERSION], [
/mobile vr; rv:([\w\.]+)\).+firefox/i // Firefox Reality
], [VERSION, [NAME, FIREFOX+' Reality']], [
/ekiohf.+(flow)\/([\w\.]+)/i, // Flow
/(swiftfox)/i, // Swiftfox
/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,
// IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror
/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\/ ]?([\w\.\+]+)/i,
// IceDragon/Iceweasel/Camino/Chimera/Fennec/Maemo/Minimo/Conkeror/Klar
/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,
// Firefox/SeaMonkey/K-Meleon/IceCat/IceApe/Firebird/Phoenix
/(firefox)\/([\w\.]+)/i, // Other Firefox-based
/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i, // Mozilla
// Other
/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
// Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Obigo/Mosaic/Go/ICE/UP.Browser
/(links) \(([\w\.]+)/i // Links
], [NAME, [VERSION, /_/g, '.']], [
/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,
// Polaris/Lynx/Dillo/iCab/Doris/Amaya/w3m/NetSurf/Sleipnir/Obigo/Mosaic/Go/ICE/UP.Browser
/(links) \(([\w\.]+)/i, // Links
/panasonic;(viera)/i // Panasonic Viera
], [NAME, VERSION], [
/(cobalt)\/([\w\.]+)/i // Cobalt
], [NAME, [VERSION, /master.|lts./, ""]]
@@ -410,8 +400,8 @@
// Samsung
/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
], [MODEL, [VENDOR, SAMSUNG], [TYPE, TABLET]], [
/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
/samsung[- ]((?!sm-[lr])[-\w]+)/i,
/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
/samsung[- ]([-\w]+)/i,
/sec-(sgh\w+)/i
], [MODEL, [VENDOR, SAMSUNG], [TYPE, MOBILE]], [
@@ -429,14 +419,10 @@
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
], [MODEL, [VENDOR, SHARP], [TYPE, MOBILE]], [
// Honor
/(?:honor)([-\w ]+)[;\)]/i
], [MODEL, [VENDOR, 'Honor'], [TYPE, MOBILE]], [
// Huawei
/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i
], [MODEL, [VENDOR, HUAWEI], [TYPE, TABLET]], [
/(?:huawei)([-\w ]+)[;\)]/i,
/(?:huawei|honor)([-\w ]+)[;\)]/i,
/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i
], [MODEL, [VENDOR, HUAWEI], [TYPE, MOBILE]], [
@@ -446,7 +432,7 @@
/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i, // Xiaomi Hongmi
/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i, // Xiaomi Redmi
/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i, // Xiaomi Redmi 'numeric' models
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i // Xiaomi Mi
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\))/i // Xiaomi Mi
], [[MODEL, /_/g, ' '], [VENDOR, XIAOMI], [TYPE, MOBILE]], [
/oid[^\)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i, // Redmi Pad
/\b(mi[-_ ]?(?:pad)(?:[\w_ ]+))(?: bui|\))/i // Mi Pad tablets
@@ -501,7 +487,7 @@
], [MODEL, [VENDOR, GOOGLE], [TYPE, MOBILE]], [
// Sony
/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i
], [MODEL, [VENDOR, SONY], [TYPE, MOBILE]], [
/sony tablet [ps]/i,
/\b(?:sony)?sgp\w+(?: bui|\))/i
@@ -514,7 +500,7 @@
// Amazon
/(alexa)webm/i,
/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i, // Kindle Fire without Silk / Echo Show
/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i, // Kindle Fire without Silk / Echo Show
/(kf[a-z]+)( bui|\)).+silk\//i // Kindle Fire HD
], [MODEL, [VENDOR, AMAZON], [TYPE, TABLET]], [
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i // Fire Phone
@@ -543,14 +529,6 @@
/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i // Alcatel/GeeksPhone/Nexian/Panasonic/Sony
], [VENDOR, [MODEL, /_/g, ' '], [TYPE, MOBILE]], [
// TCL
/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])\w*(\)| bui)/i
], [MODEL, [VENDOR, 'TCL'], [TYPE, TABLET]], [
// itel
/(itel) ((\w+))/i
], [[VENDOR, lowerize], MODEL, [TYPE, strMapper, { 'tablet' : ['p10001l', 'w7001'], '*' : 'mobile' }]], [
// Acer
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
], [MODEL, [VENDOR, 'Acer'], [TYPE, TABLET]], [
@@ -564,28 +542,9 @@
/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i
], [MODEL, [VENDOR, 'Ulefone'], [TYPE, MOBILE]], [
// Energizer
/; (energy ?\w+)(?: bui|\))/i,
/; energizer ([\w ]+)(?: bui|\))/i
], [MODEL, [VENDOR, 'Energizer'], [TYPE, MOBILE]], [
// Cat
/; cat (b35);/i,
/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i
], [MODEL, [VENDOR, 'Cat'], [TYPE, MOBILE]], [
// Smartfren
/((?:new )?andromax[\w- ]+)(?: bui|\))/i
], [MODEL, [VENDOR, 'Smartfren'], [TYPE, MOBILE]], [
// Nothing
/droid.+; (a(?:015|06[35]|142p?))/i
], [MODEL, [VENDOR, 'Nothing'], [TYPE, MOBILE]], [
// MIXED
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno|micromax|advan)[-_ ]?([-\w]*)/i,
// BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron/Infinix/Tecno/Micromax/Advan
/; (imo) ((?!tab)[\w ]+?)(?: bui|\))/i, // IMO
/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,
// BlackBerry/BenQ/Palm/Sony-Ericsson/Acer/Asus/Dell/Meizu/Motorola/Polytron
/(hp) ([\w ]+\w)/i, // HP iPAQ
/(asus)-?(\w+)/i, // Asus
/(microsoft); (lumia[\w ]+)/i, // Microsoft Lumia
@@ -594,7 +553,6 @@
/(oppo) ?([\w ]+) bui/i // OPPO
], [VENDOR, MODEL, [TYPE, MOBILE]], [
/(imo) (tab \w+)/i, // IMO
/(kobo)\s(ereader|touch)/i, // Kobo
/(archos) (gamepad2?)/i, // Archos
/(hp).+(touchpad(?!.+tablet)|tablet)/i, // HP TouchPad
@@ -714,8 +672,6 @@
// WEARABLES
///////////////////
/\b(sm-[lr]\d\d[05][fnuw]?s?)\b/i // Samsung Galaxy Watch
], [MODEL, [VENDOR, SAMSUNG], [TYPE, WEARABLE]], [
/((pebble))app/i // Pebble
], [VENDOR, MODEL, [TYPE, WEARABLE]], [
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i // Apple Watch
@@ -724,16 +680,7 @@
], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [
/droid.+; (wt63?0{2,3})\)/i
], [MODEL, [VENDOR, ZEBRA], [TYPE, WEARABLE]], [
///////////////////
// XR
///////////////////
/droid.+; (glass) \d/i // Google Glass
], [MODEL, [VENDOR, GOOGLE], [TYPE, WEARABLE]], [
/(pico) (4|neo3(?: link|pro)?)/i // Pico
], [VENDOR, MODEL, [TYPE, WEARABLE]], [
/; (quest( \d| pro)?)/i // Oculus Quest
/(quest( \d| pro)?)/i // Oculus Quest
], [MODEL, [VENDOR, FACEBOOK], [TYPE, WEARABLE]], [
///////////////////
@@ -766,14 +713,11 @@
/windows.+ edge\/([\w\.]+)/i // EdgeHTML
], [VERSION, [NAME, EDGE+'HTML']], [
/(arkweb)\/([\w\.]+)/i // ArkWeb
], [NAME, VERSION], [
/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i // Blink
], [VERSION, [NAME, 'Blink']], [
/(presto)\/([\w\.]+)/i, // Presto
/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna/Servo
/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w\.]+)/i, // WebKit/Trident/NetFront/NetSurf/Amaya/Lynx/w3m/Goanna
/ekioh(flow)\/([\w\.]+)/i, // Flow
/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i, // KHTML/Tasman/Links
/(icab)[\/ ]([23]\.[\d\.]+)/i, // iCab
@@ -807,8 +751,8 @@
// Mobile OSes
/droid ([\w\.]+)\b.+(android[- ]x86|harmonyos)/i // Android-x86/HarmonyOS
], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS/OpenHarmony
/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish|openharmony)[-\/ ]?([\w\.]*)/i,
], [VERSION, NAME], [ // Android/WebOS/QNX/Bada/RIM/Maemo/MeeGo/Sailfish OS
/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\/ ]?([\w\.]*)/i,
/(blackberry)\w*\/([\w\.]*)/i, // Blackberry
/(tizen|kaios)[\/ ]([\w\.]+)/i, // Tizen/KaiOS
/\((series40);/i // Series 40

View File

@@ -1,72 +1,12 @@
[
{
"desc" : "115 Browser",
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_16_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36 115Browser/24.3.0.3",
"expect" :
{
"name" : "115",
"version" : "24.3.0.3",
"major" : "24"
}
},
{
"desc" : "2345 Browser",
"ua" : "Mozilla/5.0 (Linux; Android 7.0; MI NOTE Pro Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Mobile Safari/537.36 Mb2345Browser/15.6.2",
"expect" :
{
"name" : "2345",
"version" : "15.6.2",
"major" : "15"
}
},
{
"desc" : "2345 Chrome",
"ua" : "Mozilla/5.0 (Windows NT 6.3) AppleWebKit/537.36 (KHTML like Gecko) Chrome/39.0.2171.99 Safari/537.36 2345chrome v3.0.0.9739",
"expect" :
{
"name" : "2345",
"version" : "3.0.0.9739",
"major" : "3"
}
},
{
"desc" : "2345 Explorer",
"ua" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.90 Safari/537.36 2345Explorer/9.2.1.17116",
"expect" :
{
"name" : "2345",
"version" : "9.2.1.17116",
"major" : "9"
}
},
{
"desc" : "360 Browser on iOS",
"ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 12_4_1 like Mac OS X) AppleWebKit/607.3.9 (KHTML, like Gecko) Mobile/16G102 QHBrowser/317 QihooBrowser/4.0.10",
"expect" :
{
"name" : "360",
"version" : "4.0.10",
"major" : "4"
}
},
{
"desc" : "360 Secure Browser on Windows 10",
"ua" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 QIHU 360SE",
"expect" :
{
"name" : "360",
"version" : "86.0.4240.198",
"major" : "86"
}
},
{
"desc" : "360 Speed Browser on Windows 10",
"ua" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36 QIHU 360EE",
"expect" :
{
"name" : "360",
"version" : "86.0.4240.198",
"major" : "86"
"name" : "360 Browser",
"version" : "undefined",
"major" : "undefined"
}
},
{
@@ -269,16 +209,6 @@
"major" : "11"
}
},
{
"desc" : "Blazer",
"ua" : "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; PalmSource/hspr-H102; Blazer/4.0) 16;320x320",
"expect" :
{
"name" : "Blazer",
"version" : "4.0",
"major" : "4"
}
},
{
"desc" : "Bolt",
"ua" : "Mozilla/5.0 (X11; 78; CentOS; US-en) AppleWebKit/527+ (KHTML, like Gecko) Bolt/0.862 Version/3.0 Safari/523.15",
@@ -459,36 +389,6 @@
"major" : "78"
}
},
{
"desc" : "Comodo Dragon",
"ua" : "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/535.7 (KHTML, like Gecko) Comodo_Dragon/16.1.1.0 Chrome/16.0.912.63 Safari/535.7",
"expect" :
{
"name" : "Dragon",
"version" : "16.1.1.0",
"major" : "16"
}
},
{
"desc" : "Comodo Dragon",
"ua" : "Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/98.0.4758.102 Chrome/98.0.4758.102 Safari/537.36",
"expect" :
{
"name" : "Dragon",
"version" : "98.0.4758.102",
"major" : "98"
}
},
{
"desc" : "Conkeror",
"ua" : "Mozilla/5.0 (X11; Linux x86_64; rv:6.0.1) Gecko/20110831 conkeror/0.9.3",
"expect" :
{
"name" : "conkeror",
"version" : "0.9.3",
"major" : "0"
}
},
{
"desc" : "Dillo",
"ua" : "Dillo/2.2",
@@ -559,16 +459,6 @@
"major" : "5"
}
},
{
"desc" : "Go Browser",
"ua" : "NokiaE66/GoBrowser/2.0.297",
"expect" :
{
"name" : "GoBrowser",
"version" : "2.0.297",
"major" : "2"
}
},
{
"desc" : "Waterfox",
"ua" : "Mozilla/5.0 (X11; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.2.2 Waterfox/55.2.2",
@@ -768,26 +658,6 @@
"major" : "1"
}
},
{
"desc" : "Helio",
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.72 Safari/537.36 Helio/0.98.20",
"expect" :
{
"name" : "Helio",
"version" : "0.98.20",
"major" : "0"
}
},
{
"desc" : "HeyTap",
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.61 Safari/537.36 HeyTapBrowser/40.8.10.1",
"expect" :
{
"name" : "HeyTap",
"version" : "40.8.10.1",
"major" : "40"
}
},
{
"desc" : "HuaweiBrowser",
"ua" : "Mozilla/5.0 (Linux; Android 6.0.1; LYA-AL00HMSCore/4.0.0 GMS/10.4 ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.64 HuaweiBrowser/10.0.3.102 Mobile Safari/537.36",
@@ -838,16 +708,6 @@
"major" : "2"
}
},
{
"desc" : "ICEBrowser",
"ua" : "Mozilla/5.0 (Java 1.6.0_01; Windows XP 5.1 x86; en) ICEbrowser/v6_1_2",
"expect" :
{
"name" : "ICEbrowser",
"version" : "6.1.2",
"major" : "6"
}
},
{
"desc" : "IceCat",
"ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) Gecko/2008092921 IceCat/3.0.3-g1",
@@ -908,46 +768,6 @@
"major" : "11"
}
},
{
"desc" : "Iron",
"ua" : "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1250.0 Iron/22.0.2150.0 Safari/537.4",
"expect" :
{
"name" : "Iron",
"version" : "22.0.2150.0",
"major" : "22"
}
},
{
"desc" : "Iron",
"ua" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Iron Safari/537.36",
"expect" :
{
"name" : "Iron",
"version" : "129.0.0.0",
"major" : "129"
}
},
{
"desc" : "Iron",
"ua" : "Mozilla/5.0 (Linux; Android 11; Pixel 4 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Mobile Iron Safari/537.36",
"expect" :
{
"name" : "Iron",
"version" : "113.0.0.0",
"major" : "113"
}
},
{
"desc" : "Jasmine",
"ua" : "SAMSUNG-S8000/S8000XXIF3 SHP/VPP/R5 Jasmine/1.0 Nextreaming SMM-MMS/1.2.0 profile/MIDP-2.1 configuration/CLDC-1.1",
"expect" :
{
"name" : "Jasmine",
"version" : "1.0",
"major" : "1"
}
},
{
"desc" : "K-Meleon",
"ua" : "Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.5) Gecko/20031016 K-Meleon/0.8.2",
@@ -968,16 +788,6 @@
"major" : "2"
}
},
{
"desc" : "Klar < 4.1",
"ua" : "Mozilla/5.0 (Linux; Android 7.0) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Klar/1.0 Chrome/58.0.3029.83 Mobile Safari/537.36",
"expect" :
{
"name" : "Klar",
"version" : "1.0",
"major" : "1"
}
},
{
"desc" : "Konqueror",
"ua" : "Mozilla/5.0 (compatible; Konqueror/3.5; Linux; X11; x86_64) KHTML/3.5.6 (like Gecko) (Kubuntu)",
@@ -998,36 +808,6 @@
"major" : "5"
}
},
{
"desc" : "PicoBrowser",
"ua" : "Mozilla/5.0 (X11; Linux x86_64; Pico Neo3 Link OS5.8.4.0 like Quest) AppleWebKit/537.36 (KHTML, like Gecko) PicoBrowser/3.3.22 Chrome/105.0.5195.68 VR Safari/537.36",
"expect" :
{
"name" : "Pico Browser",
"version" : "3.3.22",
"major" : "3"
}
},
{
"desc" : "PicoBrowser",
"ua" : "Mozilla/5.0 (X11; Linux x86_64; PICO 4 OS5.4.0 like Quest) AppleWebKit/537.36 (KHTML, like Gecko) PicoBrowser/3.3.22 Chrome/105.0.5195.68 VR Safari/537.36 OculusBrowser/7.0",
"expect" :
{
"name" : "Pico Browser",
"version" : "3.3.22",
"major" : "3"
}
},
{
"desc" : "Rekonq",
"ua" : "Mozilla/5.0 (X11; U; Linux x86_64; cs-CZ) AppleWebKit/533.3 (KHTML, like Gecko) rekonq Safari/533.3",
"expect" :
{
"name" : "rekonq",
"version" : "undefined",
"major" : "undefined"
}
},
{
"desc" : "Smart Lenovo Browser",
"ua" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 SLBrowser/8.0.0.10171 SLBChan/8",
@@ -1048,26 +828,6 @@
"major" : "9"
}
},
{
"desc" : "LibreWolf",
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 LibreWolf/91.0",
"expect" :
{
"name" : "LibreWolf",
"version" : "91.0",
"major" : "91"
}
},
{
"desc" : "LibreWolf",
"ua" : "Mozilla/5.0 (X11; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0 LibreWolf/97.0.1",
"expect" :
{
"name" : "LibreWolf",
"version" : "97.0.1",
"major" : "97"
}
},
{
"desc" : "LINE on Android",
"ua" : "Mozilla/5.0 (Linux; Android 5.0; ASUS_Z00AD Build/LRX21V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/51.0.2704.81 Mobile Safari/537.36 Line/6.5.1/IAB",
@@ -1119,57 +879,7 @@
}
},
{
"desc" : "Maxthon on Android",
"ua" : "Mozilla/5.0 (Linux; Android 5.1.1; KFAUWI Build/LVY48F; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/100.0.4896.127 Safari/537.36 MxBrowser/4.3.5.2000",
"expect" :
{
"name" : "Maxthon",
"version" : "4.3.5.2000",
"major" : "4"
}
},
{
"desc" : "Maxthon on iOS",
"ua" : "Mozilla/5.0 (iPad; CPU OS 13_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/10.0 Mobile/15E148 Safari/602.1 MXiOS/5.4.5.2",
"expect" :
{
"name" : "Maxthon",
"version" : "5.4.5.2",
"major" : "5"
}
},
{
"desc" : "Maxthon on Linux",
"ua" : "Mozilla/5.0 (X11; Linux i686; Ubuntu 14.04.3 LTS) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.0 Maxthon/1.0.5.3 Safari/537.36",
"expect" :
{
"name" : "Maxthon",
"version" : "1.0.5.3",
"major" : "1"
}
},
{
"desc" : "Maxthon on macOS",
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.5.6 (KHTML, like Gecko) Version/11.0.3 Safari/604.5.6 Maxthon/5.1.102",
"expect" :
{
"name" : "Maxthon",
"version" : "5.1.102",
"major" : "5"
}
},
{
"desc" : "Maxthon on Windows Server 2003",
"ua" : "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; MyIE2; .NET CLR 1.1.4322)",
"expect" :
{
"name" : "Maxthon",
"version" : "undefined",
"major" : "undefined"
}
},
{
"desc" : "Maxthon on Windows XP",
"desc" : "Maxthon",
"ua" : "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; Maxthon; .NET CLR 1.1.4322)",
"expect" :
{
@@ -1178,16 +888,6 @@
"major" : "undefined"
}
},
{
"desc" : "Maxthon on Windows 10",
"ua" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36 Maxthon/5.2.7.2000",
"expect" :
{
"name" : "Maxthon",
"version" : "5.2.7.2000",
"major" : "5"
}
},
{
"desc" : "Midori",
"ua" : "Midori/0.2.2 (X11; Linux i686; U; en-us) WebKit/531.2+",
@@ -1298,26 +998,6 @@
"major" : "6"
}
},
{
"desc" : "NetSurf in Plan9",
"ua" : "Mozilla/5.0 (Plan9) NetSurf/3.12",
"expect" :
{
"name" : "NetSurf",
"version" : "3.12",
"major" : "3"
}
},
{
"desc" : "NetSurf in Linux",
"ua" : "NetSurf/3.10 (Linux; Arch Linux)",
"expect" :
{
"name" : "NetSurf",
"version" : "3.10",
"major" : "3"
}
},
{
"desc" : "Nokia Browser",
"ua" : "Mozilla/5.0 (Symbian/3; Series60/5.2 NokiaN8-00/025.007; 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",
@@ -1498,16 +1178,6 @@
"major" : "1"
}
},
{
"desc" : "OviBrowser",
"ua" : "Mozilla/5.0 (Series40; NokiaX3-02/le6.32; Profile/MIDP-2.1 Configuration/CLDC-1.1) Gecko/20100401 S40OviBrowser/1.0.0.11.8",
"expect" :
{
"name" : "OviBrowser",
"version" : "1.0.0.11.8",
"major" : "1"
}
},
{
"desc" : "PhantomJS",
"ua" : "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.2 Safari/534.34",
@@ -1539,7 +1209,7 @@
}
},
{
"desc" : "QQBrowser",
"desc" : "QQ",
"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",
"expect" :
{
@@ -1548,36 +1218,6 @@
"major" : "7"
}
},
{
"desc" : "QQBrowser",
"ua" : "Mozilla/5.0 (Linux; U; Android 9; zh-cn; vivo X21 Build/PKQ1.180819.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.126 MQQBrowser/9.9 Mobile Safari/537.36",
"expect" :
{
"name" : "QQBrowser",
"version" : "9.9",
"major" : "9"
}
},
{
"desc" : "Quark",
"ua" : "Mozilla/5.0 (Linux; U; Android 12; zh-Hans-CN; JLH-AN00 Build/HONORJLH-AN00) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.108 Quark/5.8.2.221 Mobile Safari/537.36",
"expect" :
{
"name" : "Quark",
"version" : "5.8.2.221",
"major" : "5"
}
},
{
"desc" : "Quark",
"ua" : "mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/112.0.0.0 safari/537.36 quarkpc/1.5.5.75",
"expect" :
{
"name" : "Quark",
"version" : "1.5.5.75",
"major" : "1"
}
},
{
"desc" : "QupZilla",
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) QupZilla/1.8.9 Safari/538.1",
@@ -1588,16 +1228,6 @@
"major" : "1"
}
},
{
"desc" : "Rekonq 2",
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.21 (KHTML, like Gecko) rekonq/2.2.1 Safari/537.21",
"expect" :
{
"name" : "rekonq",
"version" : "2.2.1",
"major" : "2"
}
},
{
"desc" : "RockMelt",
"ua" : "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) RockMelt/0.8.36.78 Chrome/7.0.517.44 Safari/534.7",
@@ -1707,68 +1337,17 @@
"version" : "2.0",
"major" : "2"
}
},
{
"desc" : "Sleipnir",
"ua" : "Mozilla/5.0 (Linux; Android 10; SOV37 Build/52.1.C.0.220; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/123.0.6312.120 Mobile Safari/537.36 Sleipnir/3.7.5",
"expect" :
{
"name" : "Sleipnir",
"version" : "3.7.5",
"major" : "3"
}
},
{
"desc" : "Sleipnir",
"ua" : "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Sleipnir 2.8.4)",
"expect" :
{
"name" : "Sleipnir",
"version" : "2.8.4",
"major" : "2"
}
},
{
"desc" : "Sleipnir",
"ua" : "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022) Sleipnir/2.8.4",
"expect" :
{
"name" : "Sleipnir",
"version" : "2.8.4",
"major" : "2"
}
},
{
"desc" : "SlimBoat",
"ua" : "Mozilla/5.0 (Windows NT 5.2) AppleWebKit/534.34 (KHTML, like Gecko) SlimBoat/1.1.23 Chrome/11.0.696.7 Version/5.1 Safari/534.34",
"expect" :
{
"name" : "SlimBoat",
"version" : "1.1.23",
"major" : "1"
}
},
{
"desc" : "SlimBrowser",
"ua" : "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; SlimBrowser)",
"expect" :
{
"name" : "SlimBrowser",
"name" : "Slim",
"version" : "undefined",
"major" : "undefined"
}
},
{
"desc" : "Slimjet",
"ua" : "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.75 Safari/537.36 Slimjet/20.0.2.0",
"expect" :
{
"name" : "Slimjet",
"version" : "20.0.2.0",
"major" : "20"
}
},
{
"desc" : "Swiftfox",
"ua" : "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1) Gecko/20061024 Firefox/2.0 (Swiftfox)",
@@ -1870,7 +1449,7 @@
}
},
{
"desc" : "UP.Browser",
"desc" : "UPBrowser",
"ua" : "BenQ-CF61/1.00/WAP2.0/MIDP2.0/CLDC1.0 UP.Browser/6.3.0.4.c.1.102 (GUI) MMP/2.0",
"expect" :
{
@@ -1940,23 +1519,13 @@
}
},
{
"desc" : "w3m",
"ua" : "w3m/0.5.1",
"desc" : "Viera",
"ua" : "HbbTV/1.2.1 (;Panasonic;VIERA 2015;3.014;a001-003 4000-0000;)",
"expect" :
{
"name" : "w3m",
"version" : "0.5.1",
"major" : "0"
}
},
{
"desc" : "Wolvic",
"ua" : "Mozilla/5.0 (Android 12; Mobile VR; rv:121.0) Gecko/121.0 Firefox/121.0 Wolvic/1.6.1",
"expect" :
{
"name" : "Wolvic",
"version" : "1.6.1",
"major" : "1"
"name" : "VIERA",
"version" : "undefined",
"major" : "undefined"
}
},
{
@@ -2154,7 +1723,7 @@
"ua" : "Mozilla/5.0 (iPhone; CPU iPhone OS 10_0_2 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Mobile/14A456 QQ/6.5.3.410 V1_IPH_SQ_6.5.3_1_APP_A Pixel/1080 Core/UIWebView NetType/WIFI Mem/26",
"expect" :
{
"name" : "QQBrowser",
"name" : "QQ",
"version" : "6.5.3.410",
"major" : "6"
}
@@ -2164,7 +1733,7 @@
"ua" : "Mozilla/5.0 (Linux; Android 6.0; PRO 6 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/37.0.0.0 Mobile MQQBrowser/6.8 TBS/036824 Safari/537.36 V1_AND_SQ_6.5.8_422_YYB_D PA QQ/6.5.8.2910 NetType/WIFI WebP/0.3.0 Pixel/1080",
"expect" :
{
"name" : "QQBrowser",
"name" : "QQ",
"version" : "6.5.8.2910",
"major" : "6"
}
@@ -2237,6 +1806,16 @@
"name" : "LBBROWSER"
}
},
{
"desc" : "2345 Browser",
"ua" : "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.90 Safari/537.36 2345Explorer/9.2.1.17116",
"expect" :
{
"name" : "2345Explorer",
"version" : "9.2.1.17116",
"major" : "9"
}
},
{
"desc" : "QQBrowserLite",
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14 QQBrowserLite/1.1.0",
@@ -2295,46 +1874,6 @@
"name" : "LinkedIn"
}
},
{
"desc" : "Links in Linux",
"ua" : "Links (2.xpre7; Linux 2.4.18 i586; x)",
"expect" :
{
"name" : "Links",
"version" : "2.xpre7",
"major" : "2"
}
},
{
"desc" : "Links in Mac",
"ua" : "Links (2.1pre33; Darwin 8.11.0 Power Macintosh; 169x55)",
"expect" :
{
"name" : "Links",
"version" : "2.1pre33",
"major" : "2"
}
},
{
"desc" : "Links in NetBSD",
"ua" : "Links (2.29; NetBSD 10.0 i386; GNU C 10.5; x)",
"expect" :
{
"name" : "Links",
"version" : "2.29",
"major" : "2"
}
},
{
"desc" : "Links in FreeBSD",
"ua" : "Links (2.1pre15; FreeBSD 5.3-RELEASE i386; 196x84)",
"expect" :
{
"name" : "Links",
"version" : "2.1pre15",
"major" : "2"
}
},
{
"desc" : "Safari including comma in minor version number",
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.6,2 Safari/605.1.15",

View File

@@ -8,33 +8,6 @@
"type": "mobile"
}
},
{
"desc": "Advan M4",
"ua": "Mozilla/5.0 (Linux; U; Android 6.0; ADVAN M4 Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/44.0.2403.119 Mobile Safari/537.36 OPR/28.0.2254.119214",
"expect": {
"vendor": "ADVAN",
"model": "M4",
"type": "mobile"
}
},
{
"desc": "Advan S40",
"ua": "Mozilla/5.0 (Linux; Android 7.0; ADVAN S40 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Mobile Safari/537.36 EdgA/79.0.309.58",
"expect": {
"vendor": "ADVAN",
"model": "S40",
"type": "mobile"
}
},
{
"desc": "Advan Sketsa 2",
"ua": "Mozilla/5.0 (Linux; Android 11; ADVAN 1011) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.101 Safari/537.36",
"expect": {
"vendor": "ADVAN",
"model": "1011",
"type": "mobile"
}
},
{
"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",
@@ -233,42 +206,6 @@
"type": "mobile"
}
},
{
"desc": "Cat B15Q",
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; B15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Mobile Safari/537.36",
"expect": {
"vendor": "Cat",
"model": "B15Q",
"type": "mobile"
}
},
{
"desc": "Cat B35",
"ua": "Mozilla/5.0 (Mobile; CAT B35; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5.1",
"expect": {
"vendor": "Cat",
"model": "B35",
"type": "mobile"
}
},
{
"desc": "Cat S22 Flip",
"ua": "Mozilla/5.0 (Linux; Android 11; S22 FLIP Build/RKQ1.210416.002) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.6422.165 Mobile Safari/537.36",
"expect": {
"vendor": "Cat",
"model": "S22 FLIP",
"type": "mobile"
}
},
{
"desc": "Cat S62 Pro",
"ua": "Mozilla/5.0 (Linux; Android 11; S62 Pro Build/RKQ1.210406.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/94.0.4606.85 Mobile Safari/537.36 GSA/12.34.17.23.arm64",
"expect": {
"vendor": "Cat",
"model": "S62 Pro",
"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",
@@ -287,33 +224,6 @@
"type": "mobile"
}
},
{
"desc": "Energizer Energy 400",
"ua": "Mozilla/5.0 (Linux; Android 6.0; Energy400 Build/MRA58K test-keys; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/66.0.3359.158 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/172.0.0.66.93;]",
"expect": {
"vendor": "Energizer",
"model": "Energy400",
"type": "mobile"
}
},
{
"desc": "Energizer Energy 400S",
"ua": "Mozilla/5.0 (Linux; Android 6.0; Energy 400S Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/68.0.3440.85 Mobile Safari/537.36",
"expect": {
"vendor": "Energizer",
"model": "Energy 400S",
"type": "mobile"
}
},
{
"desc": "Energizer Ultimate 65G",
"ua": "Mozilla/5.0 (Linux; Android 14; Energizer Ultimate 65G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Mobile Safari/537.36",
"expect": {
"vendor": "Energizer",
"model": "Ultimate 65G",
"type": "mobile"
}
},
{
"desc": "Essential PH-1",
"ua": "Mozilla/5.0 (Linux; Android 9; PH-1 Build/PPR1.180905.036) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.86 Mobile Safari/537.36",
@@ -759,7 +669,7 @@
"desc": "Huawei Honor 6A",
"ua": "Mozilla/5.0 (Linux; Android 7.0; DLI-L22 Build/HONORDLI-L22; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.116 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/252.0.0.22.355;]",
"expect": {
"vendor": "Honor",
"vendor": "Huawei",
"model": "DLI-L22",
"type": "mobile"
}
@@ -768,7 +678,7 @@
"desc": "Huawei Honor 7",
"ua": "Mozilla/5.0 (Linux; Android 6.0; PLK-L01 Build/HONORPLK-L01; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/79.0.3945.116 Mobile Safari/537.36",
"expect": {
"vendor": "Honor",
"vendor": "Huawei",
"model": "PLK-L01",
"type": "mobile"
}
@@ -777,7 +687,7 @@
"desc": "Huawei 10 Lite",
"ua": "Mozilla/5.0 (Linux; Android 9; HRY-LX1 Build/HONORHRY-LX1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.91 Mobile Safari/537.36",
"expect": {
"vendor": "Honor",
"vendor": "Huawei",
"model": "HRY-LX1",
"type": "mobile"
}
@@ -872,42 +782,6 @@
"type": "mobile"
}
},
{
"desc": "IMO FEEL A2",
"ua": "Mozilla/5.0 (Linux; Android 5.1; IMO FEEL A2 Build/LMY47I; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/49.0.2623.105 Mobile Safari/537.36",
"expect": {
"vendor": "IMO",
"model": "FEEL A2",
"type": "mobile"
}
},
{
"desc": "IMO Q2",
"ua": "Mozilla/5.0 (Linux; Android 5.1; IMO Q2 Build/LMY47D; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/65.0.3325.109 Mobile Safari/537.36 GSA/7.22.24.21.arm",
"expect": {
"vendor": "IMO",
"model": "Q2",
"type": "mobile"
}
},
{
"desc": "IMO S2",
"ua": "Mozilla/5.0 (Linux; Android 8.1.0; IMO S2 Build/O11019; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.162 Mobile Safari/537.36",
"expect": {
"vendor": "IMO",
"model": "S2",
"type": "mobile"
}
},
{
"desc": "IMO Tab X9",
"ua": "Mozilla/5.0 (Linux; U; Android 4.0.3; id-id; IMO TAB X9 Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30",
"expect": {
"vendor": "IMO",
"model": "TAB X9",
"type": "tablet"
}
},
{
"desc": "Infinix Hot 7 Pro",
"ua": "Mozilla/5.0 (Linux; Android 9; Infinix X625C) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36",
@@ -1268,33 +1142,6 @@
"type": "mobile"
}
},
{
"desc": "Micromax Bharat 2 Plus",
"ua": "Mozilla/5.0 (Linux; U; Android 7.0; en-US; Micromax Q402Plus Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.12.9.1226 Mobile Safari/537.36",
"expect": {
"vendor": "Micromax",
"model": "Q402Plus",
"type": "mobile"
}
},
{
"desc": "Micromax Canvas Infinity",
"ua": "Mozilla/5.0 (Linux; U; Android 7.1.2; en-US; Micromax HS2 Build/N2G47H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/13.2.0.1296 (SpeedMode) U4/1.0 UCWEB/2.0 Mobile Safari/534.30",
"expect": {
"vendor": "Micromax",
"model": "HS2",
"type": "mobile"
}
},
{
"desc": "Micromax In 1b",
"ua": "Mozilla/5.0 (Linux; U; Android 10; Micromax E7533 Build/QP1A.190711.020; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/87.0.4280.101 Mobile Safari/537.36 OPR/54.0.2254.56148",
"expect": {
"vendor": "Micromax",
"model": "E7533",
"type": "mobile"
}
},
{
"desc": "Microsoft Lumia 950",
"ua": "Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586",
@@ -1430,60 +1277,6 @@
"type": "mobile"
}
},
{
"desc": "itel A25",
"ua": "Mozilla/5.0 (Linux; Android 9; itel L5002) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.130 Mobile Safari/537.36 OPR/63.3.3216.58675",
"expect": {
"vendor": "itel",
"model": "L5002",
"type": "mobile"
}
},
{
"desc": "itel A50",
"ua": "Mozilla/5.0 (Linux; U; Android 14; itel A667L Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/127.0.6533.103 Mobile Safari/537.36 OPR/83.1.2254.73239",
"expect": {
"vendor": "itel",
"model": "A667L",
"type": "mobile"
}
},
{
"desc": "itel KidPad 1",
"ua": "Mozilla/5.0 (Linux; Android 10; Itel W7001) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.101 Mobile Safari/537.36",
"expect": {
"vendor": "itel",
"model": "W7001",
"type": "tablet"
}
},
{
"desc": "itel Pad One",
"ua": "Mozilla/5.0 (Linux; Android 12; itel P10001L Build/SP1A.210812.016) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.172 Safari/537.36",
"expect": {
"vendor": "itel",
"model": "P10001L",
"type": "tablet"
}
},
{
"desc": "itel RS4",
"ua": "Mozilla/5.0 (Linux; Android 13; itel S666LN Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/125.0.6422.165 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/468.1.0.56.78;]",
"expect": {
"vendor": "itel",
"model": "S666LN",
"type": "mobile"
}
},
{
"desc": "itel Vision 2S",
"ua": "Mozilla/5.0 (Linux; Android 11; itel P651L Build/RP1A.201005.001) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5672.76 Mobile Safari/537.36",
"expect": {
"vendor": "itel",
"model": "P651L",
"type": "mobile"
}
},
{
"desc": "Moto X",
"ua": "Mozilla/5.0 (Linux; U; Android 4.2; xx-xx; XT1058 Build/13.9.0Q2.X-70-GHOST-ATT_LE-2) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
@@ -1565,33 +1358,6 @@
"type": "mobile"
}
},
{
"desc": "Nothing 1",
"ua": "Mozilla/5.0 (Linux; Android 13; A063) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/22.0 Chrome/111.0.5563.116 Mobile Safari/537.36",
"expect": {
"vendor": "Nothing",
"model": "A063",
"type": "mobile"
}
},
{
"desc": "Nothing 2",
"ua": "Mozilla/5.0 (Linux; Android 14; A065 Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/125.0.6422.53 Mobile Safari/537.36",
"expect": {
"vendor": "Nothing",
"model": "A065",
"type": "mobile"
}
},
{
"desc": "Nothing 2a",
"ua": "Mozilla/5.0 (Linux; Android 14; A142 Build/UP1A.231005.007; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/126.0.6478.71 Mobile Safari/537.36",
"expect": {
"vendor": "Nothing",
"model": "A142",
"type": "mobile"
}
},
{
"desc": "Oculus Quest",
"ua": "Mozilla/5.0 (Linux; Android 10; Quest) AppleWebKit/537.36 (KHTML, like Gecko) OculusBrowser/15.0.0.0.22.280317669 SamsungBrowser/4.0 Chrome/89.0.4389.90 VR Safari/537.36",
@@ -1628,15 +1394,6 @@
"type": "wearable"
}
},
{
"desc": "Issue #747",
"ua": "python-requests/2.25.1",
"expect": {
"vendor": "undefined",
"model": "undefined",
"type": "undefined"
}
},
{
"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",
@@ -2015,69 +1772,6 @@
"type": "smarttv"
}
},
{
"desc": "Pico 4",
"ua": "Mozilla/5.0 (X11; Linux x86_64; PICO 4 OS5.8.2 like Quest) AppleWebKit/537.36 (KHTML, like Gecko) PicoBrowser/3.3.38 Chrome/105.0.5195.68 VR Safari/537.36",
"expect": {
"vendor": "PICO",
"model": "4",
"type": "wearable"
}
},
{
"desc": "Pico 4",
"ua": "Mozilla/5.0 (X11; Linux x86_64; PICO 4 OS5.4.0 like Quest) AppleWebKit/537.36 (KHTML, like Gecko) PicoBrowser/3.3.22 Chrome/105.0.5195.68 VR Safari/537.36 OculusBrowser/7.0",
"expect": {
"vendor": "PICO",
"model": "4",
"type": "wearable"
}
},
{
"desc": "Pico Neo3 Link",
"ua": "Mozilla/5.0 (X11; Linux x86_64; Pico Neo3 Link OS5.8.4.0 like Quest) AppleWebKit/537.36 (KHTML, like Gecko) PicoBrowser/3.3.22 Chrome/105.0.5195.68 VR Safari/537.36",
"expect": {
"vendor": "Pico",
"model": "Neo3 Link",
"type": "wearable"
}
},
{
"desc": "Polytron Prime 7 Pro",
"ua": "Mozilla/5.0 (Linux; U; Android 7.0; POLYTRON_P552 Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/64.0.3282.137 Mobile Safari/537.36 OPR/50.0.2254.149182",
"expect": {
"vendor": "POLYTRON",
"model": "P552",
"type": "mobile"
}
},
{
"desc": "Polytron Rocket T1",
"ua": "Mozilla/5.0 (Linux; U; Android 5.0; en-US; POLYTRON R2501 Build/LRX21M) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/13.1.2.1293 Mobile Safari/537.36",
"expect": {
"vendor": "POLYTRON",
"model": "R2501",
"type": "mobile"
}
},
{
"desc": "Polytron Rocket T6",
"ua": "Mozilla/5.0 (Linux; Android 7.0; POLYTRON R2509) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.92 Mobile Safari/537.36",
"expect": {
"vendor": "POLYTRON",
"model": "R2509",
"type": "mobile"
}
},
{
"desc": "Polytron Zap 6 Posh",
"ua": "Mozilla/5.0 (Linux; U; Android 5.1; in-ID; POLYTRON_4G501 Build/LMY47D) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.10.0.1163 UCTurbo/1.9.9.900 Mobile Safari/537.36",
"expect": {
"vendor": "POLYTRON",
"model": "4G501",
"type": "mobile"
}
},
{
"desc": "Roku",
"ua": "Mozilla/5.0 (Roku) AppleWebKit/537.36 (KHTML, like Gecko) Web/1.1 Safari/537.36",
@@ -2150,24 +1844,6 @@
"type": "tablet"
}
},
{
"desc": "Echo Show 8",
"ua": "Mozilla/5.0 (Linux; Android 7.1.2; AEOCW) AppleWebKit/537.36 (KHTML, like Gecko) Silk/106.3.3 like Chrome/106.0.5249.170 Safari/537.36",
"expect": {
"vendor": "Amazon",
"model": "AEOCW",
"type": "tablet"
}
},
{
"desc": "Echo Show 15",
"ua": "Mozilla/5.0 (Linux; Android 9; AEOHY) AppleWebKit/537.36 (KHTML, like Gecko) Silk/112.6.3 like Chrome/112.0.5615.213 Safari/537.36",
"expect": {
"vendor": "Amazon",
"model": "AEOHY",
"type": "tablet"
}
},
{
"desc": "Echo Dot",
"ua": "Dalvik/2.1.0 (Linux; U; Android 5.1.1; AEOBC Build/LVY48F)",
@@ -2384,42 +2060,6 @@
"type": "tablet"
}
},
{
"desc": "Samsung Galaxy Watch",
"ua": "Mozilla/5.0 (Linux; Tizen 5.5; SAMSUNG SM-R805W) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.0 Chrome/69.0.3497.106 Mobile Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-R805W",
"type": "wearable"
}
},
{
"desc": "Samsung Galaxy Watch Active 2",
"ua": "Mozilla/5.0 (Linux; Tizen 5.5; SAMSUNG SM-R820) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.0 Chrome/69.0.3497.106 Mobile Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-R820",
"type": "wearable"
}
},
{
"desc": "Samsung Galaxy Watch4",
"ua": "Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-R875U) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/2.2. Chrome/102.0.5005.125 Mobile Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-R875U",
"type": "wearable"
}
},
{
"desc": "Samsung Galaxy Watch5 Pro",
"ua": "Mozilla/5.0 (Linux; Android 11; SAMSUNG SM-R925U) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.2. Chrome/111.0.5563.116 Mobile Safari/537.36",
"expect": {
"vendor": "Samsung",
"model": "SM-R925U",
"type": "wearable"
}
},
{
"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",
@@ -2528,33 +2168,6 @@
"type": "mobile"
}
},
{
"desc": "Smartfren Andromax L",
"ua": "Mozilla/5.0 (Linux; Android 6.0.1; Andromax B26D2H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36",
"expect": {
"vendor": "Smartfren",
"model": "Andromax B26D2H",
"type": "mobile"
}
},
{
"desc": "Smartfren Andromax G2",
"ua": "Mozilla/5.0 (Linux; Android 4.4.2; Smartfren Andromax AD9A1H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.83 Mobile Safari/537.36",
"expect": {
"vendor": "Smartfren",
"model": "Andromax AD9A1H",
"type": "mobile"
}
},
{
"desc": "Smartfren New Andromax I",
"ua": "Mozilla/5.0 (Linux; U; Android 4.1.2; id-id; New Andromax-i Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30",
"expect": {
"vendor": "Smartfren",
"model": "New Andromax-i",
"type": "mobile"
}
},
{
"desc": "SONY Xperia 1 III",
"ua": "Mozilla/5.0 (Linux; Android 11; A101SO) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Mobile Safari/537.36",
@@ -2735,114 +2348,6 @@
"type": "smarttv"
}
},
{
"desc": "TCL 10 TabMax",
"ua": "Mozilla/5.0 (Linux; Android 11; 9296Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
"expect": {
"vendor": "TCL",
"model": "9296Q",
"type": "tablet"
}
},
{
"desc": "TCL 10 TabMax 4G",
"ua": "Mozilla/5.0 (Linux; Android 10; 9295G_EEA) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36",
"expect": {
"vendor": "TCL",
"model": "9295G",
"type": "tablet"
}
},
{
"desc": "TCL 10 TabMax WiFi",
"ua": "Mozilla/5.0 (Linux; Android 10; 9296G_TR) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.101 Safari/537.36",
"expect": {
"vendor": "TCL",
"model": "9296G",
"type": "tablet"
}
},
{
"desc": "TCL NxtPaper 11",
"ua": "Mozilla/5.0 (Linux; Android 13; 9466X Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/126.0.6478.179 Safari/537.36 [FB_IAB/FB4A;FBAV/473.0.0.41.81;]",
"expect": {
"vendor": "TCL",
"model": "9466X",
"type": "tablet"
}
},
{
"desc": "TCL Tab 8 4G",
"ua": "Mozilla/5.0 (Linux; Android 10; 9048S) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36",
"expect": {
"vendor": "TCL",
"model": "9048S",
"type": "tablet"
}
},
{
"desc": "TCL Tab 8 LE",
"ua": "Mozilla/5.0 (Linux; Android 12; 9137W Build/SP1A.210812.016; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/114.0.5735.61 Mobile Safari/537.36",
"expect": {
"vendor": "TCL",
"model": "9137W",
"type": "tablet"
}
},
{
"desc": "TCL Tab 10 FHD 4G",
"ua": "Mozilla/5.0 (Linux; Android 11; 9060G Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/114.0.5735.196 Safari/537.36",
"expect": {
"vendor": "TCL",
"model": "9060G",
"type": "tablet"
}
},
{
"desc": "TCL Tab 10 HD 4G",
"ua": "Mozilla/5.0 (Linux; Android 11; 9060X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36",
"expect": {
"vendor": "TCL",
"model": "9060X",
"type": "tablet"
}
},
{
"desc": "TCL Tab 10 LTE",
"ua": "Mozilla/5.0 (Linux; Android 13; 8196G Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/126.0.6478.162 Safari/537.36 [FB_IAB/FB4A;FBAV/471.0.0.35.80;]",
"expect": {
"vendor": "TCL",
"model": "8196G",
"type": "tablet"
}
},
{
"desc": "TCL Tab 10 WiFi",
"ua": "Mozilla/5.0 (Linux; Android 13; 8496G Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/127.0.6533.61 Safari/537.36 [FB_IAB/FB4A;FBAV/474.0.0.52.74;]",
"expect": {
"vendor": "TCL",
"model": "8496G",
"type": "tablet"
}
},
{
"desc": "TCL Tab 10L",
"ua": "Mozilla/5.0 (Linux; Android 11; 8491X_EEA Build/RP1A.200720.011; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/107.0.5304.105 Safari/537.36",
"expect": {
"vendor": "TCL",
"model": "8491X",
"type": "tablet"
}
},
{
"desc": "TCL Tab 10s 4G",
"ua": "Mozilla/5.0 (Linux; Android 11; 9080G) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36",
"expect": {
"vendor": "TCL",
"model": "9080G",
"type": "tablet"
}
},
{
"desc": "Tecno KC8",
"ua": "Mozilla/5.0 (Linux; Android 10; TECNO KC8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Mobile Safari/537.36",
@@ -3059,15 +2564,6 @@
"type": "mobile"
}
},
{
"desc": "Xiaomi Mi 10 Pro",
"ua": "Linux; U; Android 13; Mi 10 Pro Build/TKQ1.221114.001",
"expect": {
"vendor": "Xiaomi",
"model": "Mi 10 Pro",
"type": "mobile"
}
},
{
"desc": "Xiaomi Mi 5s Plus",
"ua": "Mozilla/5.0 (Linux; U; Android 6.0.1; zh-cn; MI 5s Plus Build/MXB48T) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.146 Mobile Safari/537.36 XiaoMi/MiuiBrowser/8.7.1",

View File

@@ -1,13 +1,4 @@
[
{
"desc" : "ArkWeb",
"ua" : "Mozilla/5.0 (Phone; OpenHarmony 4.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 ArkWeb/4.1.6.1 Mobile",
"expect" :
{
"name" : "ArkWeb",
"version" : "4.1.6.1"
}
},
{
"desc" : "Blink",
"ua" : "Mozilla/5.0 (Linux; Android 7.0; SM-G920I Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) OculusBrowser/3.4.9 SamsungBrowser/4.0 Chrome/57.0.2987.146 Mobile VR Safari/537.36",
@@ -89,15 +80,6 @@
"version" : "2.8.149"
}
},
{
"desc" : "Servo",
"ua" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Servo/1.0 Firefox/111.0",
"expect" :
{
"name" : "Servo",
"version" : "1.0"
}
},
{
"desc" : "Tasman",
"ua" : "Mozilla/4.0 (compatible; MSIE 6.0; PPC Mac OS X 10.4.7; Tasman 1.0)",

View File

@@ -1240,14 +1240,5 @@
"name" : "SerenityOS",
"version" : "undefined"
}
},
{
"desc" : "OpenHarmony",
"ua" : "Mozilla/5.0 (Phone; OpenHarmony 4.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 ArkWeb/4.1.6.1 Mobile",
"expect" :
{
"name" : "OpenHarmony",
"version" : "4.1"
}
}
]