
Outils d'empreinte numérique de navigateur pour anonymiser vos scrapers. Développés par Apify.
fingerprint-suite est un assemblage artisanal d'outils pour la génération et l'injection d'empreintes de navigateur.
Les sites web d'aujourd'hui utilisent de plus en plus le fingerprinting pour suivre les utilisateurs et les identifier.
Grâce à fingerprint-suite, vous pouvez générer et injecter des empreintes de navigateur dans votre navigateur, ce qui vous permet de faire passer vos scrapers sous le radar.
Souhaitez-vous travailler avec nous sur nos outils de fingerprinting ou des projets similaires ? Nous recrutons !
fingerprint-suite est une boîte à outils modulaire pour la génération et l'injection d'empreintes de navigateur. Elle se compose des paquets npm suivants, que vous pouvez utiliser séparément ou ensemble :
header-generator : génère des en-têtes HTTP réalistes et configurablesfingerprint-generator : génère des empreintes de navigateur réalistes, affectant les en-têtes HTTP et les API JS du navigateurfingerprint-injector : injecte des empreintes de navigateur dans votre instance de navigateur gérée par Playwright ou Puppeteergenerative-bayesian-network : notre implémentation rapide d'un réseau bayésien génératif utilisé pour générer des empreintes de navigateur réalistesL'exemple suivant montre comment utiliser les outils de fingerprinting pour camoufler votre instance Chromium gérée par Playwright.
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
})();
Voici le même exemple avec 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');
})();
Si vous trouvez un bug ou un problème avec l'un des outils de fingerprinting, veuillez soumettre un problème sur GitHub. Pour toute question, vous pouvez demander sur Stack Overflow ou contacter [email protected]
Vos contributions de code sont les bienvenues et vous serez loué pour l'éternité ! Si vous avez des idées d'amélioration, soumettez un problème ou créez une pull request. Pour les directives de contribution et le code de conduite, voir CONTRIBUTING.md.
Ce projet est sous licence Apache License 2.0 - voir le fichier LICENSE.md pour plus de détails.