Customizing TLS (JA3) Fingerprints through HTTP Proxy
git clone https://github.com/lylemi/ja3proxy
cd ja3proxy
make
./ja3proxy -port 8080 -client 360Browser -version 7.5
curl -v -k --proxy http://localhost:8080 https://www.example.comdocker run \
-v ./credentials:/app/credentials \
-p 8080:8080 \
ghcr.io/lylemi/ja3proxy:latest \
-cert /app/credentials/cert.pem \
-key /app/credentials/key.pem \
-client 360Browser \
-version 7.5See compose.yaml
docker compose up -dUsage of ja3proxy:
-addr string
proxy listen host
-port string
proxy listen port (default "8080")
-cert string
proxy tls cert (default "cert.pem")
-key string
proxy tls key (default "key.pem")
-client string
utls client (default "Golang")
-version string
utls client version (default "0")
-upstream string
upstream proxy, e.g. 127.0.0.1:1080, socks5 only
-debug
enable debugfor full list, see: https://github.com/refraction-networking/utls/blob/master/u_common.go
| Client | Version |
|---|---|
| Golang | 0 |
| Firefox | 55 |
| Firefox | 56 |
| Firefox | 63 |
| Firefox | 99 |
| Firefox | 105 |
| Chrome | 58 |
| Chrome | 62 |
| Chrome | 70 |
| Chrome | 96 |
| Chrome | 102 |
| Chrome | 106 |
| iOS | 12.1 |
| iOS | 13 |
| iOS | 14 |
| Android | 11 |
| Edge | 85 |
| Edge | 106 |
| Safari | 16.0 |
| 360Browser | 7.5 |
| QQBrowser | 11.1 |
If you have any ideas or suggestions, please feel free to submit a pull request. We appreciate any contributions.
If you have any questions or suggestions, please feel free to contact us.