HOW TO : Setup SOCKS proxy using SSH/Putty and configure Pidgin to use SOCKS proxy

I ran into a challenge  recently, when I tried to connect to my IM services (Yahoo, MSN, AOL, GTalk) using Pidgin in a secured network. For some reason, the network administrator thought that he/she should make life hell for people trying to log into IM. I will have a whole new rant about companies trying to lock down networks thinking they are making the employees productive..

Here’s what I did to connect to my IM services.

  1. Configure Putty/SSH to act as a SOCKS proxy.
    • Most people might not be aware, but a typical SSH client can act as a SOCKS proxy. So I decided to leverage this functionality.
    • You will need access to a SSH server and Putty (Opensource Windows SSH client)
    • Launch Putty
    • Setup a new server connection profile. I used FREE_MY_IP as the profile name in this screen shot, but you can name it anything you want

    • Expand the SSH option in the left column and click on Tunnels
    • Choose any port higher than 1024 as source port (unless you are running some kind of server software on your workstation, it is safe to use any port above 8000) and enter the SSH server in the Destination field. Then choose the “Dynamic” option and click on Add.. the screen shot below shows the options I used

    • The tunnel will show up as below

    • Click on Open and establish the SSH tunnel
  1. Configure Pidgin (open source IM client) to use the SOCKS proxy
    • Launch Pidgin
    • Click on Tools -> Preferences in the menu
    • Click on the network tab
    • Choose SOCKS4 as the proxy type and enter localhost in the host field. In the port field enter the port you selected when setting up the tunnel in Putty.

  1. Connect to your IM services.. chat away and be unproductive 🙂