Linux command-line proxy wrapper that forces any program through a proxy chain. Use ProxyChains-NG with KnoxProxy to route CLI tools, scripts, and applications through residential proxies without modifying their code.
Install from your package manager.
# Debian/Ubuntu
sudo apt install proxychains4
# macOS
brew install proxychains-ngFind or create the proxychains configuration file.
# Default locations:
# /etc/proxychains4.conf (system-wide)
# ~/.proxychains/proxychains.conf (per-user)Open the config file and set the chain type to strict for a single proxy.
strict_chainUncomment or add the proxy_dns directive to prevent DNS leaks.
proxy_dnsAt the bottom of the config file, under [ProxyList], add your KnoxProxy entry.
[ProxyList]
http gw.knoxproxy.com 7000 your_username-country-us your_passwordPrefix any command with proxychains4 to route it through KnoxProxy.
proxychains4 curl https://httpbin.org/ip
proxychains4 wget https://example.com
proxychains4 python3 my_script.py# ProxyChains-NG configuration for KnoxProxy
# Place at ~/.proxychains/proxychains.conf
strict_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
[ProxyList]
# KnoxProxy HTTP
http gw.knoxproxy.com 7000 your_username-country-us your_password
# Or use SOCKS5:
# socks5 gw.knoxproxy.com 7001 your_username-country-us your_passwordAdd -session-{id} to the username in proxychains.conf for sticky sessions. For a fresh IP each run, omit the session parameter.
| Problem | Fix |
|---|---|
| proxychains4: command not found | Install with apt install proxychains4 (Debian/Ubuntu) or brew install proxychains-ng (macOS). |
| DNS leak detected | Add proxy_dns to proxychains.conf to force DNS resolution through the proxy. |
| Connection refused for target site | Verify you used "http" with port 7000 or "socks5" with port 7001 in the [ProxyList] section. |
USER-country-de-city-berlin-session-profile07Order matters -- geo flags before the session flag. The session name is free text; use the profile ID so the mapping is self-documenting. Password stays as issued; no flags belong there. HTTP on :7000, SOCKS5 on :7001, same credentials.
Yes. Prefix any command with proxychains4 to route its TCP connections through KnoxProxy without changing the tool's own code, since proxychains intercepts network calls at the system level. This works with curl, wget, Python scripts, and effectively any CLI program that opens outbound TCP connections on Linux or macOS.
Yes, but only when proxy_dns is enabled in proxychains.conf; without it, DNS can still leak to your local resolver even though traffic routes through KnoxProxy. With proxy_dns on, all DNS queries are resolved remotely through the KnoxProxy gateway itself, matching your target country instead of revealing your real location.
Yes. Add multiple KnoxProxy entries to the [ProxyList] section, each with a different -country-{cc} username, then switch strict_chain to dynamic_chain in proxychains.conf so your traffic routes through them in sequence. This effectively chains several KnoxProxy exit countries for a single request instead of using just one gateway.
Yes. Add "socks5 gw.knoxproxy.com 7001 your_username-country-us your_password" to the [ProxyList] section instead of the http line, matching the commented-out example in the sample config. Keep strict_chain and proxy_dns enabled the same way you would for HTTP, so DNS still resolves through KnoxProxy and avoids leaking your real location.
Rotating residential proxies -- 3 minutes setup, instant activation, 14-day money-back guarantee.