How can I do this in Linux? It'd be nice if there was a way to transparently force connections through proxies rather than configure them individually for each program.
Asked
Active
Viewed 7,673 times
1 Answers
5
You want proxychains. From the Ubuntu package manager description:
Proxy chains force any tcp connection made by any given tcp client to follow through proxy (or proxy chain). It is a kind of proxifier. It acts like sockscap / premeo / eborder driver ( intercepts TCP calls )
This version supports SOCKS4, SOCKS5 and HTTP CONNECT proxy servers. Different proxy types can be mixed in the same chain.
Features:
- Access Internet from behind restrictive firewall.
- Source IP masquerade.
- SSH tunneling and forwarding.
- Dynamic LAN-to-LAN VPN channel.
- Servers and daemons friendly (works fine with sendmail MTA).
-
2note that simply setting the http_proxy environment variable will tell many http-using programs that you _want_ them to use this proxy. It just won't force them if they don't refer to the variable or have their own settings. It's a simple setting which works for many cases. – ScoBe Oct 21 '09 at 09:37
-
Hey, looks exactly like what I need. Thanks a lot! – LIn Oct 21 '09 at 10:18
-
@ScoBe sadly, many is nowhere near enough. Using the Heroku toolbelt, for example, and wget seems to choke on my proxy settings (because I have username/password, and it thinks the username is a hostname). But thank you for this answer, it's exactly what I needed. – Liam Dawson Jun 14 '12 at 21:55