mirror of
https://github.com/niespodd/browser-fingerprinting.git
synced 2021-11-01 22:44:07 +03:00
Update README.md
This commit is contained in:
15
README.md
15
README.md
@@ -10,15 +10,17 @@ PS. A ⭐ on this repo will be **appreciated**!
|
||||
|
||||
## [puppeteer-extra-plugin-stealth 😈](https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin-stealth)
|
||||
|
||||
✔️ Win / ❌ Fail / 👔 Tie :
|
||||
* [👔 p0f - detect host OS from TCP struct](https://en.wikipedia.org/wiki/P0f) - Not possible to fix via Puppeteer APIs. Used in [Akamai Bot Manager](https://www.akamai.com/uk/en/products/security/bot-manager.jsp) to match against JS and browser headers (Client Hints and `User-Agent`). There is a [detailed explaination of the issue](https://nmap.org/misc/defeat-nmap-osdetect.html). The most reliable evasion seems to be not spoofing host OS at all, or using [OSfooler-ng](https://github.com/segofensiva/OSfooler-ng).
|
||||
* 👔 **Browser dimensions** - Although [stealth plugin provides `window.outerdimensions` evasion](https://github.com/berstend/puppeteer-extra/blob/master/packages/puppeteer-extra-plugin-stealth/evasions/window.outerdimensions/index.js#L25), it won't work without correct config on non-default OS in headless mode; almost always fails when `viewport size >= screen resolution` (low screen resolution display on the host).
|
||||
✔️ Win / ❌ Fail / 🤷 Tie :
|
||||
* ✔️ **Client Hints** - [Shipped recently](https://github.com/berstend/puppeteer-extra/pull/413). In line with Chromium cpp implementation.
|
||||
* ✔️ **General `navigator` and `window` properties**
|
||||
* ✔️ **Chrome plugins and native extensions** - This includes both Widevine DRM extension, as well as Google Hangouts, safe-browsing etc.
|
||||
* [🤷 p0f - detect host OS from TCP struct](https://en.wikipedia.org/wiki/P0f) - Not possible to fix via Puppeteer APIs. Used in [Akamai Bot Manager](https://www.akamai.com/uk/en/products/security/bot-manager.jsp) to match against JS and browser headers (Client Hints and `User-Agent`). There is a [detailed explaination of the issue](https://nmap.org/misc/defeat-nmap-osdetect.html). The most reliable evasion seems to be not spoofing host OS at all, or using [OSfooler-ng](https://github.com/segofensiva/OSfooler-ng).
|
||||
* 🤷 **Browser dimensions** - Although [stealth plugin provides `window.outerdimensions` evasion](https://github.com/berstend/puppeteer-extra/blob/master/packages/puppeteer-extra-plugin-stealth/evasions/window.outerdimensions/index.js#L25), it won't work without correct config on non-default OS in headless mode; almost always fails when `viewport size >= screen resolution` (low screen resolution display on the host).
|
||||
* [❌ core-estimator](https://github.com/oftn-oswg/core-estimator/blob/master/core-estimator.js) - This can detect mismatch between navigator.hardwareConcurrency and SW/WW execution profile. Not possible to limit/bump the `ServiceWorker`/`WebWorker` thread limit via existng Puppeteer APIs.
|
||||
* ❌ **WebGL extensions profiling** - desc. tbd
|
||||
* ❌ **RTCPeerConnection when behind a proxy** - Applies to both SOCKS and HTTP(S) proxies.
|
||||
* ❌ **Performance.now** - desc. tbd (red pill)
|
||||
* ❌ **WebGL profiling** - desc. tbd
|
||||
* ❌ **Client Hints** - desc. tbd
|
||||
* ❌ **Behavior Detection** - desc. tbd (events, params, ML+AI buzz)
|
||||
* ❌ **Font fingerprinting** - desc. tbd (list+version+renderer via HTML&canvas)
|
||||
* ❌ **Network Latency** - desc. tbd (integrity check: proxy det., JS networkinfo, dns resolv profiling&timing)
|
||||
@@ -27,6 +29,11 @@ PS. A ⭐ on this repo will be **appreciated**!
|
||||
|
||||
## [Multilogin](https://multilogin.com), [Kameleo](https://kameleo.io/) and others 💰🤠
|
||||
|
||||
* 🤷 **Font masking** - Font fingerprinting still leaks host OS due to use of [different font rendering backends on Win/Lin/Mac](https://blog.typekit.com/2010/10/15/type-rendering-operating-systems/). However, the basic "font whitelisting" technique can help to slightly rotate browser fingerprint.
|
||||
* ❌ **Inconsistencies** - Profile misconfiguration leads to early property/behavior inconsitency detection.
|
||||
* ❌ **Native extensions** - Unlike `puppeteer-extra-plugin-stealth` custom Chromium builds such as ML and Kameleo provide at most an override for native plugins and extensions shipped with Google Chrome.
|
||||
* ❌ **AudioContext APIs and WebGL property override** - Manipulation of original canvas and audio waveform can be detected with custom JS.
|
||||
|
||||
tbd (if you have an active subscription in any of these services and don't mind sharing an account drop me an email ❤️)
|
||||
|
||||
## Support
|
||||
|
||||
Reference in New Issue
Block a user