Proxy Pool
Nginjen supports HTTP, HTTPS, and SOCKS5 proxies with per-session assignment and rotation strategies.
Global Proxy
Set a global proxy that applies to all sessions:
toml
[engine]
proxy = "socks5://127.0.0.1:1080"Per-Session Proxy
Assign different proxies to different sessions via the API:
bash
curl -X POST http://127.0.0.1:9090/sessions \
-H 'content-type: application/json' \
-d '{
"profile": "windows",
"proxy": "http://user:pass@proxy.example.com:8080"
}'Supported Protocols
| Protocol | URL Format | Notes |
|---|---|---|
| HTTP | http://host:port | Standard HTTP proxy |
| HTTPS | https://host:port | TLS-encrypted proxy |
| SOCKS5 | socks5://host:port | TCP tunneling, most versatile |
| SOCKS5 + Auth | socks5://user:pass@host:port | Authentication support |
Use Cases
Distributing Requests Across IPs
bash
# Session 1 via proxy A
curl -X POST http://127.0.0.1:9090/sessions \
-d '{"proxy": "socks5://10.0.0.1:1080"}'
# Session 2 via proxy B
curl -X POST http://127.0.0.1:9090/sessions \
-d '{"proxy": "socks5://10.0.0.2:1080"}'WebRTC IP Leak Prevention
Nginjen's stealth engine blocks WebRTC STUN requests that could leak your real IP address, even when a proxy is configured. This is vector #17 in the stealth engine.
TIP
Always test your proxy setup with a WebRTC leak checker like browserleaks.com/webrtc to verify the real IP is hidden.