Commit Graph
20 Commits
Author SHA1 Message Date
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
lwthiker 01b4a33c82 Fix Curl's HTTP/2 headers to match Chrome's headers
* Change the default HTTP/2 settings sent by Curl to match the ones that
Chrome sends. They appear in the SETTINGS message in the beginning of
the HTTP/2 handshake, which can be seen only after decrypting the TLS
traffic.
* Change the order of the HTTP/2 pseudo-headers ":authority", ":scheme"
and ":path" in the HEADERS message. Curl sent them in a different order
than Chrome.
2022-02-19 00:49:01 +02:00
lwthiker 647c4f428c Finalize TLS Client Hello to impersonate Chrome 2022-02-19 00:48:26 +02:00
lwthiker b7d9388bf3 Improve curl-impersonate for Chrome
* Enable TLS extension 35 (session_ticket) which Curl turned off.
* Set the signature algorithms to match Chrome's.
* Fix the headers to exactly match Chrome.

It seems that the Client Hello message is now identical to Chrome.
However, it is still getting rejected.
2022-02-18 19:47:59 +02:00
lwthiker be4da0e70a First attempt at impersonating Chrome
* Headers and ciphers are aligned to Chrome 98 (Windows, non-incognito)
* GREASE enabled because chrome uses it as well
* TLS extensions 27, 5, 18 enabled.
2022-02-18 18:07:28 +02:00
lwthiker b00ad551b6 Add support for impersonating Firefox ESR 91
As suggested on the Hacker News thread
(https://news.ycombinator.com/item?id=30378562), add support for Firefox
Extended Support Release.

The required changes were adding one more cipher to the
ciphers list and changing the user agent. Apart from that the TLS
fingerprint is identical to Firefox 95 which was already supported.
2022-02-18 07:59:53 +02:00
lwthiker 4fe2fd36af Update README.md 2022-02-17 22:44:24 +02:00
lwthiker b0a23197e6 Update comments in the Dockerfile 2022-02-17 22:31:00 +02:00
lwthiker b9350c1510 Add link to the blog post in README.md 2022-02-17 22:23:39 +02:00
lwthiker 8862988c95 Update README.md 2022-02-17 21:39:51 +02:00
lwthiker 68963c811f Fix the headers in curl_ff95 wrapper script 2022-02-17 21:38:13 +02:00
lwthiker a1b45a2eba Update README.md 2022-02-17 21:34:46 +02:00
lwthiker 5bc1b53b52 Change pipe name in the wrapper script 2022-02-17 21:18:47 +02:00
lwthiker 918d553ae8 Add missing Dockerfile dependencies
* Install 'xxd', needed for the wrapper curl_ff95 script.
* Add curl_ff95 and not curl_ff97 (typo).
* Change binary name to 'curl-impersonate'
2022-02-17 21:17:47 +02:00
lwthiker 9457aa17cf Update README.md 2022-02-17 18:57:09 +02:00
lwthiker 0cb95660e6 Update README.md 2022-02-17 18:44:34 +02:00
lwthiker c6f189eb6a Add forgotten Dockerfile 2022-02-17 18:44:02 +02:00
lwthiker fecd28a00c Commit the Dockerfile and all required patches 2022-02-17 18:38:58 +02:00
lwthiker 3439319c42 Update README.md 2022-02-17 18:37:15 +02:00
lwthiker 4b2f502491 Initial commit 2022-02-17 18:23:38 +02:00