generative-bayesian-network 2.0.0-dev.5 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +76 -2
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -1,3 +1,77 @@
|
|
|
1
|
-
|
|
1
|
+
<h1 align="center">
|
|
2
|
+
<a href="https://apify.github.io/fingerprint-suite/">
|
|
3
|
+
<picture>
|
|
4
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/apify/fingerprint-suite/master/website/static/img/logo_big_light.svg">
|
|
5
|
+
<img alt="Fingerprinting suite" src="https://raw.githubusercontent.com/apify/fingerprint-suite/master/website/static/img/logo_big_dark.svg" width="500">
|
|
6
|
+
</picture>
|
|
7
|
+
</a>
|
|
8
|
+
<br>
|
|
9
|
+
</h1>
|
|
2
10
|
|
|
3
|
-
|
|
11
|
+
<p align=center>
|
|
12
|
+
<a href="https://www.npmjs.com/package/fingerprint-injector" rel="nofollow"><img src="https://img.shields.io/npm/v/fingerprint-injector/next.svg" alt="NPM dev version" data-canonical-src="https://img.shields.io/npm/v/fingerprint-injector/next.svg" style="max-width: 100%;"></a>
|
|
13
|
+
<a href="https://www.npmjs.com/package/fingerprint-injector" rel="nofollow"><img src="https://img.shields.io/npm/dw/fingerprint-injector" alt="Downloads" data-canonical-src="https://img.shields.io/npm/dw/fingerprint-injector" style="max-width: 100%;"></a>
|
|
14
|
+
<a href="https://discord.gg/jyEM2PRvMU" rel="nofollow"><img src="https://img.shields.io/discord/801163717915574323?label=discord" alt="Chat on discord" data-canonical-src="https://img.shields.io/discord/801163717915574323?label=discord" style="max-width: 100%;"></a>
|
|
15
|
+
<a href="https://github.com/apify/fingerprint-suite/actions/workflows/test-and-release.yml"><img src="https://github.com/apify/fingerprint-suite/actions/workflows/test-and-release.yml/badge.svg?branch=stable" alt="Build Status" style="max-width: 100%;"></a>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
`fingerprint-suite` is a handcrafted assembly of tools for browser fingerprint generation and injection.
|
|
19
|
+
Today's websites are increasingly using fingerprinting to track users and identify them.
|
|
20
|
+
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.
|
|
21
|
+
|
|
22
|
+
**View full documentation, guides and examples on the [fingerprint-suite website](https://apify.github.io/fingerprint-suite/)**
|
|
23
|
+
|
|
24
|
+
> Would you like to work with us on our fingerprinting tools or similar projects? [We are hiring!](https://apify.com/jobs#senior-node.js-engineer)
|
|
25
|
+
|
|
26
|
+
## Overview
|
|
27
|
+
|
|
28
|
+
`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:
|
|
29
|
+
|
|
30
|
+
- [`header-generator`](https://www.npmjs.com/package/header-generator): generates configurable, realistic HTTP headers
|
|
31
|
+
- [`fingerprint-generator`](https://www.npmjs.com/package/fingerprint-generator): generates realistic browser fingerprints, affecting the HTTP headers and browser JS APIs
|
|
32
|
+
- [`fingerprint-injector`](https://www.npmjs.com/package/fingerprint-injector): injects browser fingerprints into your Playwright or Puppeteer managed browser instance
|
|
33
|
+
- [`generative-bayesian-network`](https://www.npmjs.com/package/generative-bayesian-network): our fast implementation of Bayesian generative network used to generate realistic browser fingerprints
|
|
34
|
+
|
|
35
|
+
## Quick start
|
|
36
|
+
|
|
37
|
+
The following example shows how to use the fingerprinting tools to camouflage your Playwright-managed Chromium instance.
|
|
38
|
+
|
|
39
|
+
```javascript
|
|
40
|
+
const { chromium } = require('playwright');
|
|
41
|
+
const { FingerprintGenerator } = require('fingerprint-generator');
|
|
42
|
+
const { FingerprintInjector } = require('fingerprint-injector');
|
|
43
|
+
|
|
44
|
+
(async () => {
|
|
45
|
+
const b = await chromium.launch({headless: false});
|
|
46
|
+
const ctx = await b.newContext();
|
|
47
|
+
|
|
48
|
+
const fingerprintGenerator = new FingerprintGenerator();
|
|
49
|
+
const fingerprintInjector = new FingerprintInjector();
|
|
50
|
+
|
|
51
|
+
const fingerprint = fingerprintGenerator.getFingerprint({
|
|
52
|
+
'locales': ['cs-CZ'], // setup your desired fingerprint features
|
|
53
|
+
'operatingSystems': ['linux'],
|
|
54
|
+
});
|
|
55
|
+
await fingerprintInjector.attachFingerprintToPlaywright(ctx, fingerprint);
|
|
56
|
+
|
|
57
|
+
// ...and enjoy your undercover browser while using the browser context as usual!
|
|
58
|
+
const page = await ctx.newPage();
|
|
59
|
+
await page.goto("https://apify.com");
|
|
60
|
+
})();
|
|
61
|
+
```
|
|
62
|
+
## Support
|
|
63
|
+
|
|
64
|
+
If you find any bug or issue with any of the fingerprinting tools, please [submit an issue on GitHub](https://github.com/apify/fingerprint-suite/issues).
|
|
65
|
+
For questions, you can ask on [Stack Overflow](https://stackoverflow.com/questions/tagged/apify) or contact support@apify.com
|
|
66
|
+
|
|
67
|
+
## Contributing
|
|
68
|
+
|
|
69
|
+
Your code contributions are welcome and you'll be praised to eternity!
|
|
70
|
+
If you have any ideas for improvements, either submit an issue or create a pull request.
|
|
71
|
+
For contribution guidelines and the code of conduct,
|
|
72
|
+
see [CONTRIBUTING.md](https://github.com/apify/fingerprint-suite/blob/master/CONTRIBUTING.md).
|
|
73
|
+
|
|
74
|
+
## License
|
|
75
|
+
|
|
76
|
+
This project is licensed under the Apache License 2.0 -
|
|
77
|
+
see the [LICENSE.md](https://github.com/apify/fingerprint-suite/blob/master/LICENSE.md) file for details.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "generative-bayesian-network",
|
|
3
|
-
"version": "2.0.0
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"author": {
|
|
5
5
|
"name": "Apify"
|
|
6
6
|
},
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"adm-zip": "^0.5.9"
|
|
22
22
|
},
|
|
23
|
-
"description": "An implementation of a bayesian network
|
|
23
|
+
"description": "An fast implementation of a generative bayesian network.",
|
|
24
24
|
"homepage": "https://github.com/apify/generative-bayesian-network#readme",
|
|
25
25
|
"license": "Apache-2.0",
|
|
26
26
|
"repository": {
|
|
@@ -29,9 +29,10 @@
|
|
|
29
29
|
},
|
|
30
30
|
"scripts": {
|
|
31
31
|
"build": "npm run clean && npm run compile",
|
|
32
|
+
"postbuild": "cp ./README.md ",
|
|
32
33
|
"clean": "rimraf ./dist",
|
|
33
34
|
"compile": "tsc -p tsconfig.build.json && gen-esm-wrapper ./index.js ./index.mjs",
|
|
34
35
|
"copy": "ts-node -T ../../scripts/copy.ts"
|
|
35
36
|
},
|
|
36
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "e498da3001f790772800ae01f83812f34553a5af"
|
|
37
38
|
}
|