Commit Graph
225 Commits
Author SHA1 Message Date
Lily Foster 4a9c4027b8 Fix --disable-static and --enable-static=no 2022-10-03 20:13:43 -04:00
lwthiker f36059324c Merge pull request #110 from lwthiker/release_0_5_3
Release version 0.5.3
v0.5.3
2022-09-15 15:54:37 +03:00
lwthiker e21295a321 Increase version to 0.5.3 v0.5.3-alpha.1 2022-09-15 14:35:33 +03:00
lwthiker 15800b30f8 Merge pull request #108 from lwthiker/docs
Create docs/ folder with initial content
2022-09-10 19:12:58 +03:00
lwthiker 917f2988b6 Fix documentation links 2022-09-10 19:11:45 +03:00
lwthiker 27efac6b95 Create docs/ folder with initial content
Add more documentation on the following topics:
* Running `curl-impersonate` from the command line, including changing
the HTTP headers when needed.
* Using `libcurl-impersonate` in JS and PHP scripts.
2022-09-10 19:07:14 +03:00
lwthiker fa8bdcd4db Merge pull request #98 from lwthiker/chrome104
Add impersonation support for Chrome 104
2022-08-11 10:56:40 +03:00
lwthiker aa45fecf45 Add impersonation support for Chrome 104 2022-08-11 10:31:32 +03:00
lwthiker 6f45c8341c Update README.md with additional dependencies 2022-08-03 10:17:21 +03:00
lwthiker cb9a8df6e7 Merge pull request #91 from wrobelda/docs-deps-notes
Docs: add notes on dependencies, fix links
2022-08-03 10:02:26 +03:00
lwthiker 45b2248641 Merge branch 'main' into docs-deps-notes 2022-08-03 10:02:03 +03:00
lwthiker 10aa2059ed Merge pull request #96 from lwthiker/dont_ignore_curlopt_useragent
Don't ignore useragent from CURLOPT_USERAGENT
2022-07-30 16:22:08 +03:00
lwthiker 17aff1501e Don't ignore useragent from CURLOPT_USERAGENT
When impersonating with libcurl, the built-in user agent used for
impersonation was overriding and useragent the user had set via
CURLOPT_USERAGENT. The fix takes care to specifically handle user agent
set with CURLOPT_USERAGENT and use it instead of the built-in one when
it is supplied.
2022-07-30 15:48:39 +03:00
lwthiker 52d74d29ea Merge pull request #94 from lwthiker/control_headers_from_env_var
Allow disabling built-in HTTP headers
2022-07-30 11:19:47 +03:00
lwthiker bbaec0fad0 Update version to 0.5.2 v0.5.2 2022-07-30 10:11:06 +03:00
lwthiker d53732485e Merge pull request #95 from lwthiker/push_debian_docker
Push Debian-based Docker images to DockerHub
2022-07-30 10:09:13 +03:00
lwthiker a87d3d9d52 Install ca-certificates in the Debian containers v0.5.2-alpha.4 2022-07-30 09:37:23 +03:00
lwthiker c90b33a605 Run ldconfig in Debian Docker images only v0.5.2-alpha.3 2022-07-29 21:58:38 +03:00
lwthiker 8f19c20868 Run 'ldconfig' in Docker images
Run ldconfig to update the loader's cache. This is necessary
specifically on the Debian image since we put .so files in /usr/local.
v0.5.2-alpha.2
2022-07-29 21:05:29 +03:00
lwthiker 0ba5f83291 Fix bug in the minicurl test utility 2022-07-29 19:53:23 +03:00
lwthiker 6eaf8fafa3 Minimize Docker image size with multi-stage build
Minimize the size of the resulting Docker image size by using
multi-stage build and copying the resulting binaries into a minimal
Debian system. This was done with the Alpine Docker images up until now
but not with the Debian images.
v0.5.2-alpha.1
2022-07-29 19:49:00 +03:00
lwthiker 66458adc3f Push Debian-based Docker images to DockerHub
Push Debian-based Docker images to DockerHub automatically on each
release. The Debian images are suffixed with "-slim-buster" suffix.
2022-07-29 18:52:43 +03:00
lwthiker 5eac598d4d Allow disabling built-in HTTP headers
Let the user disable the built-in list of HTTP headers when using
libcurl-impersonate, either directly or when replacing it at runtime
with LD_PRELOAD. This is intended to give the user more precise control
over the content and order of the HTTP headers.

To support this, the curl_easy_impersonate() now has an added argument
that can be set to 0, in which case the built-in list of HTTP headers
used by libcurl-impersonate will not be automatically sent. Instead,
the user is expected to supply all the headers by themselves using the
standard CURLOPT_HTTPHEADER libcurl option.

When using LD_PRELOAD to inject libcurl-impersonate, one can disable
the built-in headers by setting the CURL_IMPERSONATE_HEADERS
environment variable to "no".
2022-07-29 18:19:36 +03:00
Dawid Wróbel 14796a1005 Docs: add notes on dependencies, fix links 2022-07-29 01:02:48 +02:00
lwthiker 87fa6cae2f Merge pull request #88 from lwthiker/use_curl_7_84
Upgrade upstream curl version to 7.84.0
2022-07-22 11:41:26 +03:00
lwthiker a8c0d14e46 Fix bug in curl 7.84.0
Cherry pick commit b9b6148c45a00d675d5bb261bf4cbb45468ad807 from
upstream curl to fix a bug in curl 7.84.0 which causes failures with the
'TE: Trailers' header.
2022-07-20 10:36:05 +03:00
lwthiker fffab4bcc1 Update upstream curl version to 7.84 2022-07-17 16:44:22 +03:00
Matheus Fillipe 9788522e4d Add pre compiled packages to AUR (#86)
Add -bin AUR packages for the pre compiled releases:

https://aur.archlinux.org/packages/curl-impersonate-bin
https://aur.archlinux.org/packages/libcurl-impersonate-bin
2022-07-16 09:08:11 +03:00
lwthiker 6903c01688 Update README.md 2022-07-15 11:02:22 +03:00
lwthiker 72f30c958e Add cross compilation support (#85)
Add support for cross-compiling curl-impersonate.

Cross compiling can now be done using the '--host' flag to the configure
script. This will make sure that all sub-components are cross-compiled.
In addition, compiling for a different system requires explicitly
specifying multiple paths used by curl (e.g. for certificates). These
options were added to the configure script as well.

The build and test CI workflow will now attempt to cross-compile
curl-impersonate to ARM64 (aarch64), and upload this binary to the
GitHub release page.

Add the 'configure' script generated by autoconf and its dependencies to
the repository to save the users from having to run 'autoconf' manually.
v0.5.1
2022-07-14 19:50:11 +03:00
lwthiker 6572db81db Update README.md 2022-07-14 10:39:36 +03:00
lwthiker 1253375893 Update README.md 2022-07-14 10:39:08 +03:00
lwthiker cc1a1c097c Merge pull request #84 from lwthiker/safari_15_5
Add impersonation support for Safari 15.5
2022-07-05 09:05:46 +03:00
lwthiker c2adb51d08 Remove archive.org from test urls
archive.org rejects connections which makes our test fail.
2022-07-05 08:49:32 +03:00
lwthiker e5670826ba Add impersonation support for Safari 15.5 2022-07-05 08:22:07 +03:00
lwthiker d417eb5c5c Rotate URLs in tests script and increase timeout
The tests fail sometimes with timeout for fetching the wikipedia URL.
Try to reduce the chance it happens by increasing the timeout and
rotating URLs.
2022-07-05 08:20:47 +03:00
lwthiker 9d9e393d0e Move curl-impersonate options to separate files
For better organization, move the curl-impersonate impersonation
definitions to a separate impersonate.c and impersonate.h files.
2022-07-05 07:51:37 +03:00
lwthiker f60fa9ae5a Add sponsors section to README.md 2022-07-04 20:31:25 +03:00
lwthiker 430fe507c3 Merge pull request #83 from lwthiker/firefox_102
Add impersonation support for Firefox 102
2022-07-03 12:25:14 +03:00
lwthiker 440fdd2606 Add impersonation support for Firefox 102 2022-07-03 12:09:55 +03:00
lwthiker dd88e116d1 Merge pull request #82 from lwthiker/yaml_signatures_reorg
Split signatures YAML database to multiple files
2022-07-03 11:14:05 +03:00
lwthiker 0a007c624e Split signatures YAML database to multiple files
For easier maintenance, split the YAML files with the browser signatures
to multiple files, each per browser.
2022-07-03 10:40:18 +03:00
lwthiker 4e0ca423af Update README.md with up-to-date information 2022-06-23 13:22:46 +03:00
lwthiker 69fce68828 Merge pull request #81 from lwthiker/browsers_json
Store the supported browsers list as a JSON file
2022-06-23 13:17:04 +03:00
lwthiker 1702f0f804 Store the supported browsers list as a JSON file
For easier programmatic access from scripts, etc., store the list of
supported browsers in a browsers.json file. For each browser we store
its details (name, version), which curl-impersonate binary is needed
(chrome vs. firefox) and the name of the wrapper script.
2022-06-23 13:16:15 +03:00
izzues 0b3d593bfd Use portable shebangs in wrapper scripts (#79)
This is the recommended approach and it's necessary on systems like NixOS.

See: https://web.archive.org/web/20220617225709/https://unix.stackexchange.com/questions/29608/why-is-it-better-to-use-usr-bin-env-name-instead-of-path-to-name-as-my
2022-06-22 20:37:10 +03:00
lwthiker fd7bd09bda Update README.md with latest Docker tags 2022-06-03 21:33:08 +03:00
lwthiker 4779505a66 Merge pull request #77 from lwthiker/upload_libcurl_impersonate
Upload precompiled libcurl impersonate on release
v0.5.0
2022-06-03 20:38:57 +03:00
lwthiker ec2067cb47 Update README.md 2022-06-03 20:38:42 +03:00
lwthiker 58e91b4253 Upload precompiled libcurl impersonate on release
Upload a tar file with libcurl-impersonate compiled for Ubuntu and macOS
automatically for each GitHub release. Previously only a statically
compiled version of the binary curl-impersonate was uploaded.
v0.5.0-alpha.1
2022-06-03 20:09:11 +03:00