Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[feature] Add support curl-impersonate to obfuscate basic HTTP requests to mimic regular browser behavior as much as possible #1730

Closed
wrobelda opened this issue Aug 9, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@wrobelda
Copy link
Contributor

wrobelda commented Aug 9, 2023

Version and OS
0.44 on Linux.

Is your feature request related to a problem? Please describe.
I am getting 403 on some of the websites recently, somehow they must detect Playwright is in use instead regular Chrome instance, since I can access the same sites on my regular browser just fine over the same network.

curl-impersonate makes effort to come off as identical as known UI browsers, e.g. through replicating a set of encoding handshakes, thus avoiding getting fingerprinted. Support for curl-impersonate can be easily added as a stand-in for existing libcurl, wherever the latter is in use. I have previously added support for it to rss-bridge and it was fairly straightforward, since they use PHP which itself relies on libcurl internally for HTTP handling. That having said, I see that changedetection uses Requests library for its basic HTTP calls, and as such it would require additional support for curl to be added for that to work.

@wrobelda wrobelda added the enhancement New feature or request label Aug 9, 2023
@wrobelda wrobelda changed the title [feature] Add support curl-impersonate for obfuscated basic HTTP requests to mimic regular browser behavior as much as possible [feature] Add support curl-impersonate to obfuscate basic HTTP requests to mimic regular browser behavior as much as possible Aug 9, 2023
@dgtlmoon
Copy link
Owner

I am getting 403 on some of the websites recently, somehow they must detect Playwright is in use instead regular Chrome instance, since I can access the same sites on my regular browser just fine over the same network.

hmm but playwright is chrome... it's not todo with the encoding, they are detecting based on if the machine supports GPU, type of screen etc etc

@dgtlmoon
Copy link
Owner

Support for curl-impersonate can be easily added as a stand-in for existing libcurl,

They dont support an 'official' python library either :/

another thing is, I'de like to see some proof where this works and using playwright does not

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants