lexiforest / curl_cffi

Python binding for curl-impersonate via cffi. A http client that can impersonate browser tls/ja3/http2 fingerprints.
https://curl-cffi.readthedocs.io/
MIT License
2.1k stars 249 forks source link

Unique TLS signatures or JA3 fingerprints with each request #169

Closed codeman5000 closed 8 months ago

codeman5000 commented 10 months ago

Hello, i'm not really sure but i like to know if with each request it is possible to create a unique TLS signatures or JA3 fingerprints with the same impersonated browser. i have this idea that bots after some time block requests if they detect the same fingerprints. randomizing the available impersonations is not enough, when doing a lot of requests per minute on some sites.

Is it possible to use an impersonation of a browser, lets say Chrome 107 but have a unique fingerprint with each request made with this impersonate version

thx in advance.

perklet commented 10 months ago

You can create unique fingerprints for each request, but they won't be the same as what browsers use. As far as I know, randomized fingerprints won't work, since the number of known browsers is very limited. If you were a website owner, an allowlist mode makes more sense.

codeman5000 commented 10 months ago

Hello thx for your answer. It is clear to me i cannot modify the browser fingerprint. is there any way in the request I can randomise so the fingerprint of the request with all its data is unique? i noticed a site where i get a lot of blocks. if I do a normal request some bots read extra stuff and implement it into the unique fingerprint, like fonts installed on your host, browser size, ...

kind regards w

perklet commented 10 months ago

curl_cffi only help you with TLS fingerprints. For other fingerprints generated in the browser via JavaScript, I think you need to use other projects. One of such techniques is called anti-detect browsers.

perklet commented 8 months ago

Tracked in #194, closing this one.