Skip to main content

HTTP/HTTPS proxy that impersonates browser TLS fingerprints using curl_cffi

Project description

impersonate-proxy

pypi python build tests license impersonate-proxy logo

HTTP/HTTPS proxy that impersonates browser TLS fingerprints using curl_cffi that can be effective in avoiding blocks against non-browser clients.

[!NOTE] This project started as a fork of hauxir/tls-impersonate-proxy and has now evolved beyond a pull request to merge. This impersonate-proxy project is maintained at psaintelligence/impersonate-proxy.

Design Philosophy

impersonate-proxy does not attempt to manually re-implement browser headers or replicate curl-impersonate in Python. Instead, it acts as a lightweight adapter:

  • Strips conflicting non-browser client headers (e.g. User-Agent: python-httpx) so native curl-impersonate defaults shine through.
  • Preserves request payload, auth, and shape semantics (Cookie, Authorization, Host, Sec-Fetch-* for XHR).
  • Delegates all browser TLS fingerprinting and header generation directly to curl-impersonate via curl_cffi.

Pypi: pypi.org/project/impersonate-proxy

GHCR: github.com/psaintelligence/impersonate-proxy/pkgs/container


Quick Start (Docker)

Spin up the proxy container:

docker run --rm -p 8899:8899 \
  -v /tmp/impersonate-certs:/root/.config/impersonate-proxy \
  ghcr.io/psaintelligence/impersonate-proxy:latest

Once started, configure your client to trust the CA and use the proxy:

# Export the generated CA cert to trust the proxy
export SSL_CERT_FILE=/tmp/impersonate-certs/ca.crt

# Issue request through the proxy
curl --silent -x http://127.0.0.1:8899 https://tls.browserleaks.com/json

Quick Start (pip / uv)

Install and start the proxy locally:

# Install via pipx from pypi
pipx install impersonate-proxy

# Or install via uv from source
uv pip install git+https://github.com/psaintelligence/impersonate-proxy.git

# Start the proxy (default: 127.0.0.1:8899)
impersonate-proxy

Documentation

Full guides and configuration details are available at psaintelligence.github.io/impersonate-proxy.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

impersonate_proxy-0.4.0.tar.gz (30.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

impersonate_proxy-0.4.0-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file impersonate_proxy-0.4.0.tar.gz.

File metadata

  • Download URL: impersonate_proxy-0.4.0.tar.gz
  • Upload date:
  • Size: 30.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for impersonate_proxy-0.4.0.tar.gz
Algorithm Hash digest
SHA256 ad461191c83a086b1a046aec17b6529edbd1ae61b7c16a00ba4bfbaeb5c197d4
MD5 977fceb93ced06b9fd41fdc93da46369
BLAKE2b-256 2818304567e3cdac67d41593b08a5e2b27053a5d72595d698cd5d6c9f130436e

See more details on using hashes here.

Provenance

The following attestation bundles were made for impersonate_proxy-0.4.0.tar.gz:

Publisher: publish.yml on psaintelligence/impersonate-proxy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file impersonate_proxy-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for impersonate_proxy-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4e9b7234dc00a5d6bc865259fd696127181f280b8c105d7165869379f497bb00
MD5 95368f90d747fa159b2fd9f363f440ec
BLAKE2b-256 6111310e2c7e61b37f78a661cbd39f0e366a89b72f9f6baf78779f29fae48628

See more details on using hashes here.

Provenance

The following attestation bundles were made for impersonate_proxy-0.4.0-py3-none-any.whl:

Publisher: publish.yml on psaintelligence/impersonate-proxy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page