fingerprint-suite 是一套手工打造的浏览器指纹生成与注入工具。如今的网站越来越多地使用指纹识别技术来追踪和识别用户。借助 fingerprint-suite,你可以生成浏览器指纹并将其注入到浏览器中,让你的爬虫能在不被察觉的情况下运行。
你想和我们一起开发指纹识别工具或类似项目吗?我们正在招聘!
fingerprint-suite 是一套模块化的浏览器指纹生成与注入工具包。它由以下 npm 包组成,你可以单独使用,也可以组合使用:
header-generator:生成可配置、逼真的 HTTP 请求头fingerprint-generator:生成逼真的浏览器指纹,可影响 HTTP 请求头和浏览器 JS APIfingerprint-injector:将浏览器指纹注入到由 Playwright 或 Puppeteer 管理的浏览器实例中generative-bayesian-network:我们实现的快速贝叶斯生成网络,用于生成逼真的浏览器指纹下面的示例展示了如何使用指纹识别工具来伪装由 Playwright 管理的 Chromium 实例。
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
})();
下面是使用 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');
})();
如果你在使用这些指纹识别工具时发现任何 Bug 或问题,请在 GitHub 上提交 issue。 如有疑问,可以在 Stack Overflow 上提问,或联系 [email protected]
欢迎提交代码贡献,你将因此获得永恒的赞美! 如果你有任何改进想法,可以提交 issue 或创建 pull request。 有关贡献指南和行为准则,请参阅 CONTRIBUTING.md。
本项目基于 Apache License 2.0 许可 - 详情请参阅 LICENSE.md 文件。