Commit Graph
6 Commits
Author SHA1 Message Date
lwthiker 051ccfd5e6 Merge pull request #15 from lwthiker/boringssl_old_ciphers
Restore old ciphers in BoringSSL
2022-03-02 09:33:36 +02:00
lwthiker 4e2e782e5f Add Edge 98 signature to libcurl-impersonate 2022-02-27 23:48:17 +02:00
lwthiker f4474a87e8 Restore old ciphers in BoringSSL
BoringSSL removed some old and weak cipehrs from OpenSSL. It appears as
though Safari still uses some of them.

The included patch restores them, so that using them in the "--ciphers"
option to curl will add them to the client's list of supported ciphers.
These ciphers may not actually work if the server chooses to use them,
because the "real" code to handle them is missing. But since they are
considered weak it is unlikely to happen.
2022-02-27 14:07:38 +02:00
lwthiker 48415a4b00 Add impersonation support to libcurl
Patch generated from https://github.com/lwthiker/curl/commit/e8cd43c8ebd2624b3c635ec96b165c28f675cdf2

Add curl_easy_impersonate() API function that sets the needed options
on the curl 'easy' handle. It sets the various TLS options needed for
impersonation and the HTTP headers that the browser sends by default.

In addition, libcurl will check for the environment variable
CURL_IMPERSONATE when curl_easy_init() is called, and if it exists it
will call curl_easy_impersonate() internally. This theoretically allows
replacing an existing libcurl by setting the LD_LIBRARY_PATH and
CURL_IMPERSONATE env vars, without having to recompile the app.
2022-02-26 12:23:09 +02:00
lwthiker 46d5d21941 Consolidate curl's patch files
Consolidate all of curl's patch files into a single file (one for each
browser). The modified curl source code is now maintained in Git (at
    https://github.com/lwthiker/curl) and it is easier to just
generate the needed patch with 'git --diff'.
2022-02-25 22:27:03 +02:00
lwthiker 367f91922d Move Chrome related files to their own directory
Building curl-impersonate with Chrome impersonation requires a different
compilation and a different set of patches which may conflict with the
Firefox impersonation. Therefore we will treat them a separate builds.
All chrome related files were moved to the chrome/ directory.
2022-02-19 11:05:20 +02:00