Giter VIP home page Giter VIP logo

botd's Introduction

Fingerprint

Current NPM version Monthly downloads from NPM Monthly downloads from jsDelivr

Discord server

BotD (currently in beta)

# Before

- 40% of your website traffic is from bots
- They're taking over accounts, scraping prices and ruining your website reputation

# After

+ BotD is a browser library for JavaScript bot detection
+ Easily add ability to detect automation tools, browser spoofing and virtual machines
+ Requires adding only 3 lines of JavaScript on your website

๐Ÿ”ฉ Try Demo - see the live demo running in your browser

BotD runs in the browser; additionally you can harden it by using our open source cloud integrations.

Cloud Integrations โ˜๏ธ

  • CloudFlare - runs in CloudFlare workers for increased accuracy and security.
  • Fastly - runs in Fastly Compute@Edge high-performance WASM edge
  • Next.js/Vercel3rd party - runs as a Next.js edge middleware

Install from CDN

<script>
    // Initialize an agent at application startup.
    const botdPromise = import('https://openfpcdn.io/botd/v0.1')
        .then( Botd => Botd.load({ publicKey: '<your-public-key>' }))
    // Get the bot detection result when you need it.
    // Result will contain the `requestId` property, that you can securely verify on the server.
    botdPromise
        .then(botd => botd.detect())
        .then(result => console.log(result))
        .catch(error => console.error(error))
</script>

Run this code

Install from NPM to use with Webpack/Rollup/Browserify

npm i @fpjs-incubator/botd-agent
# or
yarn add @fpjs-incubator/botd-agent
import Botd from '@fpjs-incubator/botd-agent';

// Initialize an agent at application startup.
const botdPromise = Botd.load({ publicKey: '<your-public-key>' });

(async () => {
  // Get the bot detection result when you need it.
  // Result will contain the `requestId` property, that you can securely verify on the server.
  const botd = await botdPromise;
  const result = await botd.detect();
  console.log(result);
})();

Run this code

Authentication

You need a pair of keys to use BotD:

  • publicKey for making bot detection requests from browser. This key can be used publicly on your websites.
  • secretKey for verifying bot detection requests on the server. This key must be kept secret.

Please use the following form on our BotD product page to generate your keys.

Request Limit

The free keys are limited to 3M API calls per month and 10 calls per second while in beta.

Supported detection scenarios

Automation Tools & Frameworks

Stealth plugins

Vulnerability scanners

Browser spoofing

Browser spoofing - is a technique that helps users fake that they are using a different browser configuration by changing the browsers features.

The BotD helps to detect the following types of spoofing:

  • User Agent spoofing
  • Operating System spoofing
  • Hardware spoofing
  • etc.

VM detection

The BotD helps to detect if the browser is running inside one of the popular virtual machines, like VirtualBox, VmWare, Parallels, Hyper-V, etc.

Search bots

Google Bot, Bing Bot, Baidu Spider, Yahoo Bot, Alexa Bot, Apple Bot, Facebook Bot, Twitter Bot, Pinterest Bot, DuckDuckGo Bot, Coccoc Bot, Yandex Bot, Telegram Bot, Kiwi Status Spider, Naver Spider, Sputnik Bot, Petal Bot, Aspiegel Bot, Seznam Bot, Sogou Bot, DuckDuckGo Bot, Rackspace Bot, Pingdom Bot, WebPageTest.org crawlers, StatusCakeBot, Nutch-based Bot, Genieo Web filter, etc.

Many more tools and configurations are supported

Documentation links:

Contributing

See the contributing guidelines to learn how to start a playground, test, and build.

License

MIT

ยฉ 2022 FingerprintJS, Inc

botd's People

Contributors

antonymott avatar dependabot[bot] avatar finesse avatar makma avatar penyaev avatar r-valitov avatar romchela avatar tarunama avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.