Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fingerprintjs/botd
Bot detection library that runs in the browser. Detects automation tools and frameworks. No server required, runs 100% on the client. MIT license, no usage restrictions.
https://github.com/fingerprintjs/botd
automation bot-detection bots headless-chrome playwright puppeteer selenium
Last synced: about 23 hours ago
JSON representation
Bot detection library that runs in the browser. Detects automation tools and frameworks. No server required, runs 100% on the client. MIT license, no usage restrictions.
- Host: GitHub
- URL: https://github.com/fingerprintjs/botd
- Owner: fingerprintjs
- License: mit
- Created: 2021-03-10T16:41:46.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-30T11:50:46.000Z (21 days ago)
- Last Synced: 2024-11-04T15:23:20.181Z (16 days ago)
- Topics: automation, bot-detection, bots, headless-chrome, playwright, puppeteer, selenium
- Language: TypeScript
- Homepage: https://fingerprintjs.github.io/BotD/main/
- Size: 1.33 MB
- Stars: 1,049
- Watchers: 26
- Forks: 82
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: contributing.md
- License: LICENSE
- Code of conduct: code_of_conduct.md
Awesome Lists containing this project
README
## BotD
BotD is an open source library that we created to make it easy for every developer to detect basic bots in their web apps.
It is available under a permissive MIT license and will always be free for developers and commercial use.
For more demanding applications we created a professional API-based bot detection software that is called [Fingerprint Pro Bot Detection](https://fingerprint.com/products/bot-detection/).
[β‘ View Our Demo](https://fingerprintjs.github.io/BotD).
## Quick start
### CDN
```html
// Initialize an agent at application startup, once per page/app.
const botdPromise = import('https://openfpcdn.io/botd/v1').then((Botd) => Botd.load())
// Get detection results when you need them.
botdPromise
.then((botd) => botd.detect())
.then((result) => console.log(result))
.catch((error) => console.error(error))```
[Run this code](https://stackblitz.com/edit/botd-cdn-tkdie9?devtoolsheight=100&file=index.html)
### NPM
```bash
npm i @fingerprintjs/botd
# or
yarn add @fingerprintjs/botd
``````js
import { load } from '@fingerprintjs/botd'// Initialize an agent at application startup, once per page/app.
const botdPromise = load()
// Get detection results when you need them.
botdPromise
.then((botd) => botd.detect())
.then((result) => console.log(result))
.catch((error) => console.error(error))
```[Run this code](https://stackblitz.com/edit/botd-cdn-jwtcvu?devtoolsheight=100&file=index.js)
π [Full documentation](docs/api.md)
## π€ Upgrade to Fingerprint Pro Bot Detection to detect sophisticated bots with confidence.
[Fingerprint Pro Bot Detection](https://fingerprint.com/products/bot-detection/) is a professional bot detection service that processes all information server-side and transmits it securely to your servers using server-to-server APIs.
Fingerprint Pro Bot Detection provides both browser and server-side APIs that make the process of bot detection fast and secure. When using the Pro Bot Detection, use the browser JavaScript SDK to obtain the requestID value and then verify this value using our server API.
The Pro product combines vast amounts of auxiliary data that bots leak (cursor movements, network overrides, browser changes and more) to be able to reliably deduplicate real users from automated software, resulting in the detection of popular automation tools, their derivatives and plugins.
A big advantage of the Pro detection is that it's able to distinguish good bots from bad ones that allow you to block malicious traffic without blocking search engine crawlers, monitoring workers, etc.
Full product comparison:
Open Source
Pro
Core Features
100% open sourceyesno1
Search engine detection
works in all modern browsers - see our full list of browsers supportedββ
Automation web services detectionββ
Automation browser extensions detectionββ
Detectable automation tools & frameworks
Headless Browsers (Chrome, Firefox)ββ
seleniumHQ/selenium
umbrella project encapsulating a variety of tools and libraries enabling web browser automationββ
microsoft/playwright
Node.js library to automate Chromium, Firefox and WebKit with a single APIββ
ariya/phantomjs
headless WebKit scriptable with JavaScriptββ
segmentio/nightmare
high-level browser automation libraryββ
electron/electron
framework lets you write cross-platform desktop applications using JavaScript, HTML and CSSββ
laurentj/slimerjs
scriptable browserββ
Detectable stealth plugins
berstend/puppeteer-extra/packages/puppeteer-extra-plugin-stealth
plugin for puppeteer-extra to prevent detection.-β
microlinkhq/browserless
efficient driver for controlling headless browsers built on top of puppeteer developed for scenarios where performance matters-β
ultrafunkamsterdam/undetected-chromedriver
optimized Selenium Chromedriver patch which does not trigger anti-bot services-β
MeiK2333/pyppeteer_stealth
stealth plugin for pyppeteer-β
Additional Features
Server-side accuracy increase
based on additional server-side data, such as TLS crypto support, ipv4/v6 data and othersββ
Query API
build flexible workflowsββ
Operations
Data securityYour infrastructureEncrypted at rest
StorageYour infrastructureUnlimited up to 1 yr
RegionsYour infrastructureHosting in US, EU and Mumbai
ComplianceYour infrastructureGDPR, CCPA compliant2
SLANo SLA99.9% Uptime
SupportGitHub communitySupport team via email, chat, and call-back within 1 business day
1. Pro uses the open source BotD library as well as proprietary technology for increased accuracy and result stability.
2. Fingerprint Pro is GDPR and CCPA compliant as the data processor. You still need to be compliant as the data controller and use the bot detection for fraud prevention under legitimate interest or ask for user consent.
Pro result example:
```js
{
"bot": {
"result": "bad"
"type": "selenium"
}
}
```πΏ [Live demo](https://fingerprint.com/products/bot-detection/)
π [Fingerprint Pro documentation](https://dev.fingerprint.com)
## Migrating from
v0
- [Migration guide](docs/migrating_v0_v1.md)
- [V0 documentation](https://github.com/fingerprintjs/BotD/tree/v0)## Supported browsers
The library supports all popular browsers.
See more details and learn how to run the library in old browsers in the [browser support guide](docs/browser_support.md).## Where to get support
Thanks to our [series B funding](https://fingerprint.com/blog/series-b/), we are happy to provide technical support for our open-source BotD library. We recommend using GitHub [Issues](https://github.com/fingerprintjs/BotD/issues) to submit bugs or [Discussions](https://github.com/fingerprintjs/BotD/discussions) to ask questions.
Using issues and discussions publicly will help the open-source community and other users with similar issues.
However, if you require private support, please email us at [[email protected]](mailto:[email protected]).## Contributing
See the [Contribution guidelines](contributing.md) to learn how to contribute to the project or run the project locally.
Please read it carefully before making a pull request.## Other products by Fingerprint on GitHub!
- [FingerprintJS -- browser fingerprinting library that queries browser attributes and computes a hashed visitor identifier from them](https://github.com/fingerprintjs/fingerprintjs)
- [Fingerprint Android -- Android identification and fingerprinting in native apps](https://github.com/fingerprintjs/fingerprintjs-android)### License
[MIT](LICENSE)
Β© 2023 FingerprintJS, Inc