generative-bayesian-network
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.4 • Public • Published

    Fingerprinting suite

    NPM dev version Downloads Chat on discord Build Status

    fingerprint-suite is a handcrafted assembly of tools for browser fingerprint generation and injection. Today's websites are increasingly using fingerprinting to track users and identify them. With the help of fingerprint-suite you can generate and inject browser fingerprints into your browser, allowing you to fly your scrapers under the radar.

    View full documentation, guides and examples on the fingerprint-suite website

    Would you like to work with us on our fingerprinting tools or similar projects? We are hiring!

    Overview

    fingerprint-suite is a modular toolkit for browser fingerprint generation and injection. It consists of the following npm packages, which you can use separately, or together:

    • header-generator: generates configurable, realistic HTTP headers
    • fingerprint-generator: generates realistic browser fingerprints, affecting the HTTP headers and browser JS APIs
    • fingerprint-injector: injects browser fingerprints into your Playwright or Puppeteer managed browser instance
    • generative-bayesian-network: our fast implementation of a Bayesian generative network used to generate realistic browser fingerprints

    Quick start

    The following example shows how to use the fingerprinting tools to camouflage your Playwright-managed Chromium instance.

    const { chromium } = require('playwright');
    const { FingerprintGenerator } = require('fingerprint-generator');
    const { FingerprintInjector } = require('fingerprint-injector');
    
    (async () => {
        const b = await chromium.launch({headless: false});
        const ctx = await b.newContext();
    
        const fingerprintGenerator = new FingerprintGenerator();
        const fingerprintInjector = new FingerprintInjector();
    
        const fingerprint = fingerprintGenerator.getFingerprint({
            'locales': ['cs-CZ'],           // setup your desired fingerprint features
            'operatingSystems': ['linux'],
        });
        await fingerprintInjector.attachFingerprintToPlaywright(ctx, fingerprint);
    
        // ...and enjoy your undercover browser while using the browser context as usual!
        const page = await ctx.newPage();
        await page.goto("https://apify.com");
    })();

    Performance

    With ever-improving performance of antibot fingerprinting services, we use some of the industry-leading services to benchmark our performance. The following table shows how is the latest build of fingerprint-suite doing in tests provided by various open-source fingerprinting services.

    The performace is evaluated using school-like grades (A being the best, F being the worst).

    Service Grade
    BotD
    CreepJS

    Support

    If you find any bug or issue with any of the fingerprinting tools, please submit an issue on GitHub. For questions, you can ask on Stack Overflow or contact support@apify.com

    Contributing

    Your code contributions are welcome and you'll be praised to eternity! If you have any ideas for improvements, either submit an issue or create a pull request. For contribution guidelines and the code of conduct, see CONTRIBUTING.md.

    License

    This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.

    Keywords

    none

    Install

    npm i generative-bayesian-network

    DownloadsWeekly Downloads

    20,254

    Version

    2.0.4

    License

    Apache-2.0

    Unpacked Size

    68.3 kB

    Total Files

    17

    Last publish

    Collaborators

    • mtrunkat
    • jancurn
    • petrpatek
    • mnmkng
    • jaroslavhejlek
    • drobnikj
    • metalwarrior665
    • strajk
    • fnesveda
    • b4nan