Skip to content

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

ProtocolURL FormatNotes
HTTPhttp://host:portStandard HTTP proxy
HTTPShttps://host:portTLS-encrypted proxy
SOCKS5socks5://host:portTCP tunneling, most versatile
SOCKS5 + Authsocks5://user:pass@host:portAuthentication 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.

Released under the MIT License.