-
Notifications
You must be signed in to change notification settings - Fork 248
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
Upgrade baseline curl to 8.1.1 #160
Conversation
New curl version includes bugfixes, new options but mainly websocket support which was long requested in curl impersonate. This commit attemps to upgrade the baseline curl version to 8.1.1 for the Chrome version.
This reverts commit 076df8c.
A build error on Mac is caused due to the build using OpenSSL headers instead of BoringSSL. Attempt to fix that.
1c08d73
to
dbd5bb0
Compare
Attempt to solve the macos build error by upgrading to a newer runner.
On macos, clang gives priority to /usr/local/include over locations specified with -isystem for some unknown reason. In turn this causes clang to use the system's openssl, which conflicts with curl-impersonate's boringssl headers. To prevent that, disable curl's automatic conversion of -I flags to -isystem.
curl-8.1.1 uses an nghttp2 function that only exists in newer versions of nghttp2.
This seems to be finally working. Upstream curl reworked their http2 code which made this upgrade way more difficult than I had originally anticipated. Since this is a large patch, I'm going to leave it open for a couple of days and let anyone who might want to test it out before merging. This also fixes the broken build on mac (#166) |
@lwthiker is there any way to access the binaries for linux x64? i'd like to test but i dont have a build environment setup. thanks for your effort, this project is fantastic! |
I still have issue #175 (firefox w/false start breaks) with the build (running up to debian bookworm system, tested on 2 systems).
|
I can't reproduce it. When I run curl-impersonate on a debian bookworm docker it works fine. I guess the solution would be to just remove the |
would it be possible for you to share the docker file or image somehow? i'd like to compare it to mine to track down the issue. thank you. |
while doing some additional testing i did a library call using libcurl-impersonate-chrome.so to the command line scripts for chrome seem to include running w/o the false start option doesn't seem to cause me any problems, but perhaps for completeness / stealthiness it does seem like there is a problem here if the native browsers actually have this feature enabled in their ssl stacks. i tested the chrome .so for both the current release version and the alpha you published with the same result. thanks |
ok, i just looked throught the current tip of the source tree for curl and from what i can tell there is very limited support for false start. https://github.com/search?q=repo%3Acurl%2Fcurl%20false_start&type=code this would all make sense, but you say it works for you somehow so i am a bit baffled. |
oof, should have rtfm...
So chrome shouldn't work....but the convenience scripts include the option. For some reason my code search didn't pick up the NSS ssl provider code snippet.... will look into it. |
i just tried the docker runtime image (latest) and it fails:
|
ok so I managed to reproduce it by doing
I think removing this flag altogether would be best for now, especially given that upstream curl does not support nss anymore. |
The new curl version includes bugfixes, new options but mainly websocket support which was long requested in curl-impersonate. This commit attempts to upgrade the baseline curl version to 8.1.1 for the Chrome version.
TODO: