Transmission Daemon

Install Transmission

To run transmission-daemon, you need to install transmission-cli, transmission-common and transmission-daemon. Please note that I have tested this on the latest transmission-cli (1.76).

Installing Transmission Daemon in Ubuntu

This is optional - if you want to install the latest Transmission, use the following PPA:

sudo add-apt-repository ppa:transmissionbt/ppa
sudo apt-get update

Then install the required packages:

sudo apt-get install transmission-cli transmission-common transmission-daemon

Installing Transmission Daemon in Debian

Debian Sid and Squeeze come with the latest Transmission version, however, Debian Lenny does not. We could compile it of curse but I was too lazy this time so I used the packages from Sid and installed them in Lenny.

-For Debian Sid, Squeeze or newer:

apt-get install transmission-cli transmission-common transmission-daemon

-For Debian Lenny: Libevent is needed so we are going to install this too.

-i386:

wget http://ftp.de.debian.org/debian/pool/main/t/transmission/transmission-daemon_1.76-1_i386.deb
wget http://ftp.us.debian.org/debian/pool/main/t/transmission/transmission-cli_1.76-1_i386.deb
wget http://http.us.debian.org/debian/pool/main/libe/libevent/libevent-1.4-2_1.4.13-stable-1_i386.deb
wget http://ftp.us.debian.org/debian/pool/main/t/transmission/transmission-common_1.76-1_all.deb

-amd64:

wget http://ftp.de.debian.org/debian/pool/main/t/transmission/transmission-daemon_1.76-1_amd64.deb
wget http://ftp.us.debian.org/debian/pool/main/t/transmission/transmission-cli_1.76-1_amd64.deb
wget http://http.us.debian.org/debian/pool/main/libe/libevent/libevent-1.4-2_1.4.13-stable-1_amd64.deb
wget http://ftp.us.debian.org/debian/pool/main/t/transmission/transmission-common_1.76-1_all.deb

-for both:

Then, install these packages:

dpkg -i *.deb

Configure transmission-daemon

If you are reading this how-to, you must be wanting to run transmission-daemon remotely, through transmisson-remote-gui so we must make the necessary adjustments:

transmission-daemon -f -t -u your_username -v your_password -w /path/to/downloaded/torrents -g /etc/transmission-daemon/

(For Ubuntu, add "sudo" in front of the command)

Now you can click Ctrl + C to cancel (close transmission-daemon)

And make the torrents download dir writable:

chmod -R 777 /path/to/downloaded/torrents

Explanations:

Replace the text in bold with your values (it's self explanatory).

The -f option sets transmission-daemon to run in the foreground (not as a daemon) for this session so we can easily close it using Ctrl + C.

"-t" sets the authentication to true.

"-g" sets the Transmission Daemon config folder. Without setting it, ~/.config/transmission-daemon will be used.

Further configuring (required for remote usage!)

Setting the allowed hosts to "" does not work through the transmission-daemon -a option for some reason, so we must edit the newly created config file. You can, of course, set the allowed hosts to just your IP, but I for instance have a dynamic IP address so I have to set it to "". Let's proceed:

Firstly, make sure transmission-daemon is not running, or else, the changes to it's settings file will not be saved (it's a known bug):

/etc/init.d/transmission-daemon stop

(if using Ubuntu, simply put sudo in front of the above command)

Now let's edit the settings file:

-For Ubuntu:

sudo nano /etc/transmission-daemon/settings.json

-For Debian:

nano /etc/transmission-daemon/settings.json

-Both: Look for this line: "rpc-whitelist":

and set it to your remote IP or to "*".

Then press Ctrl + O and then Ctrl + X (save and exit).

Run transmission-daemon

Now let's start transmission-daemon. Simply type:

/etc/init.d/transmission-daemon start

or:

transmission-daemon

(for Ubuntu, use sudo)

It should use all the configuration we used earlier. If for some reason you cannot connect using the Transmission Remote GUI, stop transmission-daemon and check the configuration file.

To stop it:

/etc/init.d/transmission-daemon stop

Start it again with:

/etc/init.d/transmission-daemon start

The transmission-daemon init.d script should already be created, but in case it's not (for older versions), see THIS PAGE.