Use SSH to Create an HTTP Proxy

on March 15th, 2017 by Hades | No Comments »

SOCKS is built in to OpenSSH, so it’s a trivial matter to set up a local SOCKS proxy with the -D flag. For example:

will open up the port 12345 on your local machine as a SOCKS proxy so all your HTTP traffic can be specified to go through the SSH tunnel and out remote_ssh_server on the other end. Your proxy server is now set up.

Next, set up your browser to use the proxy server. Most browsers include proxy support. For Firefox 3, go to Edit→Preferences→Advanced→Network→Settings, and specify that you want to use a Manual Proxy, localhost, port 12345 and SOCKS v5 (although OpenSSH supports both versions 4 and 5).

Now your browser is using a secure tunnel to your remote SSH server.

-D 8080 : This does the dynamic stuff and makes it behave as a SOCKS server.
f : This will fork the process into the background after you type your password.
C : Turns on compression.
q : Quiet mode. Since this is just a tunnel we can make it quiet.
N : Tells it no commands will be sent. (the -f will complain if we don’t specify this)