Transmission [TRANS-HTPC]

Transmission is my personal fav of all the Torrent Downloaders. For one, its the easiest I’ve found to use and setup. For two, it has a headless program for running on a server - and comes standard with a GUI interface that way. And three, its super light weight.

Add Repo and Install

Add the most up-to-date repo for transmission:

echo "deb $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/transmission-bt.list
echo "deb-src $(lsb_release -sc) main" | sudo tee -a /etc/apt/sources.list.d/transmission-bt.list
sudo apt-key adv --keyserver hkp:// --recv-keys 365C5CA1

sudo apt-get update && sudo apt-get install transmission-daemon transmission-cli -y

sudo service transmission-daemon stop

The last line, stopping the service, is necessary for you to be able to edit the settings.conf file. That file is silently rewritten by the transmission-daemon service, if that service is still running.


See User Management for notes on adjusting user permissions with regards to programs and allowing the web access to your machines.

User/Group Account Modifications

Add the Transmission group to your regular user account, as well as the group that owns the directory that you will be saving the downloaded files, as this will - hopefully - prevent permission issues.

sudo usermod -aG debian-transmission $USER
sudo usermod -aG debian-transmission root


If you are running this inside of a VirtualBox Linux Guest, and using VirtualBox’s Folder Syncing Feature… You’ll notice that the group owner of those mounts is vboxsf. Thats only inside of your Guest OS, but will futz with transmission’s ability to save anything to those directories. Make sure to also include vboxsf with the above commands.

Editing the settings.conf File

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

The settings file is quite long with lots of options. The Most Important parts are:

  • "rpc-whitelist": "", This blocks off all but only the IP listed from accessing….
  • "rpc-whitelist-enabled": true, This is the boolean to turn whitelisting on/off. Doesn’t always take for some reason…..
"rpc-whitelist": "*.*.*.*",
"rpc-whitelist-enabled": false,

You can also change the IP address to or whatever your home IP address ranges are, depending on what your personal security wants are.

"rpc-password": "password",
"rpc-username": "username",

Change the download-dir to where ever you want it….

"download-dir": "/var/lib/transmission-daemon/downloads",

This is the amount of items being downloaded at once. I usually stay at 5 max, no matter what machine I’m using.

"download-queue-size": 5,

For the seeding queue, I honestly lower it down to 5 as well, since I like to double the upload amount.

"seed-queue-size": 5,

Set umask to 002 to avoid permission issues…

"umask": 002,

I set the blocklist up as well. [TRANS-BlockList]

"blocklist-enabled": true,
"blocklist-url": "",

Save the file, and restart the service.

sudo service transmission-daemon restart

Then, take a look at Initial Installation IP Addresses for an in-depth explainer on internal IP addresses, but Transmission’s specific port number is 9091. So for example, localhost:9091 would be one way of accessing the web UI.

[TRANS-HTPC]Copied from HTPC-Guides and StackExchanges Raspberry Pi Forum on Transmission Permissions
[TRANS-BlockList]Transmission BlockList from ‘GiulioMacs Personal Blog’_