From b1e02f34344c551274df2dbdb68c327de93774fd Mon Sep 17 00:00:00 2001 From: Jam Date: Tue, 3 Feb 2026 13:05:08 +0800 Subject: [PATCH] feat: Add Line sipder detection --- src/constants.js | 2 ++ src/parser-browsers.js | 17 +++++++++++++++++ src/parser-platforms.js | 11 +++++++++++ test/acceptance/useragentstrings.yml | 24 ++++++++++++++++++++++++ 4 files changed, 54 insertions(+) diff --git a/src/constants.js b/src/constants.js index 2181225..b2b3017 100644 --- a/src/constants.js +++ b/src/constants.js @@ -28,6 +28,7 @@ export const BROWSER_ALIASES_MAP = { InternetArchiveCrawler: 'internetarchivecrawler', 'K-Meleon': 'k_meleon', LibreWolf: 'librewolf', + Linespider: 'linespider', Maxthon: 'maxthon', 'Meta-ExternalAds': 'meta_externalads', 'Meta-ExternalAgent': 'meta_externalagent', @@ -98,6 +99,7 @@ export const BROWSER_MAP = { internetarchivecrawler: 'InternetArchiveCrawler', k_meleon: 'K-Meleon', librewolf: 'LibreWolf', + linespider: 'Linespider', maxthon: 'Maxthon', meta_externalads: 'Meta-ExternalAds', meta_externalagent: 'Meta-ExternalAgent', diff --git a/src/parser-browsers.js b/src/parser-browsers.js index fba9250..41bae20 100644 --- a/src/parser-browsers.js +++ b/src/parser-browsers.js @@ -266,6 +266,23 @@ const browsersList = [ }, }, + /* Linespider */ + { + test: [/linespider/i], + describe(ua) { + const browser = { + name: 'Linespider', + }; + const version = Utils.getFirstMatch(/(?:linespider)(?:-[-\w]+)?[\s/](\d+(\.\d+)+)/i, ua) || Utils.getFirstMatch(commonVersionIdentifier, ua); + + if (version) { + browser.version = version; + } + + return browser; + }, + }, + /* AmazonBot */ { test: [/amazonbot/i], diff --git a/src/parser-platforms.js b/src/parser-platforms.js index de846d4..ae54530 100644 --- a/src/parser-platforms.js +++ b/src/parser-platforms.js @@ -18,6 +18,17 @@ export default [ }, }, + /* LineSpider */ + { + test: [/linespider/i], + describe() { + return { + type: PLATFORMS_MAP.bot, + vendor: 'Line', + }; + }, + }, + /* AmazonBot */ { test: [/amazonbot/i], diff --git a/test/acceptance/useragentstrings.yml b/test/acceptance/useragentstrings.yml index 517e413..54864c4 100644 --- a/test/acceptance/useragentstrings.yml +++ b/test/acceptance/useragentstrings.yml @@ -3052,6 +3052,30 @@ type: "bot" vendor: "Slack" engine: {} + Linespider: + - + ua: "Mozilla/5.0 (compatible; Linespider/1.1; +https://lin.ee/4dwXkTH)" + spec: + browser: + name: "Linespider" + version: "1.1" + os: {} + platform: + type: "bot" + vendor: "Line" + engine: {} + - + ua: "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Linespider/1.1; +https://lin.ee/4dwXkTH) Chrome/W.X.Y.Z Safari/537.36" + spec: + browser: + name: "Linespider" + version: "1.1" + os: {} + platform: + type: "bot" + vendor: "Line" + engine: + name: "Blink" YahooSlurp: - ua: "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)"