impersonate-proxy
HTTP/HTTPS proxy that impersonates browser TLS fingerprints using curl_cffi that can be effective in avoiding blocks against non-browser clients.
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 nativecurl-impersonatedefaults 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-impersonateviacurl_cffi. - Overrides curl_cffi's residual tells with a curated, platform-coherent fingerprint — full-build User-Agent, complete
Sec-CH-UAfamily, and canonical HTTP/2 header order for Chrome targets, UA-only for Firefox targets — enabled by default (--no-fingerprint-realto disable).
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:/home/impersonate/.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.
- Installation Guide: Setup, CLI arguments, and Docker.
- How It Works: Detailed information about TLS impersonation and HTTPS decryption.
- Development Guide: Building, running benchmarks, and tests.
Metadata
Release files for impersonate-proxy 0.6.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| impersonate_proxy-0.6.2.tar.gz | 194.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| impersonate_proxy-0.6.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 223.6 kB
Release files / impersonate_proxy-0.6.2.tar.gz
| Download URL | impersonate_proxy-0.6.2.tar.gz |
|---|---|
| Size | 194.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
88e708dfd7c9aa25ddd92b3c8d0c8ed0ab6b148bc8297bf39c2306b4e9326ddd
|
|
BLAKE2b-256 checksum How to use checksums |
81c3a7a45122ce72ad90337b1d6b04f76b9e3c76bb40a2c7ca7fee50c2bd5591
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / impersonate_proxy-0.6.2-py3-none-any.whl
| Download URL | impersonate_proxy-0.6.2-py3-none-any.whl |
|---|---|
| Size | 28.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e20e1b4ce5c26185fbcccf41d8d6dfd745c44a2029fdbe6ee51133e42859463b
|
|
BLAKE2b-256 checksum How to use checksums |
f693d3b85a097fc5bf73e699dff803544c2fae8dfde07ccafb865916cf4f21ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency log