mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 07:58:45 +03:00
[extensions] Fix #770 - Add new fetcher bot: Bluesky
This commit is contained in:
parent
d4986af7c0
commit
d024fe2006
@ -218,31 +218,25 @@ const Fetchers = Object.freeze({
|
|||||||
// ChatGPT-User - https://platform.openai.com/docs/plugins/bot
|
// ChatGPT-User - https://platform.openai.com/docs/plugins/bot
|
||||||
// DuckAssistBot - https://duckduckgo.com/duckassistbot/
|
// DuckAssistBot - https://duckduckgo.com/duckassistbot/
|
||||||
// BingPreview / Mastodon / Pinterestbot / Redditbot / Rogerbot / Telegrambot / Twitterbot / UptimeRobot
|
// BingPreview / Mastodon / Pinterestbot / Redditbot / Rogerbot / Telegrambot / Twitterbot / UptimeRobot
|
||||||
/(ahrefssiteaudit|bingpreview|chatgpt-user|mastodon|(?:discord|duckassist|linkedin|pinterest|reddit|roger|telegram|twitter|uptimero)bot)\/([\w\.]+)/i,
|
// Google Site Verifier / Meta / Yahoo! Japan
|
||||||
|
// Yandex Bots - https://yandex.com/bots
|
||||||
|
/(ahrefssiteaudit|bingpreview|chatgpt-user|mastodon|(?:discord|duckassist|linkedin|pinterest|reddit|roger|telegram|twitter|uptimero)bot|google-site-verification|meta-externalfetcher|y!?j-dlc|yandex(?:calendar|direct(?:dyn)?|searchshop)|yadirectfetcher)\/([\w\.]+)/i,
|
||||||
|
|
||||||
// Google Site Verifier
|
// Bluesky
|
||||||
/(google-site-verification)\/([\w\.]+)/i,
|
/(bluesky) cardyb\/([\w\.]+)/i,
|
||||||
|
|
||||||
// Meta
|
|
||||||
/(meta-externalfetcher)\/([\w\.]+)/i,
|
|
||||||
|
|
||||||
// Slackbot - https://api.slack.com/robots
|
// Slackbot - https://api.slack.com/robots
|
||||||
/(slack(?:bot)?(?:-imgproxy|-linkexpanding)?) ([\w\.]+)/i,
|
/(slack(?:bot)?(?:-imgproxy|-linkexpanding)?) ([\w\.]+)/i,
|
||||||
|
|
||||||
// WhatsApp
|
// WhatsApp
|
||||||
/(whatsapp)\/([\w\.]+)[\/ ][ianw]/i,
|
/(whatsapp)\/([\w\.]+)[\/ ][ianw]/i
|
||||||
|
|
||||||
// Yahoo! Japan
|
|
||||||
/(y!?j-dlc)\/([\w\.]+)/i,
|
|
||||||
|
|
||||||
// Yandex Bots - https://yandex.com/bots
|
|
||||||
/(yandex(?:calendar|direct(?:dyn)?|searchshop)|yadirectfetcher)\/([\w\.]+)/i,
|
|
||||||
/(yandex(?:sitelinks|userproxy))/i
|
|
||||||
],
|
],
|
||||||
[NAME, VERSION, [TYPE, FETCHER]],
|
[NAME, VERSION, [TYPE, FETCHER]],
|
||||||
|
|
||||||
// Google Bots / Cohere / Snapchat / Vercelbot
|
[
|
||||||
[/(cohere-ai|vercelbot|feedfetcher-google|google(?:-read-aloud|producer)|(?=bot; )snapchat)/i],
|
// Google Bots / Cohere / Snapchat / Vercelbot / Yandex Bots
|
||||||
|
/(cohere-ai|vercelbot|feedfetcher-google|google(?:-read-aloud|producer)|(?=bot; )snapchat|yandex(?:sitelinks|userproxy))/i
|
||||||
|
],
|
||||||
[NAME, [TYPE, FETCHER]],
|
[NAME, [TYPE, FETCHER]],
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
@ -19,6 +19,16 @@
|
|||||||
"type" : "fetcher"
|
"type" : "fetcher"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"desc" : "Bluesky",
|
||||||
|
"ua" : "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Bluesky Cardyb/1.1; +mailto:support@bsky.app) Chrome/100.0.0.0 Safari/537.36",
|
||||||
|
"expect" :
|
||||||
|
{
|
||||||
|
"name" : "Bluesky",
|
||||||
|
"version" : "1.1",
|
||||||
|
"type" : "fetcher"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"desc" : "ChatGPT-User",
|
"desc" : "ChatGPT-User",
|
||||||
"ua" : "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot",
|
"ua" : "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; ChatGPT-User/1.0; +https://openai.com/bot",
|
||||||
|
@ -48,6 +48,15 @@ describe('Extensions', () => {
|
|||||||
assert.deepEqual(libraryParser.setUA(axios).getBrowser(), {name: "axios", version: "1.3.5", major: "1", type: "library"});
|
assert.deepEqual(libraryParser.setUA(axios).getBrowser(), {name: "axios", version: "1.3.5", major: "1", type: "library"});
|
||||||
assert.deepEqual(libraryParser.setUA(jsdom).getBrowser(), {name: "jsdom", version: "20.0.3", major: "20", type: "library"});
|
assert.deepEqual(libraryParser.setUA(jsdom).getBrowser(), {name: "jsdom", version: "20.0.3", major: "20", type: "library"});
|
||||||
assert.deepEqual(libraryParser.setUA(scrapy).getBrowser(), {name: "Scrapy", version: "1.5.0", major: "1", type: "library"});
|
assert.deepEqual(libraryParser.setUA(scrapy).getBrowser(), {name: "Scrapy", version: "1.5.0", major: "1", type: "library"});
|
||||||
|
|
||||||
|
// Bluesky
|
||||||
|
const bluesky = 'Mozilla/5.0 (compatible; Bluesky Cardyb/1.1; +mailto:support@bsky.app)';
|
||||||
|
assert.deepEqual(new UAParser(bluesky, Bots).getBrowser(), {
|
||||||
|
name: 'Bluesky',
|
||||||
|
version: '1.1',
|
||||||
|
major: '1',
|
||||||
|
type: 'fetcher'
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('Merge', () => {
|
describe('Merge', () => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user