Python proxy for TLS Fingerprinting with JA3
This is a fully functional HTTP/HTTPS proxy written in Python. It supports:
- HTTP and HTTPS traffic forwarding
- HTTP/2 support with Chrome 131 impersonation (via
curl_cffi) - Custom listening interface & port
- Logging support
- Command-line arguments for configuration
Install the necessary dependencies before running the proxy:
pip install -r requirementsTo start the proxy server, use the following command:
python proxy.py --interface 0.0.0.0 --port 8080 --impersonate chrome131 --debug| Argument | Description | Default Value |
|---|---|---|
--interface |
IP address to bind (e.g., 127.0.0.1, 0.0.0.0) |
0.0.0.0 |
--port |
Port number to listen on | 8080 |
--impersonate |
Chrome version for impersonation (chrome131) |
chrome131 |
--debug |
Enable debug mode for verbose logging | Disabled |
To use the proxy, configure your browser or system proxy settings:
- HTTP Proxy:
127.0.0.1:8080 - HTTPS Proxy:
127.0.0.1:8080
For remote use, replace 127.0.0.1 with the server's IP.
curl -x http://127.0.0.1:8080 http://example.comcurl -x http://127.0.0.1:8080 https://example.com -kβ
Supports HTTP & HTTPS requests
β
Handles HTTPS CONNECT method
β
Impersonates Chrome 131 using curl_cffi
β
Multi-threaded for handling multiple clients
β
Customizable via command-line arguments
β
Logging support
If you have any issues or feature requests, feel free to submit an issue or a pull request! π