From 647b6232bd55ff3053429de195973f1c310a4f57 Mon Sep 17 00:00:00 2001 From: Faisal Salman Date: Thu, 14 Aug 2025 19:34:14 +0700 Subject: [PATCH] [extensions][helpers] Add some bots from Vercel: v0bot, vercel-favicon-bot, vercel-screenshot-bot, vercelflags, verceltracing --- src/extensions/ua-parser-extensions.js | 5 ++-- src/helpers/ua-parser-helpers.js | 4 +++ test/data/ua/extension/crawler.json | 10 +++++++ test/data/ua/extension/fetcher.json | 40 ++++++++++++++++++++++++++ 4 files changed, 57 insertions(+), 2 deletions(-) diff --git a/src/extensions/ua-parser-extensions.js b/src/extensions/ua-parser-extensions.js index 1f611a7..d20dab0 100644 --- a/src/extensions/ua-parser-extensions.js +++ b/src/extensions/ua-parser-extensions.js @@ -121,8 +121,9 @@ const Crawlers = Object.freeze({ // ImagesiftBot - https://imagesift.com/about // Qihoo 360Spider // TurnitinBot - https://www.turnitin.com/robot/crawlerinfo.html + // v0bot - https://vercel.com/docs/bot-management // Yahoo! Slurp - http://help.yahoo.com/help/us/ysearch/slurp - /\b(360spider-?(?:image|video)?|bytespider|cohere-training-data-crawler|elastic(?=\/s)|(?:ai2|aspiegel|dataforseo|deepseek|imagesift|petal|turnitin)bot|teoma|yahoo! slurp)/i + /\b(360spider-?(?:image|video)?|bytespider|cohere-training-data-crawler|elastic(?=\/s)|(?:ai2|aspiegel|dataforseo|deepseek|imagesift|petal|turnitin|v0)bot|teoma|yahoo! slurp)/i ], [NAME, [TYPE, CRAWLER]] ] @@ -265,7 +266,7 @@ const Fetchers = Object.freeze({ [ // Google Bots / Chrome-Lighthouse / Cohere / Gemini-Deep-Research / Snapchat / TikTokSpider / Vercelbot / Yandex Bots - /((?:better uptime |telegram|vercel)bot|chrome-lighthouse|cohere-ai|feedfetcher-google|gemini-deep-research|google(?:imageproxy|-read-aloud|-pagerenderer|producer)|snap url preview|tiktokspider|yandex(?:sitelinks|userproxy))/i + /((?:better uptime |telegram|vercel)bot|chrome-lighthouse|cohere-ai|feedfetcher-google|gemini-deep-research|google(?:imageproxy|-read-aloud|-pagerenderer|producer)|snap url preview|tiktokspider|vercel(flags|tracing|-(favicon|screenshot)-bot)|yandex(?:sitelinks|userproxy))/i ], [NAME, [TYPE, FETCHER]], ], diff --git a/src/helpers/ua-parser-helpers.js b/src/helpers/ua-parser-helpers.js index 94b0482..b7b88d2 100644 --- a/src/helpers/ua-parser-helpers.js +++ b/src/helpers/ua-parser-helpers.js @@ -61,6 +61,7 @@ const isAIBot = (resultOrUA) => [ // ByteDance 'bytespider', + 'tiktokspider', // Cohere 'cohere-training-data-crawler', @@ -112,6 +113,9 @@ const isAIBot = (resultOrUA) => [ // Velen.io 'velenpublicwebcrawler', + // Vercel + 'v0bot', + // Webz.io 'omgili', 'omgilibot', diff --git a/test/data/ua/extension/crawler.json b/test/data/ua/extension/crawler.json index 73de476..8887a45 100644 --- a/test/data/ua/extension/crawler.json +++ b/test/data/ua/extension/crawler.json @@ -880,6 +880,16 @@ "type" : "crawler" } }, + { + "desc" : "v0bot", + "ua" : "v0bot", + "expect" : + { + "name" : "v0bot", + "version" : "undefined", + "type" : "crawler" + } + }, { "desc" : "Yahoo! Japan", "ua" : "Y!J-BRW/1.0 (https://www.yahoo-help.jp/app/answers/detail/p/595/a_id/42716)", diff --git a/test/data/ua/extension/fetcher.json b/test/data/ua/extension/fetcher.json index 088b76c..13c9f62 100644 --- a/test/data/ua/extension/fetcher.json +++ b/test/data/ua/extension/fetcher.json @@ -329,6 +329,26 @@ "type" : "fetcher" } }, + { + "desc" : "vercel-favicon-bot", + "ua" : "vercel-favicon-bot", + "expect" : + { + "name" : "vercel-favicon-bot", + "version" : "undefined", + "type" : "fetcher" + } + }, + { + "desc" : "vercel-screenshot-bot", + "ua" : "vercel-screenshot-bot", + "expect" : + { + "name" : "vercel-screenshot-bot", + "version" : "undefined", + "type" : "fetcher" + } + }, { "desc" : "Vercelbot", "ua" : "Vercelbot (+https://vercel.com)", @@ -339,6 +359,26 @@ "type" : "fetcher" } }, + { + "desc" : "vercelflags", + "ua" : "vercelflags", + "expect" : + { + "name" : "vercelflags", + "version" : "undefined", + "type" : "fetcher" + } + }, + { + "desc" : "verceltracing", + "ua" : "verceltracing", + "expect" : + { + "name" : "verceltracing", + "version" : "undefined", + "type" : "fetcher" + } + }, { "desc" : "WhatsApp", "ua" : "WhatsApp/2.23.20.0",