BitTorrent: Bypass any Firewall or Throttling ISP with SSH
I wouldn’t recommend BitTorrent over SSH as a permanent solution since it will cripple the servers of the SSH providers. If you’re looking for a long term solution check out a VPN service such as Relakks.
1. Get an SSH account.
You need an SSH account in order to get this working. You can try one of these free shell providers from this list.
2. Download, Install and Configure Putty
Download Putty, store it somewhere on your computer and run it. In the session screen enter the host name, the port number (22), and tick the connection type box (SSH).
Next, go to SSH –> Tunnels, enter a source port and tick the dynamic box. I’m using port 23456, but you are free to choose any post you like as long as it’s available.
When you’re done, it might be a good idea to save the session so you don’t have to enter the info next time you run Putty. If you’re ready, hit the “open” button in the session screen. A command-line interface will pop-up so enter your username and password that you received from your shell-provider, and you’re done.
3. Configure your BitTorrent client.
The last step is to configure your BitTorrent client. I will show you how it’s done in uTorrent and Azureus but other BitTorrent clients use a similar setup.
uTorrent: go to Options > Preferences > Connection. Enter your port number (I use 23456), socks 4 or 5 as type, and localhost in the proxy field.
Azureus: go to Tools > Options > Connection > Proxy Options. Tick the “Enable proxying of tracker communications” and “I have a SOCKS proxy” box. Next, enter your port number in the port field (I use 23456) and localhost in the host field.
When you’re done, restart your BitTorrent client and you’re ready to go. BitTorrent over SSH tends to be a bit slower than your normal connection, but it’s a great solution when BitTorrent connections are blocked or throttled.
For those on a Mac OSX, please check out this great tutorial (which in part inspired this article) for more details. It includes instructions on how to do this on a Mac, using Azureus.