Forcing all outgoing connections through proxies

2

4

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.

LIn

Posted 2009-10-21T09:20:46.273

Reputation: 141

Answers

4

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).

ScoBe

Posted 2009-10-21T09:20:46.273

Reputation: 572

@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 – 2012-06-14T21:55:13.757

1note 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 – 2009-10-21T09:37:36.520

Hey, looks exactly like what I need. Thanks a lot! – LIn – 2009-10-21T10:18:03.477