diff --git a/src/constants.js b/src/constants.js index 9f3d205..5fbc37d 100644 --- a/src/constants.js +++ b/src/constants.js @@ -26,6 +26,7 @@ export const BROWSER_ALIASES_MAP = { 'Internet Explorer': 'ie', InternetArchiveCrawler: 'internetarchivecrawler', 'K-Meleon': 'k_meleon', + LibreWolf: 'librewolf', Maxthon: 'maxthon', 'Meta-ExternalAds': 'meta_externalads', 'Meta-ExternalAgent': 'meta_externalagent', @@ -92,6 +93,7 @@ export const BROWSER_MAP = { ie: 'Internet Explorer', internetarchivecrawler: 'InternetArchiveCrawler', k_meleon: 'K-Meleon', + librewolf: 'LibreWolf', maxthon: 'Maxthon', meta_externalads: 'Meta-ExternalAds', meta_externalagent: 'Meta-ExternalAgent', diff --git a/src/parser-browsers.js b/src/parser-browsers.js index 621bbb9..4167be8 100644 --- a/src/parser-browsers.js +++ b/src/parser-browsers.js @@ -892,6 +892,21 @@ const browsersList = [ return browser; }, }, + { + test: [/librewolf/i], + describe(ua) { + const browser = { + name: 'LibreWolf', + }; + const version = Utils.getFirstMatch(/(?:librewolf)[\s/](\d+(\.?_?\d+)+)/i, ua); + + if (version) { + browser.version = version; + } + + return browser; + }, + }, { test: [/firefox|iceweasel|fxios/i], describe(ua) { diff --git a/test/acceptance/useragentstrings.yml b/test/acceptance/useragentstrings.yml index 0f41035..187edd9 100644 --- a/test/acceptance/useragentstrings.yml +++ b/test/acceptance/useragentstrings.yml @@ -1915,6 +1915,20 @@ engine: name: "WebKit" version: "605.1.15" + LibreWolf: + - + ua: "Mozilla/5.0 (X11; Linux x86_64; rv:124.0) Gecko/20100101 LibreWolf/124.0.2" + spec: + browser: + name: "LibreWolf" + version: "124.0.2" + os: + name: "Linux" + platform: + type: "desktop" + engine: + name: "Gecko" + version: "20100101" SeaMonkey: - ua: "Mozilla/5.0 (Windows NT 5.2; rv:10.0.1) Gecko/20100101 Firefox/10.0.1 SeaMonkey/2.7.1"