Voltar ao ranking

apify/fingerprint-suite

TypeScript

Browser fingerprinting tools for anonymizing your scrapers. Developed by Apify.

fingerprintingplaywrightpuppeteerscrapingtypescript
Crescimento de estrelas
Estrelas
2.5k
Forks
267
Crescimento semanal
Issues
12
1k2k
jun. de 2022out. de 2023mar. de 2025jul. de 2026
Artefatosnpmnpm install fingerprint-suite
README

Fingerprinting suite

NPM dev version Chat on discord

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.

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.

import { chromium } from 'playwright';
import { newInjectedContext } from 'fingerprint-injector';

(async () => {
    const browser = await chromium.launch({ headless: false });
    const context = await newInjectedContext(browser, {
        // Constraints for the generated fingerprint (optional)
        fingerprintOptions: {
            devices: ['mobile'],
            operatingSystems: ['ios'],
        },
        // Playwright's newContext() options (optional, random example for illustration)
        newContextOptions: {
            geolocation: {
                latitude: 51.50853,
                longitude: -0.12574,
            },
        },
    });

    const page = await context.newPage();
    // ... your code using `page` here
})();

Here is the same example using Puppeteer:

import puppeteer from 'puppeteer';
import { newInjectedPage } from 'fingerprint-injector';

(async () => {
    const browser = await puppeteer.launch({ headless: false });
    const page = await newInjectedPage(browser, {
        // constraints for the generated fingerprint
        fingerprintOptions: {
            devices: ['mobile'],
            operatingSystems: ['ios'],
        },
    });

    // ... your code using `page` here
    await page.goto('https://example.com');
})();

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 for 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.

Repositórios relacionados
fingerprintjs/fingerprintjs

The most advanced free and open-source browser fingerprinting library

TypeScriptnpmMIT Licensejavascriptdetection
fingerprint.com/github/
27.9k2.6k
autoscrape-labs/pydoll

Pydoll is a library for automating chromium-based browsers without a WebDriver, offering realistic interactions.

PythonPyPIMIT Licensecdpchromium
pydoll.tech
7k391
lexiforest/curl_cffi

Python binding for curl-impersonate fork via cffi. A http client that can impersonate browser tls/ja3/http2 fingerprints.

PythonPyPIMIT Licensecurlhttp-client
curl-cffi.readthedocs.io
6.1k524
niespodd/browser-fingerprinting

Analysis of Bot Protection systems with available countermeasures 🚿. How to defeat anti-bot system 👻 and get around browser fingerprinting scripts 🕵️‍♂️ when scraping the web?

JavaScriptnpmbotdetection
niespodd.github.io/browser-fingerprinting/
5.1k274
EFForg/privacybadger

Privacy Badger is a browser extension that automatically learns to block hidden trackers

JavaScriptnpmOtherprivacyjavascript
privacybadger.org
3.8k431
Ekultek/WhatWaf

Detect and bypass web application firewalls and protection systems

PythonPyPIOtherbypassfirewall
2.9k469
abrahamjuliot/creepjs

Creepy device and browser fingerprinting

TypeScriptnpmMIT Licensedevicefingerprinting
2.5k287
gautamkrishnar/nothing-private

Do you think you are safe using private browsing or incognito mode?. :smile: :imp: This will prove that you're wrong. Previously hosted at nothingprivate.ml

JavaScriptnpmGNU General Public License v3.0privacybrowsers
nothingprivate.gkr.pw
2.2k159
nitefood/asn

ASN / RPKI validity / BGP stats / IPv4v6 / Prefix / URL / ASPath / Organization / IP reputation / IP geolocation / IP fingerprinting / Network recon / lookup API server / Web traceroute server

ShellMIT Licenseasnasn-lookup
1.9k197
vytal-io/vytal-extension

Browser extension to spoof timezone, geolocation, locale and user agent.

TypeScriptnpmGNU General Public License v3.0fingerprintfingerprinting
vytal.io
1.9k100
TheGP/untidetect-tools

List of anti-detect and humanizing tools and browsers, including captcha solvers and sms-activation.

antidetectantidetect-browser
1.8k157
Danny-Dasilva/CycleTLS

Spoof TLS/JA3 fingerprints in GO and Javascript

GoGo ModulesGNU General Public License v3.0ja3tls
1.5k216