omrilotan / isbot

🤖/👨‍🦰 Detect bots/crawlers/spiders using the user agent string
https://isbot.js.org/
The Unlicense
876 stars 72 forks source link

ThousandEyes-Dragonfly-x1 was not recognized #212

Closed ElizabethWoodhouse closed 1 year ago

ElizabethWoodhouse commented 1 year ago

User Agent String

ThousandEyes-Dragonfly-x1

Reproduce

Continue to see this bot tracked on our sites it seems to be slipping through the bot tracker :/

omrilotan commented 1 year ago

Thank you for creating this issue. According to ThousandEyes's documentation,

Identifying traffic from ThousandEyes Agents

ThousandEyes adds the following header to all HTTP requests of any Web Layer test type:

X-ThousandEyes-Agent: yes

Example on how to detect this after "isbot":

isbot(request.headers.get("user-agent")) || request.headers.get("x-thousandeyes-agent") === "yes"

Moreover, they explain how they do not use user-agent string to identify

User-Agent

By default, the User-Agent in an HTTP header from Web layer tests does not uniquely identify ThousandEyes Agents. HTTP Server tests send a User-Agent string based on the "curl" program, for example:

User-Agent: curl/7.48.0-DEV

By default, Page Load and Transaction tests send the User-Agent string associated with the Chromium browser and operating system running the Agent, for example:

User-Agent: Red Hat Enterprise Linux/CentOS 7.x: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36

https://success.thousandeyes.com/ViewArticle?articleIdParam=kA0E0000000CmnyKAC