Torrent Client (Transmission)

RPi consumes only a few watts of power so it seems to be ideal torrent client platform – it can run for days and slowly (or not) download the content from internet. Setting up Torrent client is very easy. Here is how to do it…

We will install torrent client called Transmission. Before we do that lets update and upgrade our packages.

Installing the client:

After installation we need to configure it a bit, but don’t worry, it will take only a few minutes. Configuration file is /etc/transmisson-daemon/transmission.json. There are several values we need to change – here is the list of modified parameters (we will be modifying the rest but in more human way later on).
Before editing the config file stop daemon (if you stop daemon after editing the file, your changes will be overwritten):

To update config file execute:

First we’ll get rid of authentication when connecting to Transmission using web browser

"rpc-authentication-required": false

To avoid loosing any control over who connects to our Transmission we can define IP address range of computers that can connect. With the below settings, Transmission will be controlled by computers with IP addresses starting with 192.168.1.* and from local host (RPi).

"rpc-whitelist": "127.0.0.1,192.168.1.*"

Also make sure that the following parameters are set in this way:

"rpc-port": 9091
"rpc-url": "/transmission/"

Now, start Transmission-daemon:

From computer/tablet that has ip within the defined (above) range, connect to your Transmission:
(assuming IP of your Raspberry Pi is 192.168.1.106)

192.168.1.106:9091
or
192.168.1.106:9091/transmission (no / at the end of url)
or
192.168.1.106:9091/transmission/web/ (remember about / at the end of the address)

If you did everything right here is what you should see:
transmission-web

Now, with graphical interface you can easily set majority of Transmission properties as well as upload torrent files and start downloading. The setting you do in web interface will be reflected in settings.json file as soon as Transmission is stopped. If you still want to modify properties in config file, here is a link to description of all possible settings Config File Parameters Description

Remember, that when you set directory for downloaded files, this directory needs to have right privs so that Transmission would be able to write files there. If it’s external drive that will host the directory (most likely that will be the case) and you’ve installed Transmission on RaspBMC, mount if with mode=000 setting in fstab as described in DLNA installation.

Is it over? It can be if you’re fine with checking the download status from web browser, but it would be much cooler to be able to monitor, start and stop torrents from XBMC, since most likely you would like to use XBMC to view/listen media (if you’re downloading one). There is XBMC plug-in that you can install from XBMC GUI.
To install go to: System->Settings->Add-ons->Get Add-ons->XBMC.org Add-ons->Program Add-ons->Transmission and select install. If you disabled logging to Transmission there is nothing to configure. If you enabled it you need to enter username and password in the settings.

To start the plugin go to: Programs->Transmission

Transmission daemon XBMC plugin

Transmission daemon XBMC plugin

 

download_status_transmission_xbmc

Transmission daemon XBMC plugin – detailed torrent status

Isn’t that cool? :)

Here is your raspberry pi ampilight system!
  • FLHippy

    Excellent information. Thank you for posting this.

  • Bojan Marušič

    After I made changes in .json, how do I save it. I just can’t start transmission from there. Pls help :)

    • Jacek

      What tool do you use to update the file?

      • Bojan Marušič

        I’m doing this in terminal.

        • Jacek

          using nano or vi?

          • Bojan Marušič

            I just open the Terminal and folow this tutorial. Now I see that it is Nano :). Now what?