mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 07:58:45 +03:00
[helpers] Update isAIBot() list using Crawlers enum
This commit is contained in:
parent
b1d9dcafcd
commit
9bef871e41
@ -469,7 +469,7 @@ const Extension = Object.freeze({
|
|||||||
BRAVE_BOT: 'Bravebot',
|
BRAVE_BOT: 'Bravebot',
|
||||||
BYTEDANCE_BYTESPIDER: 'Bytespider',
|
BYTEDANCE_BYTESPIDER: 'Bytespider',
|
||||||
BYTEDANCE_TIKTOKSPIDER: 'TikTokSpider',
|
BYTEDANCE_TIKTOKSPIDER: 'TikTokSpider',
|
||||||
CC_BOT: 'CCBot',
|
COMMON_CRAWL_CCBOT: 'CCBot',
|
||||||
COCCOC_BOT_WEB: 'coccocbot-web',
|
COCCOC_BOT_WEB: 'coccocbot-web',
|
||||||
COCCOC_BOT_IMAGE: 'coccocbot-image',
|
COCCOC_BOT_IMAGE: 'coccocbot-image',
|
||||||
COHERE_TRAINING_DATA_CRAWLER: 'cohere-training-data-crawler',
|
COHERE_TRAINING_DATA_CRAWLER: 'cohere-training-data-crawler',
|
||||||
@ -497,6 +497,7 @@ const Extension = Object.freeze({
|
|||||||
GOOGLE_BOT_NEWS: 'Googlebot-News',
|
GOOGLE_BOT_NEWS: 'Googlebot-News',
|
||||||
GOOGLE_BOT_VIDEO: 'Googlebot-Video',
|
GOOGLE_BOT_VIDEO: 'Googlebot-Video',
|
||||||
GOOGLE_CLOUDVERTEXBOT: 'Google-CloudVertexBot',
|
GOOGLE_CLOUDVERTEXBOT: 'Google-CloudVertexBot',
|
||||||
|
GOOGLE_EXTENDED: 'Google-Extended',
|
||||||
GOOGLE_INSPECTIONTOOL: 'Google-InspectionTool',
|
GOOGLE_INSPECTIONTOOL: 'Google-InspectionTool',
|
||||||
GOOGLE_OTHER: 'GoogleOther',
|
GOOGLE_OTHER: 'GoogleOther',
|
||||||
GOOGLE_OTHER_IMAGE: 'GoogleOther-Image',
|
GOOGLE_OTHER_IMAGE: 'GoogleOther-Image',
|
||||||
@ -529,7 +530,7 @@ const Extension = Object.freeze({
|
|||||||
ONCRAWL: 'OnCrawl',
|
ONCRAWL: 'OnCrawl',
|
||||||
ONESPOT_SCRAPERBOT: 'Onespot-ScraperBot',
|
ONESPOT_SCRAPERBOT: 'Onespot-ScraperBot',
|
||||||
OPENAI_GPTBOT: 'GPTBot',
|
OPENAI_GPTBOT: 'GPTBot',
|
||||||
OPENAI_SEARCH: 'OAI-SearchBot',
|
OPENAI_SEARCH_BOT: 'OAI-SearchBot',
|
||||||
PERPLEXITY_BOT: 'PerplexityBot',
|
PERPLEXITY_BOT: 'PerplexityBot',
|
||||||
QIHOO_360_SPIDER: '360Spider',
|
QIHOO_360_SPIDER: '360Spider',
|
||||||
QWANT_BOT: 'Qwantbot',
|
QWANT_BOT: 'Qwantbot',
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
/*jshint esversion: 6 */
|
/*jshint esversion: 6 */
|
||||||
|
|
||||||
const { UAParser } = require('../main/ua-parser');
|
const { UAParser } = require('../main/ua-parser');
|
||||||
const { CPUArch, OSName, EngineName } = require('../enums/ua-parser-enums');
|
const { CPUArch, OSName, EngineName, Extension } = require('../enums/ua-parser-enums');
|
||||||
const { Bots } = require('../extensions/ua-parser-extensions');
|
const { Bots } = require('../extensions/ua-parser-extensions');
|
||||||
const { isFromEU } = require('detect-europe-js');
|
const { isFromEU } = require('detect-europe-js');
|
||||||
const { isFrozenUA } = require('ua-is-frozen');
|
const { isFrozenUA } = require('ua-is-frozen');
|
||||||
@ -41,125 +41,124 @@ const isAppleSilicon = (resultOrUA) => {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const Crawler = Extension.BrowserName.Crawlers;
|
||||||
const isAIBot = (resultOrUA) => [
|
const isAIBot = (resultOrUA) => [
|
||||||
|
|
||||||
// AI2
|
// AI2
|
||||||
'ai2bot',
|
Crawler.AI2_BOT,
|
||||||
|
|
||||||
// Amazon
|
// Amazon
|
||||||
'amazonbot',
|
Crawler.AMAZON_BOT,
|
||||||
|
|
||||||
// Anthropic
|
// Anthropic
|
||||||
'anthropic-ai',
|
Crawler.ANTHROPIC_AI,
|
||||||
'claude-web',
|
Crawler.ANTHROPIC_CLAUDE_BOT,
|
||||||
'claude-searchbot',
|
Crawler.ANTHROPIC_CLAUDE_SEARCHBOT,
|
||||||
'claudebot',
|
Crawler.ANTHROPIC_CLAUDE_WEB,
|
||||||
|
|
||||||
// Apple
|
// Apple
|
||||||
'applebot',
|
Crawler.APPLE_BOT,
|
||||||
'applebot-extended',
|
Crawler.APPLE_BOT_EXTENDED,
|
||||||
|
|
||||||
// Brave
|
// Brave
|
||||||
'bravebot',
|
Crawler.BRAVE_BOT,
|
||||||
|
|
||||||
// ByteDance
|
// ByteDance
|
||||||
'bytespider',
|
Crawler.BYTEDANCE_BYTESPIDER,
|
||||||
'tiktokspider',
|
Crawler.BYTEDANCE_TIKTOKSPIDER,
|
||||||
|
|
||||||
// Cohere
|
// Cohere
|
||||||
'cohere-training-data-crawler',
|
Crawler.COHERE_TRAINING_DATA_CRAWLER,
|
||||||
|
|
||||||
// Common Crawl
|
// Common Crawl
|
||||||
'ccbot',
|
Crawler.COMMON_CRAWL_CCBOT,
|
||||||
|
|
||||||
// Coveo
|
// Coveo
|
||||||
'coveobot',
|
Crawler.COVEO_BOT,
|
||||||
|
|
||||||
// DataForSeo
|
// DataForSeo
|
||||||
'dataforseobot',
|
Crawler.DATAFORSEO_BOT,
|
||||||
|
|
||||||
// DeepSeek
|
// DeepSeek
|
||||||
'deepseekbot',
|
Crawler.DEEPSEEK_BOT,
|
||||||
|
|
||||||
// Diffbot
|
// Diffbot
|
||||||
'diffbot',
|
Crawler.DIFFBOT,
|
||||||
|
|
||||||
// Google
|
// Google
|
||||||
'googleother',
|
Crawler.GOOGLE_EXTENDED,
|
||||||
'googleother-image',
|
Crawler.GOOGLE_OTHER,
|
||||||
'googleother-video',
|
Crawler.GOOGLE_OTHER_IMAGE,
|
||||||
'google-cloudvertexbot',
|
Crawler.GOOGLE_OTHER_VIDEO,
|
||||||
'google-extended',
|
Crawler.GOOGLE_CLOUDVERTEXBOT,
|
||||||
|
|
||||||
// Hive AI
|
// Hive AI
|
||||||
'imagesiftbot',
|
Crawler.HIVE_IMAGESIFTBOT,
|
||||||
|
|
||||||
// Huawei
|
// Huawei
|
||||||
'petalbot',
|
Crawler.HUAWEI_PETALBOT,
|
||||||
'pangubot',
|
Crawler.HUAWEI_PANGUBOT,
|
||||||
|
|
||||||
// Hugging Face
|
// Hugging Face
|
||||||
'huggingface-bot',
|
Crawler.HUGGINGFACE_BOT,
|
||||||
|
|
||||||
// Kangaroo
|
// Kangaroo
|
||||||
'kangaroo bot',
|
Crawler.KANGAROO_BOT,
|
||||||
|
|
||||||
// Mendable.ai
|
// Mendable.ai
|
||||||
'firecrawlagent',
|
Crawler.FIRECRAWL_AGENT,
|
||||||
|
|
||||||
// Meta
|
// Meta
|
||||||
'facebookbot',
|
Crawler.META_FACEBOOKBOT,
|
||||||
'meta-externalagent',
|
Crawler.META_EXTERNALAGENT,
|
||||||
|
|
||||||
// OpenAI
|
// OpenAI
|
||||||
'gptbot',
|
Crawler.OPENAI_GPTBOT,
|
||||||
'oai-searchbot',
|
Crawler.OPENAI_SEARCH_BOT,
|
||||||
|
|
||||||
// Perplexity
|
// Perplexity
|
||||||
'perplexitybot',
|
Crawler.PERPLEXITY_BOT,
|
||||||
|
|
||||||
// Replicate
|
// Replicate
|
||||||
'replicate-bot',
|
Crawler.REPLICATE_BOT,
|
||||||
|
|
||||||
// Runpod
|
// Runpod
|
||||||
'runpod-bot',
|
Crawler.RUNPOD_BOT,
|
||||||
|
|
||||||
// SB Intuitions
|
// SB Intuitions
|
||||||
'sbintuitionsbot',
|
Crawler.SB_INTUITIONS_BOT,
|
||||||
|
|
||||||
// Semrush
|
// Semrush
|
||||||
'semrushbot-ocob',
|
Crawler.SEMRUSH_BOT_CONTENTSHAKE,
|
||||||
|
|
||||||
// Timpi
|
// Timpi
|
||||||
'timpibot',
|
Crawler.TIMPI_BOT,
|
||||||
|
|
||||||
// Together AI
|
// Together AI
|
||||||
'together-bot',
|
Crawler.TOGETHER_BOT,
|
||||||
|
|
||||||
// Velen.io
|
// Velen.io
|
||||||
'velenpublicwebcrawler',
|
Crawler.HUNTER_VELENPUBLICWEBCRAWLER,
|
||||||
|
|
||||||
// Vercel
|
// Vercel
|
||||||
'v0bot',
|
Crawler.VERCEL_V0BOT,
|
||||||
|
|
||||||
// Webz.io
|
// Webz.io
|
||||||
'omgili',
|
Crawler.WEBZIO_OMGILI,
|
||||||
'omgilibot',
|
Crawler.WEBZIO_OMGILI_BOT,
|
||||||
'webzio-extended',
|
Crawler.WEBZIO_EXTENDED,
|
||||||
|
|
||||||
// X
|
// X
|
||||||
'xai-bot',
|
Crawler.XAI_BOT,
|
||||||
|
|
||||||
// You.com
|
// You.com
|
||||||
'youbot',
|
Crawler.YOU_BOT,
|
||||||
|
|
||||||
// Zhipu AI
|
// Zhipu AI
|
||||||
'chatglm-spider',
|
Crawler.ZHIPU_CHATGLM_SPIDER
|
||||||
|
]
|
||||||
// Zyte
|
.map((s) => s.toLowerCase())
|
||||||
'scrapy'
|
.includes(String(toResult(resultOrUA, Bots).browser.name).toLowerCase());
|
||||||
|
|
||||||
].includes(String(toResult(resultOrUA, Bots).browser.name).toLowerCase());
|
|
||||||
|
|
||||||
const isBot = (resultOrUA) => [
|
const isBot = (resultOrUA) => [
|
||||||
'cli',
|
'cli',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user