apify / fingerprint-suite

Browser fingerprinting tools for anonymizing your scrapers. Developed by Apify.
Apache License 2.0
983 stars 103 forks source link

Introduce tests of fingerprint cosinstency #26

Open petrpatek opened 2 years ago

petrpatek commented 2 years ago

As Gavin mentioned we could use https://github.com/abrahamjuliot/creepjs for fingerprint consistency testing.

JaneJeon commented 2 years ago

+1 for this. fingerprint-injector + using actual Chrome is literally enough to avoid detection from basically all websites that I've tested on, except for CreepJS.

It's actually kinda crazy, but there are only a few points that are detected by creepJS (mainly the navigator) - so I believe testing with this to try to advance the "arms race" would be absolutely necessary for this project's longevity.

petrpatek commented 2 years ago

Exactly, I am glad that it works for you! From my perspective, I want to start testing to validate if the improvements we are doing are improvements at all.

JaneJeon commented 2 years ago

Well, for what it's worth, CreepJS apparently detected "lies" in the navigator (both the main thread and the service worker) that the injector either didn't cover or they used some magic to detect tampering with it (still trying to figure out which is the case).

Obviously YMMV as I was relying on local Chrome, but I'm trying to make this more.... "scientific" by spinning up puppeteer/chrome in docker and running the test w/ creepjs to get a replicable result.

And I guess the end goal is to test this against actual websites with strong scraping protection, but at the moment, it's just me running it locally against a particular URL/website and seeing what sticks and what doesn't