A couple of hours back I asked on Facebook, “Anyone out there who wants to learn how to download ‘things’ from the Internet? I mean direct-download and not the usual waiting thing from sharing sites neither using ‘local torrent clients’ that take days to complete …”. Response was awesome (: and as promised here’s the tutorial.

The trick is simple. We shall set up a torrent download on a remote server where you have a super-broadband. Schedule your downloads & once the files are on the server, pull them locally using a FTP client.

So, let’s begin…

We need a server with a super-broadband. Where can we get that? Definitely not in Mauritius. Hints : US, UK, Germany … Have you guys ever heard of Cloud Computing? That’s what we’re going to use. The last few months I’ve been trying several types of Cloud services just out of curiosity, fun … and some evil ideas. During my quest I came across Linode (which has a great service response), Rackspace (professional but expensive), Amazon Web Services (high availability but too expensive for my little projects), HP Cloud Services (affordable and a great support from HP), DigitalOcean (simple, fast but unavailability of openSUSE images pushed me away), Contabo (cheap but support availability was poor) … and finally the winner was Ramnode. I could get a VPS for Rs 600 a year. Here are the specs:

128MB RAM 128MB VSwap
1 CPU Core @ 2.3GHz+
50GB SSD-Cached HDD Space
1Gbps Port
500GB Bandwidth
1 IPv4 Address
16 IPv6 Addresses
Weekly Remote Backups
TUN/TAP

On top of that you can install any of these Linux distributions : CentOS, Debian, Fedora, Scientific Linux, openSUSE or Ubuntu. My choice is definitely openSUSE. Once your server is up & running openSUSE, install “Transmission BitTorrent Client” as follows:

zypper in transmission transmission-common  

Now start the Transmission daemon using the following command & parameters:

transmission-daemon -p 80 -a *.*.*.* --auth -u username -v yourpassword &  

Transmission will run in the background and its web interface will be accessible on port 80. The -u and -v parameters specify the username and password you want the web interface to be protected by. If the –auth parameter isn’t set the web interface will be accessible to all.

Open up your Internet browser on your PC and go to http://yourserverip/transmission/web/. You will be prompted to enter the username and password. After that enjoy …

Here’s a screenshot of the web interface from my little openSUSE laboratory situated somewhere in Atlanta, USA. See the download speed => 16.82 MB/s and it took no more than 5 mins to download a 4.69GB file.

Of course I erased my laboratory’s ip from the screenshot (:

Once the file downloaded on the server we can use an FTP client such as Filezilla to connect using (SFTP protocol) and bring the file locally at ease. You can also run a mini web server to share the files with friends.

Torrent sites : EZTV.it & 1337x.org

Gratitude list:
1. The first person who tipped me this idea => Ronny (my ex-manager), a real geek I never stopped learning from. We talked about this some time around a year from now.
2. Thiery, my work colleague who continuously pumps my brain with these wicked cool projects.