For windows systems I use a program called proxifier which forces ALL network traffic over the specified SOCKS/HTTPS proxy (except for individual programs added to the exception list). It works well on my windows systems but I need to do the same thing on my linux systems. I need a program for linux that forces network traffic through the specified SOCKS proxy. Does anyone here know of a good program like this for linux?


5 Answers 5


A couple of ideas:

  • tsocks - Uses LD_PRELOAD to get loaded into the address space of userland programs to intercept socket calls and forward them to a SOCKS proxy. (It looks like this project hasn't been maintained in YEARS).

  • transocks - A network layer SOCKS proxy redirector meant to run on your edge router. It intercepts outgoing TCP traffic (no UDP support) and forwards it to a SOCKS proxy. It looks like it should possible to run this on an individual host to intercept its own traffic. (This one also appears to be relatively unmaintained...)


One more: proxychains


I would like to suggest another tool privoxy (the name means privacy proxy). It has many superlative features like ipv6 supports, proxy chains, and working as "intercepting" mode, which can route all your traffic through your socks gateway.


Another one

I've used redsocks. It is a tool for redirecting TCP packages via SOCKS or HTTPS proxies and UDP packages via SOCKS5 proxies. In the website it is documented how to configure iptables for making the redirection. It has also available authetication for the parent proxy.


You can use SSH also as socks proxy.

ssh -D 9999 username@ip-address-of-ssh-server

use the “-D” flag of openssh to create a SOCKS proxy.This is a tunnel to the server. Now all you have to do is set the preference in Firefox(or what ever application you are trying) to use a SOCKS proxy. The proxy is, of course, “localhost”, with the port 9999.Now when you browse, all the connections you make to websites will seem to originate from the server to which you SSH-ed. In addition, all outgoing and incoming data for the browsing session will be encrypted since it passes through the SSH connection.