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!
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 headersfingerprint-generator
: generates realistic browser fingerprints, affecting the HTTP headers and browser JS APIsfingerprint-injector
: injects browser fingerprints into your Playwright or Puppeteer managed browser instancegenerative-bayesian-network
: our fast implementation of Bayesian generative network used to generate realistic browser fingerprints
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");
})();
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 [email protected]
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.
This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details.