3

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
  • 151
  • 1
  • 3

1 Answers1

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).
Josh Hunt
  • 21,185
  • 20
  • 84
  • 123
ScoBe
  • 592
  • 3
  • 6
  • 2
    note 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