Skip to content

Commit

Permalink
Updating to latest upstream release.
Browse files Browse the repository at this point in the history
  • Loading branch information
mindreader committed Jun 27, 2024
1 parent ea5d09c commit 1eee2a1
Show file tree
Hide file tree
Showing 22 changed files with 2,038 additions and 79 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ All tests are ported directly from that library and must all pass. It is intende
this will be in lock step with upstream, though it is possible some user agents will
be exist here that are not accepted upstream, this should be rare.

The latest update commit from parent php project was (Fri Jun 21 16:41:08 2024 +0200)
https://github.com/matomo-org/device-detector/commit/5e05e6735e9552a19b005ff17ab2c6a8090a940c
The latest update commit from parent php project was (Wed Jun 26 20:30:46 2024 +0200)
https://github.com/matomo-org/device-detector/commit/75d88bbefb0182f9207c9f48dc39b1bc8c7cc43f

If you wish to contribute non code fixes, it is recommended that you contribute
your patches and tests upstream, then request updates here to bring these projects into parity.
Expand Down
12 changes: 10 additions & 2 deletions regexes/bots.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3369,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/'
Expand Down Expand Up @@ -4525,8 +4525,16 @@
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
Expand Down
15 changes: 15 additions & 0 deletions regexes/client/libraries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand Down Expand Up @@ -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'
7 changes: 6 additions & 1 deletion regexes/client/mobile_apps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2137,7 +2137,7 @@
name: 'Shadowrocket'
version: '$1'

- regex: '^SiriusXM/([\d\.]+)'
- regex: '^(?:SiriusXM|sxm-android|sxm-apple)/([\d\.]+)'
name: 'SiriusXM'
version: '$1'

Expand Down Expand Up @@ -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'
Expand Down
181 changes: 137 additions & 44 deletions regexes/device/mobiles.yml

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions regexes/device/notebooks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,19 @@ Asus:
- regex: 'FBMD/X556UQK;'
model: 'X556UQK'

Alienware:
regex: 'FBMD/(?:Alienware [0-9]{2,3}R[0-9]{1,2}|Area-51m|R3|R4|Alienware Aurora R[0-9]+(:? [0-9]+)?);'
device: 'desktop'
models:
- regex: 'Alienware 15R3;'
model: 'Alienware 15 R3'
- regex: 'Alienware 17R4;'
model: 'Alienware 17 R4'
- regex: 'Area-51m;'
model: 'Area-51m'
- regex: 'Aurora (R[0-9]+)'
model: 'Aurora $1'

Dell:
regex: 'FBMD/(?:Latitude E4300|Inspiron 3541|XPS 15 95[35]0);'
device: 'desktop'
Expand Down
116 changes: 114 additions & 2 deletions regexes/oss.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,118 @@
# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
###############

##########
# WoPhone
##########
- regex: 'WoPhone(?:/(\d+[\.\d]+))?'
name: 'WoPhone'
version: '$1'

##########
# KIN OS (https://en.wikipedia.org/wiki/Microsoft_Kin)
##########
- regex: 'KIN\.(?:One|Two) (\d+[\.\d]+)'
name: 'KIN OS'
version: '$1'

##########
# Star-Blade OS
##########
- regex: 'Star-Blade OS'
name: 'Star-Blade OS'
version: ''

##########
# Qtopia (https://en.wikipedia.org/wiki/Qt_Extended)
##########
- regex: 'Qtopia/(\d+[\.\d]+)'
name: 'Qtopia'
version: '$1'

##########
# OpenVMS (https://vmssoftware.com/)
##########
- regex: 'OpenVMS V(\d+[\.\d]+)'
name: 'OpenVMS'
version: '$1'

##########
# AROS (https://aros.sourceforge.io/)
##########
- regex: 'AROS'
name: 'AROS'
version: ''

##########
# NeXTSTEP
##########
- regex: '\(NEXT\)'
name: 'NeXTSTEP'
version: ''

##########
# NEWS-OS (https://en.wikipedia.org/wiki/Sony_NEWS)
##########
- regex: 'NEWS-OS (\d+[\.\d]+)'
name: 'NEWS-OS'
version: '$1'

##########
# ULTRIX (https://en.wikipedia.org/wiki/Ultrix)
##########
- regex: 'ULTRIX (\d+[\.\d]+)'
name: 'ULTRIX'
version: '$1'

##########
# Turbolinux (http://www.turbolinux.com/)
##########
- regex: 'Turbolinux/(\d+[\.\d]+)'
name: 'Turbolinux'
version: '$1'

##########
# Joli OS (https://www.jolicloud.com/products/)
##########
- regex: 'Joli OS/(\d+[\.\d]+)'
name: 'Joli OS'
version: '$1'

##########
# GENIX
##########
- regex: 'GENIX (\d+[\.\d]+)'
name: 'GENIX'
version: '$1'

##########
# gNewSense (http://www.gnewsense.org)
##########
- regex: 'gNewSense/.*\((\d+[\.\d]+)'
name: 'gNewSense'
version: '$1'

##########
# GEOS
##########
- regex: 'Geos (\d+[\.\d]+)'
name: 'GEOS'
version: '$1'

##########
# Motorola EZX
##########
- regex: 'MOT-.*LinuxOS/'
name: 'Motorola EZX'
version: ''

##########
# Baidu Yi (https://en.wikipedia.org/wiki/Baidu_Yi)
##########
- regex: 'Baidu Yi'
name: 'Baidu Yi'
version: ''

##########
# Red Star (https://en.wikipedia.org/wiki/Red_Star_OS)
##########
Expand Down Expand Up @@ -701,7 +813,7 @@
##########
# ThreadX
##########
- regex: 'ThreadX(?:/(\d+[\.\d]*))?'
- regex: 'ThreadX(?:_OS)?(?:/(\d+[\.\d]*))?'
name: 'ThreadX'
version: '$1'

Expand Down Expand Up @@ -1819,7 +1931,7 @@
name: 'GNU/Linux'
version: '$1'

- regex: 'Linux(?:OS)?[^a-z]|Cinnamon/(?:\d+[\.\d]+)|.+(?:pc|unknown)-linux-gnu|X11'
- regex: 'Linux[^a-z]|Cinnamon/(?:\d+[\.\d]+)|.+(?:pc|unknown)-linux-gnu|X11'
name: 'GNU/Linux'
version: ''

Expand Down
2 changes: 1 addition & 1 deletion src/known_browsers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -803,7 +803,7 @@ pub fn mobile_only_browsers() -> HashSet<String> {
"ZR", "D6", "F6", "P3", "FT", "A9", "X2", "NI", "FG", "TH", "N3", "GD", "O9", "Q3", "F7",
"K2", "N4", "P5", "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",
]
.into_iter()
.map(|f| f.to_owned())
Expand Down
28 changes: 23 additions & 5 deletions src/known_oss.rs
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,15 @@ fn available_operating_systems() -> HashMap<String, String> {
("AMZ", "Amazon Linux"),
("AMG", "AmigaOS"),
("ARM", "Armadillo OS"),
("ARO", "AROS"),
("ATV", "tvOS"),
("ARL", "Arch Linux"),
("AOS", "AOSC OS"),
("ASP", "ASPLinux"),
("BTR", "BackTrack"),
("SBA", "Bada"),
("BEO", "BeOS"),
("BYI", "Baidu Yi"),
("BLB", "BlackBerry OS"),
("QNX", "BlackBerry Tablet OS"),
("BOS", "Bliss OS"),
Expand Down Expand Up @@ -114,6 +116,9 @@ fn available_operating_systems() -> HashMap<String, String> {
("FYD", "FydeOS"),
("FUC", "Fuchsia"),
("GNT", "Gentoo"),
("GNX", "GENIX"),
("GEO", "GEOS"),
("GNS", "gNewSense"),
("GRI", "GridOS"),
("GTV", "Google TV"),
("HPX", "HP-UX"),
Expand All @@ -125,9 +130,11 @@ fn available_operating_systems() -> HashMap<String, String> {
("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"),
Expand All @@ -148,18 +155,22 @@ fn available_operating_systems() -> HashMap<String, String> {
("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"),
Expand All @@ -173,6 +184,7 @@ fn available_operating_systems() -> HashMap<String, String> {
("PS3", "PlayStation"),
("PVE", "Proxmox VE"),
("PUR", "PureOS"),
("QTP", "Qtopia"),
("PIO", "Raspberry Pi OS"),
("RAS", "Raspbian"),
("RHT", "Red Hat"),
Expand All @@ -197,6 +209,7 @@ fn available_operating_systems() -> HashMap<String, String> {
("SIR", "Sirin OS"),
("SLW", "Slackware"),
("SOS", "Solaris"),
("SBL", "Star-Blade OS"),
("SYL", "Syllable"),
("SYM", "Symbian"),
("SYS", "Symbian OS"),
Expand All @@ -208,7 +221,9 @@ fn available_operating_systems() -> HashMap<String, String> {
("TIZ", "Tizen"),
("TIV", "TiVo OS"),
("TOS", "TmaxOS"),
("TUR", "Turbolinux"),
("UBT", "Ubuntu"),
("ULT", "ULTRIX"),
("UOS", "UOS"),
("VID", "VIDAA"),
("WAS", "watchOS"),
Expand All @@ -221,6 +236,7 @@ fn available_operating_systems() -> HashMap<String, String> {
("WMO", "Windows Mobile"),
("WPH", "Windows Phone"),
("WRT", "Windows RT"),
("WPO", "WoPhone"),
("XBX", "Xbox"),
("XBT", "Xubuntu"),
("YNS", "YunOS"),
Expand All @@ -242,10 +258,10 @@ fn os_families() -> HashMap<String, Vec<String>> {
"Android",
vec![
"AND", "CYN", "FIR", "REM", "RZD", "MLD", "MCD", "YNS", "GRI", "HAR", "ADR", "CLR",
"BOS", "REV", "LEN", "SIR", "RRS", "WER", "PIC", "ARM", "HEL",
"BOS", "REV", "LEN", "SIR", "RRS", "WER", "PIC", "ARM", "HEL", "BYI",
],
),
("AmigaOS", vec!["AMG", "MOR"]),
("AmigaOS", vec!["AMG", "MOR", "ARO"]),
("BlackBerry", vec!["BLB", "QNX"]),
("Brew", vec!["BMP"]),
("BeOS", vec!["BEO", "HAI"]),
Expand All @@ -265,26 +281,28 @@ fn os_families() -> HashMap<String, Vec<String>> {
"PUR", "PLA", "FUC", "PAR", "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",
"CLO", "ROC", "OVZ", "PVE", "RST", "EZX", "GNS", "JOL", "TUR", "QTP", "WPO",
],
),
("Mac", vec!["MAC"]),
("Mobile Gaming Console", vec!["PSP", "NDS", "XBX"]),
("OpenVMS", vec!["OVS"]),
("Real-time OS", vec!["MTK", "TDX", "MRE", "JME", "REX"]),
(
"Other Mobile",
vec!["WOS", "POS", "SBA", "TIZ", "SMG", "MAE", "LUN"],
vec!["WOS", "POS", "SBA", "TIZ", "SMG", "MAE", "LUN", "GEO"],
),
("Symbian", vec!["SYM", "SYS", "SY3", "S60", "S40"]),
(
"Unix",
vec![
"SOS", "AIX", "HPX", "BSD", "NBS", "OBS", "DFB", "SYL", "IRI", "T64", "INF", "ELE",
"GNX", "ULT", "NWS", "NXT", "SBL",
],
),
("WebTV", vec!["WTV"]),
("Windows", vec!["WIN"]),
("Windows Mobile", vec!["WPH", "WMO", "WCE", "WRT", "WIO"]),
("Windows Mobile", vec!["WPH", "WMO", "WCE", "WRT", "WIO", "KIN"]),
("Other Smart TV", vec!["WHS"]),
]
.into_iter()
Expand Down
Loading

0 comments on commit 1eee2a1

Please sign in to comment.