Commit Graph
12 Commits
Author SHA1 Message Date
lwthiker 4ea8f859eb Install nss in final alpine image
Add 'apk add nss' for the final alpine image of the Firefox version of
curl-impersonate. This is needed for curl to find the list of root
certificates.
2022-03-10 13:17:31 +02:00
lwthiker eaeb619fa7 Add Alpine Linux build system
Add Dockerfiles for building curl-impersonate on Alpine Linux.

The Dockerfile template file was modified to support Alpine Linux,
mainly by changing the dependency installation from 'apt' to 'apk'.
The resulting alpine images are small (~11mb) and will be uploaded to
Docker hub.
2022-03-10 11:57:53 +02:00
lwthiker d1dbfc89c5 Use a template for generating Dockerfiles
Since the firefox and chrome builds are similar except for the TLS
library used, it makes sense to unify their Dockerfiles. This commit
introduces a template Dockerfile from which both the build Dockerfiles
are generated using the simple 'mustache' template system.
2022-03-09 11:01:44 +02:00
lwthiker 7df69b5107 Compile libbrotli statically into curl-impersonate
Compile libbrotli statically into curl-impersonate/libcurl-impersonate
for convenience of usage outside the container.
2022-03-08 15:45:30 +02:00
lwthiker 8468747057 Merge pull request #19 from lwthiker/fix_wrapper_scripts
Fix bug in wrapper scripts parameter passing
2022-03-05 13:17:46 +02:00
lwthiker 0771c55799 Add Docker caching to GitHub actions workflow
Add layer caching to speed up the CI builds. In addition, optimize the
Dockerfiles by moving all the dependency installations (which are
unlikely to change much) to the initial layers.
2022-03-05 10:48:53 +02:00
lwthiker 6e0e9b90da Fix Edge and Firefox HTTP headers
The HTTP headers for Edge and Firefox were slightly incorrect.

curl patches from
https://github.com/lwthiker/curl/commit/ee0a67058ff5b4e3d0aaa4650feb584c68f80182
and
https://github.com/lwthiker/curl/commit/351dba44d02524c0b5df84309db593bc31143662
2022-03-04 17:27:08 +02:00
lwthiker 2f0c0af621 Fix bug in wrapper scripts parameter passing
Parameters to the wrapper scripts were passed incorrectly to
the 'curl-impersonate' binary.
2022-03-04 17:11:42 +02:00
lwthiker a7cbfd9fed Add libcurl impersonation support in Firefox build
48415a4b00 added impersonation
capabilities to libcurl in the Chrome build. This adds the same
capabilities to the Firefox build as well.

curl-impersonate.patch generated from
https://github.com/lwthiker/curl/commit/b30b245b722dbe9765615e3f316e9a7dab99bbf9
2022-02-28 10:18:04 +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 4f71a1650e Fix the order of HTTP2 headers in Firefox
After inspecting an encrypted TLS session, I noticed that Firefox
sends the HTTP2 pseudo headers in the order :method, :path, :authority,
:scheme while curl was sending them with :authority being the last one.

This patch fixes the order of HTTP2 headers in curl to match Firefox.
2022-02-19 20:34:43 +02:00
lwthiker f08db5c1cc Move build files to 'firefox' folder
In preparation for merging the support for Chrome impersonation, move
all build files to the 'firefox' folder. The two builds will live
separately as they are rather different (using two different SSL
libraries for instance).
2022-02-19 15:10:29 +02:00