Forced Proxy Validation Manual
March 20, 2026 ยท View on GitHub
This manual provides a fail-closed validation flow:
- direct path must show your direct egress IP;
- valid proxy must show a different proxy egress IP;
- invalid proxy must fail (must not silently fall back to direct).
1) Prepare a working local proxy
Example (replace with your own proxy endpoint):
- SOCKS5 at
127.0.0.1:5091 - HTTP at
127.0.0.1:5098
2) Create test configs
Good config (proxy-good.conf):
strict_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
[ProxyList]
socks5 127.0.0.1 5091
Bad config (proxy-bad.conf):
strict_chain
proxy_dns
tcp_read_time_out 5000
tcp_connect_time_out 2000
[ProxyList]
socks5 127.0.0.1 5999
3) One-shot verification commands
Windows (PowerShell)
curl.exe --max-time 15 https://ifconfig.me
.\proxychains4.exe -f .\proxy-good.conf -v curl --max-time 15 https://ifconfig.me
.\proxychains4.exe -f .\proxy-bad.conf -v curl --max-time 10 https://ifconfig.me; $LASTEXITCODE
Expected:
- line 1 (direct) and line 2 (proxy) should be different IPs;
- line 3 should fail and return non-zero exit code (for curl usually
7).
Linux/macOS
curl --max-time 15 https://ifconfig.me
./proxychains4 -f ./proxy-good.conf -v curl --max-time 15 https://ifconfig.me
./proxychains4 -f ./proxy-bad.conf -v curl --max-time 10 https://ifconfig.me; echo $?
Expected:
- direct IP != proxied IP
- bad proxy run exits non-zero
4) DNS leak protection quick check
When proxy_dns is enabled, hostname resolution inside proxied process should be fake-IP mapped.
Linux/macOS:
./proxychains4 -q -f ./proxy-good.conf python3 -c "import socket;print(socket.getaddrinfo('dns-proxychains-check.invalid',443,0,socket.SOCK_STREAM)[0][4][0])"
./proxychains4 -q -f ./proxy-good.conf python3 -c "import socket;print(socket.getaddrinfo('dns-proxychains-check.invalid',443,socket.AF_INET6,socket.SOCK_STREAM)[0][4][0])"
Expected:
- IPv4 output starts with
224. - IPv6 output starts with
::ffff:224.
5) Troubleshooting
No proxies configured: verify[ProxyList]and-fpath.- Direct/proxy IP same: proxy endpoint may share same egress as direct path; run bad-proxy test to verify fail-closed behavior.
- Windows: keep
proxychains4.exeandproxychains.dllin same directory.