diff --git a/parser/client/browser-families.js b/parser/client/browser-families.js index 48fdb50b..7499cc8c 100644 --- a/parser/client/browser-families.js +++ b/parser/client/browser-families.js @@ -33,7 +33,7 @@ module.exports = { 'N3', 'GD', 'O9', 'Q3', 'F7', 'K2', 'P5', 'H5', 'V3', 'K3', 'Q4', 'G2', 'R2', 'WX', 'XP', '3I', 'BG', 'R0', 'JO', 'OL', 'GN', 'W4', 'QI', 'E1', 'RI', '8B', '5B', - 'K4', + 'K4', 'WK', ], 'Firefox': [ 'FF', 'BI', 'BF', 'BH', 'BN', 'C0', 'CU', 'EI', 'F1', @@ -41,7 +41,7 @@ module.exports = { 'IW', 'LH', 'LY', 'MB', 'MN', 'MO', 'MY', 'OA', 'OS', 'PI', 'PX', 'QA', 'S5', 'SX', 'TF', 'TO', 'WF', 'ZV', 'FP', 'AD', 'WL', '2I', 'P9', 'KJ', 'WY', 'VK', 'W5', - '7C', 'N7', + '7C', 'N7', 'W7', '8P', ], 'Internet Explorer': ['IE', 'CZ', 'BZ', 'IM', 'PS', '3A', '4A', 'RN'], 'Konqueror': ['KO'], diff --git a/parser/client/browser-short-mobile.js b/parser/client/browser-short-mobile.js index 61bc00e3..23f6c08e 100644 --- a/parser/client/browser-short-mobile.js +++ b/parser/client/browser-short-mobile.js @@ -20,6 +20,6 @@ module.exports = [ 'H5', 'V3', 'G2', 'BG', 'OL', 'II', 'TL', 'M6', 'Y3', 'M7', 'GN', 'D3', 'IG', 'HW', '4O', 'OU', '5P', 'KE', '5A', 'TT', '6P', 'G3', '7P', 'VU', 'F8', 'L4', 'DK', - 'DP', 'KL', 'K4', 'N6', 'KU', + 'DP', 'KL', 'K4', 'N6', 'KU', 'WK', ]; diff --git a/parser/client/browser-short.js b/parser/client/browser-short.js index 9e71a951..926448c0 100755 --- a/parser/client/browser-short.js +++ b/parser/client/browser-short.js @@ -71,6 +71,7 @@ module.exports = { 'VG': 'AVG Secure Browser', 'AC': 'Avira Secure Browser', 'A1': 'AwoX', + '7A': 'Awesomium', '5B': 'Basic Web Browser', 'BA': 'Beaker Browser', 'BM': 'Beamrise', @@ -423,6 +424,7 @@ module.exports = { 'PL': 'Palm Blazer', 'PM': 'Pale Moon', 'PY': 'Polypane', + '8P': 'Prism', 'PP': 'Oppo Browser', 'P6': 'Opus Browser', 'PR': 'Palm Pre', @@ -454,6 +456,7 @@ module.exports = { 'P0': 'PronHub Browser', 'PC': 'PSI Secure Browser', 'RW': 'Reqwireless WebViewer', + 'RO': 'Roccat', 'PS': 'Microsoft Edge', 'QA': 'Qazweb', 'QI': 'Qiyu', @@ -537,6 +540,7 @@ module.exports = { 'S4': 'Steam In-Game Overlay', 'ST': 'Streamy', 'SX': 'Swiftfox', + 'W7': 'Swiftweasel', 'SZ': 'Seznam Browser', 'W1': 'Sweet Browser', '2X': 'SX Browser', @@ -602,6 +606,7 @@ module.exports = { 'WT': 'WeTab Browser', '1W': 'World Browser', 'WL': 'Wolvic', + 'WK': 'Wukong Browser', 'WY': 'Wyzo', 'YG': 'YAGI', 'YJ': 'Yahoo! Japan Browser', diff --git a/parser/device/brand-short.js b/parser/device/brand-short.js index af60199f..23fa679f 100755 --- a/parser/device/brand-short.js +++ b/parser/device/brand-short.js @@ -47,6 +47,7 @@ module.exports = { 'Q3': 'AKIRA', '1A': 'Alba', 'AL': 'Alcatel', + 'AL0': 'Alienware', '20': 'Alcor', 'XY': 'Alps', 'XYA': 'XY Auto', @@ -654,6 +655,7 @@ module.exports = { '8X': 'Hi Nova', 'HLL': 'HLLO', 'HKC': 'HKC', + 'HMD': 'HMD', '8W': 'HKPro', 'HOF': 'HOFER', 'H1': 'Hoffmann', @@ -1568,6 +1570,7 @@ module.exports = { 'T1': 'Tolino', '0T': 'Tone', 'TY': 'Tooky', + 'TYD': 'TYD', 'TOO': 'TOOGO', 'T9': 'Top House', 'DK': 'Topelotek', @@ -1649,6 +1652,7 @@ module.exports = { 'VP': 'Vargo', 'VC': 'Vankyo', 'VAL': 'VALEM', + 'VA2': 'VALE', 'VAT': 'VALTECH', 'VAN': 'VANGUARD', 'VAW': 'VANWIN', diff --git a/parser/os/os_families.js b/parser/os/os_families.js index 57516806..a95cec50 100755 --- a/parser/os/os_families.js +++ b/parser/os/os_families.js @@ -3,9 +3,9 @@ module.exports = { 'Android': [ 'AND', 'CYN', 'FIR', 'REM', 'RZD', 'MLD', 'MCD', 'YNS', 'GRI', 'HAR', 'ADR', 'CLR', 'BOS', 'REV', 'LEN', 'SIR', 'RRS', 'WER', 'PIC', 'ARM', - 'HEL', + 'HEL', 'BYI', ], - 'AmigaOS': ['AMG', 'MOR'], + 'AmigaOS': ['AMG', 'MOR', 'ARO'], 'BlackBerry': ['BLB', 'QNX'], 'Brew': ['BMP'], 'BeOS': ['BEO', 'HAI'], @@ -24,20 +24,22 @@ module.exports = { 'FOR', 'MON', 'KAN', 'ZEN', 'LND', 'LNS', 'CHN', 'AMZ', 'TEN', 'CST', 'NOV', 'ROU', 'ZOR', 'RED', 'KAL', 'ORA', 'VID', 'TIV', 'BSN', 'RAS', 'UOS', 'PIO', 'FRI', 'LIR', 'WEB', 'SER', 'ASP', 'AOS', 'LOO', 'EUL', - 'SCI', 'ALP', 'CLO', 'ROC', 'OVZ', 'PVE', 'RST', + 'SCI', 'ALP', 'CLO', 'ROC', 'OVZ', 'PVE', 'RST', 'EZX', 'GNS', 'JOL', + 'TUR', 'QTP', 'WPO', ], 'Mac': ['MAC'], 'Mobile Gaming Console': ['PSP', 'NDS', 'XBX'], + 'OpenVMS': ['OVS'], 'Real-time OS': ['MTK', 'TDX', 'MRE', 'JME', 'REX'], - 'Other Mobile': ['WOS', 'POS', 'SBA', 'TIZ', 'SMG', 'MAE', 'LUN'], + 'Other Mobile': ['WOS', 'POS', 'SBA', 'TIZ', 'SMG', 'MAE', 'LUN', 'GEO'], 'Symbian': ['SYM', 'SYS', 'SY3', 'S60', 'S40'], 'Unix': [ 'SOS', 'AIX', 'HPX', 'BSD', 'NBS', 'OBS', 'DFB', 'SYL', 'IRI', 'T64', - 'INF', 'ELE', + 'INF', 'ELE', 'GNX', 'ULT', 'NWS', 'NXT', 'SBL', ], 'WebTV': ['WTV'], 'Windows': ['WIN'], - 'Windows Mobile': ['WPH', 'WMO', 'WCE', 'WRT', 'WIO'], + 'Windows Mobile': ['WPH', 'WMO', 'WCE', 'WRT', 'WIO', 'KIN'], 'Other Smart TV': ['WHS'], }; diff --git a/parser/os/os_systems.js b/parser/os/os_systems.js index 3f83e78d..a25c56c0 100755 --- a/parser/os/os_systems.js +++ b/parser/os/os_systems.js @@ -7,12 +7,14 @@ module.exports = { 'AMZ': 'Amazon Linux', 'AMG': 'AmigaOS', 'ARM': 'Armadillo OS', + 'ARO': 'AROS', 'ATV': 'tvOS', 'ARL': 'Arch Linux', 'AOS': 'AOSC OS', 'ASP': 'ASPLinux', 'BTR': 'BackTrack', 'SBA': 'Bada', + 'BYI': 'Baidu Yi', 'BEO': 'BeOS', 'BLB': 'BlackBerry OS', 'QNX': 'BlackBerry Tablet OS', @@ -45,6 +47,9 @@ module.exports = { 'FYD': 'FydeOS', 'FUC': 'Fuchsia', 'GNT': 'Gentoo', + 'GNX': 'GENIX', + 'GEO': 'GEOS', + 'GNS': 'gNewSense', 'GRI': 'GridOS', 'GTV': 'Google TV', 'HPX': 'HP-UX', @@ -56,9 +61,11 @@ module.exports = { 'IRI': 'IRIX', 'INF': 'Inferno', 'JME': 'Java ME', + 'JOL': 'Joli OS', 'KOS': 'KaiOS', 'KAL': 'Kali', 'KAN': 'Kanotix', + 'KIN': 'KIN OS', 'KNO': 'Knoppix', 'KTV': 'KreaTV', 'KBT': 'Kubuntu', @@ -79,18 +86,22 @@ module.exports = { 'SMG': 'MeeGo', 'MCD': 'MocorDroid', 'MON': 'moonOS', + 'EZX': 'Motorola EZX', 'MIN': 'Mint', 'MLD': 'MildWild', 'MOR': 'MorphOS', 'NBS': 'NetBSD', 'MTK': 'MTK / Nucleus', 'MRE': 'MRE', + 'NXT': 'NeXTSTEP', + 'NWS': 'NEWS-OS', 'WII': 'Nintendo', 'NDS': 'Nintendo Mobile', 'NOV': 'Nova', 'OS2': 'OS/2', 'T64': 'OSF1', 'OBS': 'OpenBSD', + 'OVS': 'OpenVMS', 'OVZ': 'OpenVZ', 'OWR': 'OpenWrt', 'OTV': 'Opera TV', @@ -104,6 +115,7 @@ module.exports = { 'PS3': 'PlayStation', 'PVE': 'Proxmox VE', 'PUR': 'PureOS', + 'QTP': 'Qtopia', 'PIO': 'Raspberry Pi OS', 'RAS': 'Raspbian', 'RHT': 'Red Hat', @@ -128,6 +140,7 @@ module.exports = { 'SIR': 'Sirin OS', 'SLW': 'Slackware', 'SOS': 'Solaris', + 'SBL': 'Star-Blade OS', 'SYL': 'Syllable', 'SYM': 'Symbian', 'SYS': 'Symbian OS', @@ -139,7 +152,9 @@ module.exports = { 'TIZ': 'Tizen', 'TIV': 'TiVo OS', 'TOS': 'TmaxOS', + 'TUR': 'Turbolinux', 'UBT': 'Ubuntu', + 'ULT': 'ULTRIX', 'UOS': 'UOS', 'VID': 'VIDAA', 'WAS': 'watchOS', @@ -152,6 +167,7 @@ module.exports = { 'WMO': 'Windows Mobile', 'WPH': 'Windows Phone', 'WRT': 'Windows RT', + 'WPO': 'WoPhone', 'XBX': 'Xbox', 'XBT': 'Xubuntu', 'YNS': 'YunOS', diff --git a/regexes/bots.yml b/regexes/bots.yml index 6c25fedf..3918bfd5 100644 --- a/regexes/bots.yml +++ b/regexes/bots.yml @@ -132,10 +132,18 @@ - regex: 'Applebot' name: 'Applebot' category: 'Crawler' - url: 'https://support.apple.com/en-us/HT204683' + url: 'https://support.apple.com/en-us/119829' producer: name: 'Apple Inc' - url: 'https://www.apple.com' + url: 'https://www.apple.com/' + +- regex: 'iTMS' + name: 'iTMS' + category: 'Crawler' + url: 'https://support.apple.com/en-us/119829' + producer: + name: 'Apple Inc' + url: 'https://www.apple.com/' - regex: 'AppSignalBot' name: 'AppSignalBot' @@ -3361,7 +3369,7 @@ name: 'Comodo Security Solutions, Inc.' url: 'https://www.comodo.com/' -- regex: 'Sectigo DCV' +- regex: 'Sectigo DCV|acme\.sectigo\.com' name: 'Sectigo DCV' category: 'Service Agent' url: 'https://sectigo.com/' @@ -4512,8 +4520,21 @@ category: 'Security Checker' url: 'https://ducks.party/' +- regex: 'DepSpid/[\d.]+' + name: 'DepSpid' + category: 'Crawler' + url: 'https://web.archive.org/web/20080321224033/http://about.depspid.net/' + +- regex: 'Website-info\.net' + name: 'Website-info' + category: 'Crawler' + url: 'https://website-info.net/robot' + producer: + name: 'Meins und Vogel GmbH' + url: 'https://muv.com/' + # Generic bots -- regex: 'nuhk|grub-client|Download Demon|SearchExpress|Microsoft URL Control|borg|altavista|dataminr\.com|teoma|oegp|http%20client|htdig|mogimogi|larbin|scrubby|searchsight|semanticdiscovery|snappy|vortex(?!(?: Build|Plus| CM62| HD65))|zeal(?!ot)|dataparksearch|findlinks|BrowserMob|URL2PNG|ZooShot|GomezA|Google SketchUp|Read%20Later|7Siters|centuryb\.o\.t9|InterNaetBoten|EasyBib AutoCite|Bidtellect|tomnomnom/meg|cortex|Re-re Studio|adreview|AHC/|NameOfAgent|Request-Promise|ALittle Client|Hello,? world|wp_is_mobile|0xAbyssalDoesntExist|Anarchy99|^revolt|nvd0rz|xfa1|Hakai|gbrmss|fuck-your-hp|IDBTE4M CODE87|Antoine|Insomania|Hells-Net|b3astmode|Linux Gnu \(cow\)|Test Certificate Info|iplabel|Magellan|TheSafex?Internetx?Search|Searcherweb|kirkland-signature|LinkChain|survey-security-dot-txt|infrawatch|Time/|r00ts3c-owned-you|nvdorz|Root Slut|NiggaBalls|BotPoke|^xenu|^(?:chrome|firefox|Abcd|Dark|KvshClient|url|Zeus|ZmEu)$' +- regex: 'nuhk|grub-client|Download Demon|SearchExpress|Microsoft URL Control|borg|altavista|dataminr\.com|teoma|oegp|http%20client|htdig|mogimogi|larbin|scrubby|searchsight|semanticdiscovery|snappy|vortex(?!(?: Build|Plus| CM62| HD65))|zeal(?!ot)|dataparksearch|findlinks|BrowserMob|URL2PNG|ZooShot|GomezA|Google SketchUp|Read%20Later|7Siters|centuryb\.o\.t9|InterNaetBoten|EasyBib AutoCite|Bidtellect|tomnomnom/meg|cortex|Re-re Studio|adreview|AHC/|NameOfAgent|Request-Promise|ALittle Client|Hello,? world|wp_is_mobile|0xAbyssalDoesntExist|Anarchy99|^revolt|nvd0rz|xfa1|Hakai|gbrmss|fuck-your-hp|IDBTE4M CODE87|Antoine|Insomania|Hells-Net|b3astmode|Linux Gnu \(cow\)|Test Certificate Info|iplabel|Magellan|TheSafex?Internetx?Search|Searcherweb|kirkland-signature|LinkChain|survey-security-dot-txt|infrawatch|Time/|r00ts3c-owned-you|nvdorz|Root Slut|NiggaBalls|BotPoke|GlobalWebSearch|^xenu|^(?:chrome|firefox|Abcd|Dark|KvshClient|url|Zeus|ZmEu)$' name: 'Generic Bot' # Generic detections diff --git a/regexes/client/browsers.yml b/regexes/client/browsers.yml index e75c90ce..4da35e77 100644 --- a/regexes/client/browsers.yml +++ b/regexes/client/browsers.yml @@ -5,6 +5,37 @@ # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later ############### +# Prism (https://wiki.mozilla.org/Prism/FAQ) +- regex: 'Prism/([\d\.]+)' + name: 'Prism' + version: '$1' + engine: + default: 'Gecko' + +# Awesomium (https://web.archive.org/web/20150205230848/http://awesomium.com/) +- regex: 'Awesomium/([\d\.]+)' + name: 'Awesomium' + version: '$1' + engine: + default: 'WebKit' + +# Roccat (https://runecats.com/roccat-browser-for-mac/) +- regex: 'Roccat(?:/(\d+[\.\d]+))?' + name: 'Roccat' + version: '$1' + +# Swiftweasel (https://swiftweasel.tuxfamily.org/) +- regex: 'Swiftweasel(?:/(\d+[\.\d]+))?' + name: 'Swiftweasel' + version: '$1' + engine: + default: 'Gecko' + +# Wukong Browser (https://www.wkbrowser.com/) +- regex: 'wkbrowser (\d+[\.\d]+)' + name: 'Wukong Browser' + version: '$1' + # KUN (https://api.dcmys.kr/etc/historical/kun_3.0.1_cp_개발자_가이드_v1.1.pdf) - regex: 'KUN/(\d+[\.\d]+)' name: 'KUN' @@ -1460,8 +1491,8 @@ engine: default: 'Blink' -# 7Star -- regex: '7Star/(?:(\d+[\.\d]+))' +# 7Star or 7 Star or Kuaiso (https://web.archive.org/web/20210614112514/http://browser.kuaiso.com/) +- regex: '(?:7Star|Kuaiso)/(?:(\d+[\.\d]+))' name: '7Star' version: '$1' engine: diff --git a/regexes/client/libraries.yml b/regexes/client/libraries.yml index 9363f67c..1e28b3ac 100644 --- a/regexes/client/libraries.yml +++ b/regexes/client/libraries.yml @@ -5,6 +5,11 @@ # @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later ############### +- regex: 'IPinfoClient/.*/(\d+[\.\d]+)' + name: 'IPinfo' + version: '$1' + url: 'https://github.com/ipinfo' + - regex: 'kiwi-tcms/(\d+[\.\d]+)' name: 'Kiwi TCMS' version: '$1' @@ -611,3 +616,13 @@ name: 'Boto3' version: '$1' url: 'https://github.com/boto/boto3' + +- regex: 'Python-xmlrpc(?:/(\d+[\.\d]+))?' + name: 'XML-RPC' + version: '$1' + url: 'https://docs.python.org/3/library/xmlrpc.html' + +- regex: 'ICAP-Client-Library(?:/(\d+[\.\d]+))?' + name: 'ICAP Client' + version: '$1' + url: 'https://github.com/Peoplecantfly/icapserver' diff --git a/regexes/client/mobile_apps.yml b/regexes/client/mobile_apps.yml index c6068a90..eee63fb8 100644 --- a/regexes/client/mobile_apps.yml +++ b/regexes/client/mobile_apps.yml @@ -2137,7 +2137,7 @@ name: 'Shadowrocket' version: '$1' -- regex: '^SiriusXM/([\d\.]+)' +- regex: '^(?:SiriusXM|sxm-android|sxm-apple)/([\d\.]+)' name: 'SiriusXM' version: '$1' @@ -2482,6 +2482,11 @@ name: 'SoFi' version: '$1' +# WNYC (https://play.google.com/store/apps/details?id=org.wnyc.android) +- regex: 'WNYC(?: App)?[/ ]?([\d\.]+)?' + name: 'WNYC' + version: '$1' + # Electron generic apps - regex: ' (?!(?:AppleWebKit|brave|Franz|Mailspring|Notion|Basecamp|Evernote|catalyst|ramboxpro|BlueMail|BeakerBrowser|TweakStyle|Colibri|Polypane|VibeMate|(?:d|LT|Glass|Sushi|Flash|OhHai)Browser|Sizzy))([a-z0-9]*)(?:-desktop|-electron-app)?/(\d+\.[\d.]+).*Electron/' name: '$1' diff --git a/regexes/client/pim.yml b/regexes/client/pim.yml index 46e1347c..43f7c0a7 100644 --- a/regexes/client/pim.yml +++ b/regexes/client/pim.yml @@ -27,6 +27,11 @@ name: 'Thunderbird' version: '$1' +# Spicebird (http://www.spicebird.org/) +- regex: 'Spicebird/(\d+\.[\.\d]+)' + name: 'Spicebird' + version: '$1' + - regex: 'Airmail(?: (\d+[\.\d]+))?' name: 'Airmail' version: '$1' @@ -155,3 +160,8 @@ - regex: 'mailapp/(\d+\.[\.\d]+)' name: 'mailapp' version: '$1' + +# Gmail +- regex: 'Android-Gmail' + name: 'Gmail' + version: '' diff --git a/regexes/device/mobiles.yml b/regexes/device/mobiles.yml index a3823146..7f59b0e1 100644 --- a/regexes/device/mobiles.yml +++ b/regexes/device/mobiles.yml @@ -1006,7 +1006,7 @@ Apple: - regex: 'Watch7,[24]' device: 'wearable' model: 'Watch Series 9 45mm' - - regex: 'Apple Watch' + - regex: '(:?Apple Watch|watchOS)' device: 'wearable' model: 'Watch' @@ -2259,9 +2259,9 @@ AGM: model: 'H3' - regex: 'AGM_H5_PRO(?:[);/ ]|$)' model: 'H5 Pro' - - regex: 'AGM[_ ]PAD[_ ]P1(?:[);/ ]|$)' + - regex: 'AGM[_ ]PAD[_ ]P([12])(?:[);/ ]|$)' device: 'tablet' - model: 'Pad P1' + model: 'Pad P$1' - regex: 'AGM[ _]([^/;)]+)(?: Build|[;)])' model: '$1' @@ -4094,7 +4094,7 @@ Bluegood: # Blackview Blackview: - regex: 'Blackview|(BL8[08]00|BV([24-9]000|8800|[468]900|(5[1589]|9[135689])00|6[12368]00|7100)(?:[ _](?:PRO))?|(P10000(?:[ _](?:PRO))?)|omega[ _]pro|Alife[ _][PS]1|N6000|Heatwave|DM550|BV9700Pro|(?