Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Adds detection for Liri OS, Webian operating systems, Clecko engine, Columbus Browser, Classilla, Eolie, Liri Browser, SlimBoat, Vonkeror, Webian Shell, w3m, Wyzo browsers #7624

Merged
merged 14 commits into from
Mar 12, 2024
Merged
14 changes: 12 additions & 2 deletions Parser/Client/Browser.php
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ class Browser extends AbstractClientParser
'CC' => 'Coc Coc',
'C4' => 'CoolBrowser',
'C2' => 'Colibri',
'6C' => 'Columbus Browser',
'CD' => 'Comodo Dragon',
'C1' => 'Coast',
'CX' => 'Charon',
Expand All @@ -178,6 +179,7 @@ class Browser extends AbstractClientParser
'CK' => 'Conkeror',
'CM' => 'Chrome Mobile',
'3C' => 'Chowbo',
'7C' => 'Classilla',
'CN' => 'CoolNovo',
'4C' => 'Colom Browser',
'CO' => 'CometBird',
Expand Down Expand Up @@ -226,6 +228,7 @@ class Browser extends AbstractClientParser
'EN' => 'EinkBro',
'EB' => 'Element Browser',
'EE' => 'Elements Browser',
'EO' => 'Eolie',
'EX' => 'Explore Browser',
'EZ' => 'eZ Browser',
'EU' => 'EUI Browser',
Expand Down Expand Up @@ -345,6 +348,7 @@ class Browser extends AbstractClientParser
'LH' => 'Light',
'L1' => 'Lilo',
'LI' => 'Links',
'RI' => 'Liri Browser',
'LC' => 'LogicUI TV Browser',
'IF' => 'Lolifox',
'L3' => 'Lotus',
Expand Down Expand Up @@ -522,6 +526,7 @@ class Browser extends AbstractClientParser
'SS' => 'Seraphic Sraf',
'KK' => 'SiteKiosk',
'SL' => 'Sleipnir',
'8B' => 'SlimBoat',
'S6' => 'Slimjet',
'S7' => 'SP Browser',
'9S' => 'Sony Small Browser',
Expand Down Expand Up @@ -596,9 +601,11 @@ class Browser extends AbstractClientParser
'VB' => 'Vision Mobile Browser',
'V4' => 'Vertex Surf',
'VM' => 'VMware AirWatch',
'VK' => 'Vonkeror',
'WI' => 'Wear Internet Browser',
'WP' => 'Web Explorer',
'W3' => 'Web Browser & Explorer',
'W5' => 'Webian Shell',
'W4' => 'WebDiscover',
'WE' => 'WebPositive',
'WX' => 'Wexond',
Expand All @@ -607,9 +614,11 @@ class Browser extends AbstractClientParser
'WA' => 'Wavebox',
'WH' => 'Whale Browser',
'WO' => 'wOSBrowser',
'3W' => 'w3m',
'WT' => 'WeTab Browser',
'1W' => 'World Browser',
'WL' => 'Wolvic',
'WY' => 'Wyzo',
'YG' => 'YAGI',
'YJ' => 'Yahoo! Japan Browser',
'YA' => 'Yandex Browser',
Expand Down Expand Up @@ -677,14 +686,15 @@ class Browser extends AbstractClientParser
'ZR', 'D6', 'F6', 'RC', 'WD', 'P3', 'FT', 'A9', 'X2',
'N3', 'GD', 'O9', 'Q3', 'F7', 'K2', 'P5', 'H5', 'V3',
'K3', 'Q4', 'G2', 'R2', 'WX', 'XP', '3I', 'BG', 'R0',
'JO', 'OL', 'GN', 'W4', 'QI', 'E1',
'JO', 'OL', 'GN', 'W4', 'QI', 'E1', 'RI', '8B',
],
'Firefox' => [
'AX', 'BI', 'BF', 'BH', 'BN', 'C0', 'CU', 'EI', 'F1',
'FB', 'FE', 'FF', 'FM', 'FR', 'FY', 'GZ', 'I4', 'IF',
'IW', 'LH', 'LY', 'MB', 'MN', 'MO', 'MY', 'OA', 'OS',
'PI', 'PX', 'QA', 'S5', 'SX', 'TF', 'TO', 'WF', 'ZV',
'FP', 'AD', 'WL', '2I', 'P9', 'KJ',
'FP', 'AD', 'WL', '2I', 'P9', 'KJ', 'WY', 'VK', 'W5',
'7C',
],
'Internet Explorer' => ['BZ', 'CZ', 'IE', 'IM', 'PS', '3A', '4A', 'RN'],
'Konqueror' => ['KO'],
Expand Down
1 change: 1 addition & 0 deletions Parser/Client/Browser/Engine.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ class Engine extends AbstractClientParser
'iCab',
'Elektra',
'Presto',
'Clecko',
'Gecko',
'KHTML',
'NetFront',
Expand Down
4 changes: 3 additions & 1 deletion Parser/OperatingSystem.php
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ class OperatingSystem extends AbstractParser
'LND' => 'LindowsOS',
'LNS' => 'Linspire',
'LEN' => 'Lineage OS',
'LIR' => 'Liri OS',
'LBT' => 'Lubuntu',
'LOS' => 'Lumin OS',
'LUN' => 'LuneOS',
Expand Down Expand Up @@ -183,6 +184,7 @@ class OperatingSystem extends AbstractParser
'ZOR' => 'ZorinOS',
'IOS' => 'iOS',
'POS' => 'palmOS',
'WEB' => 'Webian',
'WOS' => 'webOS',
];

Expand Down Expand Up @@ -214,7 +216,7 @@ class OperatingSystem extends AbstractParser
'LOS', 'DVK', 'ROK', 'OWR', 'OTV', 'KTV', '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',
'UOS', 'PIO', 'FRI', 'LIR', 'WEB',
],
'Mac' => ['MAC'],
'Mobile Gaming Console' => ['PSP', 'NDS', 'XBX'],
Expand Down
81 changes: 81 additions & 0 deletions Tests/Parser/Client/fixtures/browser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8895,3 +8895,84 @@
engine: Trident
engine_version:
family: Internet Explorer
-
user_agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/534.34 (KHTML like Gecko) Columbus/1.5.0.0 Safari/534.34
client:
type: browser
name: Columbus Browser
version: 1.5.0.0
engine: WebKit
engine_version: "534.34"
family:
-
user_agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Liri/0.4.0
client:
type: browser
name: Liri Browser
version: 0.4.0
engine: Blink
engine_version: 64.0.3282.140
family: Chrome
-
user_agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/534.34 (KHTML, like Gecko) SlimBoat/1.1.54 Chrome/25.0.1364.97 Version/5.1 Safari/534.34
client:
type: browser
name: SlimBoat
version: 1.1.54
engine: Blink
engine_version: 25.0.1364.97
family: Chrome
-
user_agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.9) Gecko/2009042318 Firefox/3.0.9 Wyzo/3.0.3
client:
type: browser
name: Wyzo
version: 3.0.3
engine: Gecko
engine_version: 1.9.0.9
family: Firefox
-
user_agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1pre) Gecko/20090629 Vonkeror/1.0
client:
type: browser
name: Vonkeror
version: "1.0"
engine: Gecko
engine_version: 1.9.1
family: Firefox
-
user_agent: Mozilla/5.0 (X11; Linux x86_64; rv:2.0) Gecko/20110318 WebianShell/0.1
client:
type: browser
name: Webian Shell
version: "0.1"
engine: Gecko
engine_version: "2.0"
family: Firefox
-
user_agent: Mozilla/5.0 (Macintosh; U; PPC; en-US; mimic; rv:9.3.0) Clecko/20120101 Classilla/CFM
client:
type: browser
name: Classilla
version:
engine: Clecko
engine_version:
family: Firefox
-
user_agent: w3m/0.52
client:
type: browser
name: w3m
version: "0.52"
engine: Text-based
engine_version:
family:
-
user_agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; System75) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15 Ubuntu/22.04 Eolie/605.1.15
client:
type: browser
name: Eolie
version:
engine: WebKit
engine_version: 605.1.15
family:
24 changes: 24 additions & 0 deletions Tests/Parser/fixtures/oss.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4353,3 +4353,27 @@
version: "6.10"
platform: x64
family: GNU/Linux
-
user_agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Liri/0.4.0
os:
name: Liri OS
short_name: LIR
version:
platform: x64
family: GNU/Linux
-
user_agent: Mozilla/5.0 (X11; Linux x86_64; rv:2.0) Gecko/20110318 WebianShell/0.1
os:
name: Webian
short_name: WEB
version:
platform: x64
family: GNU/Linux
-
user_agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; System75) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15 Ubuntu/22.04 Eolie/605.1.15
os:
name: Ubuntu
short_name: UBT
version: "22.04"
platform: x64
family: GNU/Linux
3 changes: 3 additions & 0 deletions regexes/client/browser_engine.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@
- regex: 'Goanna'
name: 'Goanna'

- regex: '(?<!like )Clecko' # fork of Gecko
name: 'Clecko'

- regex: '(?<!like )Gecko'
name: 'Gecko'

Expand Down
55 changes: 55 additions & 0 deletions regexes/client/browsers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,54 @@
# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
###############

# Eolie (https://wiki.gnome.org/Apps/Eolie)
- regex: 'Eolie'
name: 'Eolie'
version: ''

# w3m (https://w3m.sourceforge.net/)
- regex: '^w3m/(\d+[\.\d]+)'
name: 'w3m'
version: '$1'
engine:
default: 'Text-based'

# Classilla (http://www.floodgap.com/software/classilla/)
- regex: 'Classilla/'
name: 'Classilla'
version: '$1'
engine:
default: 'Clecko'

# Webian Shell (https://www.webian.org/)
- regex: 'WebianShell/(\d+[\.\d]+)'
name: 'Webian Shell'
version: '$1'
engine:
default: 'Gecko'

# Vonkeror
- regex: 'Vonkeror(?:/(\d+[\.\d]+))?'
name: 'Vonkeror'
version: '$1'
engine:
default: 'Gecko'

# Wyzo (https://web.archive.org/web/20140225213818/http://www.wyzo.com/)
- regex: 'Wyzo/(\d+\.[\.\d]+)'
name: 'Wyzo'
version: '$1'

# Liri Browser (https://liri.io/apps/browser/ | https://github.com/lirios/browser)
- regex: 'Liri/(\d+\.[\.\d]+)'
name: 'Liri Browser'
version: '$1'

# Columbus Browser (https://web.archive.org/web/20140825160020/http://www.columbus-browser.com/screenshot.html)
- regex: 'Columbus/(\d+\.[\.\d]+)'
name: 'Columbus Browser'
version: '$1'

# GreenBrowser (http://www.morequick.com/indexen.htm)
- regex: 'GreenBrowser'
name: 'GreenBrowser'
Expand Down Expand Up @@ -1331,6 +1379,13 @@
engine:
default: 'Blink'

# SlimBoat (https://web.archive.org/web/20160308081217/https://www.slimboat.com/en/)
- regex: 'SlimBoat/(?:(\d+[\.\d]+))'
name: 'SlimBoat'
version: '$1'
engine:
default: 'Blink'

# Slimjet (https://slimjet.com)
- regex: 'Slimjet/(?:(\d+[\.\d]+))'
name: 'Slimjet'
Expand Down
18 changes: 18 additions & 0 deletions regexes/oss.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,20 @@
# @license http://www.gnu.org/licenses/lgpl.html LGPL v3 or later
###############

##########
# Webian (https://www.webian.org/)
##########
- regex: 'Webian'
name: 'Webian'
version: ''

##########
# Liri OS (https://liri.io/ | https://github.com/lirios)
##########
- regex: 'Linux.*Liri/'
name: 'Liri OS'
version: ''

##########
# FRITZ!OS (https://en.avm.de/products/fritzos/)
##########
Expand Down Expand Up @@ -709,6 +723,10 @@
name: 'Ubuntu'
version: '5.10'

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

- regex: 'Linux; .*((?:Debian|Knoppix|Mint|Ubuntu|Kubuntu|Xubuntu|Lubuntu|Fedora|Red Hat|Mandriva|Gentoo|Sabayon|Slackware|SUSE|CentOS|BackTrack))[ /](\d+[\.\d]+)'
name: '$1'
version: '$2'
Expand Down
Loading