Skip to content

Instantly share code, notes, and snippets.

Created March 6, 2018 21:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/fb08f81485b91f6ecc59ab56b489f657 to your computer and use it in GitHub Desktop.
Save anonymous/fb08f81485b91f6ecc59ab56b489f657 to your computer and use it in GitHub Desktop.
A simple tutorial to begin seedboxing with Transmission-Daemon on Ubuntu Server 16.04

Transmission-Daemon Tutorial (from scratch on Ubuntu 16.04)

Depending on the work you've already done on your server, some of you might skip the first steps. However I highly recommend that you remove/purge every transmission packages/directory you have on your server to get a fresh start on this tutorial. I just tested (03/06/2018) this method on a VPS with an Ubuntu 16.04 and everything worked like a charm out of the box and the daemon restarted itself at reboot ! :)

Step 1 -> Installing Transmission-Daemon + creating a dedicated user to download torrents + adding this user to the "transmission-daemon" group.

apt install transmission-daemon 
useradd -d /home/Torrents -m Torrents
usermod -a -G debian-transmission Torrents
mkdir /home/Torrents/incomplete
chown -R Torrents:debian-transmission /home/Torrents
chmod 775 -R /home/Torrents
passwd Torrents
service transmission-daemon stop
  • We've created the user "Torrents", we've added him to the "debian-transmission" group.
  • Created directories "/home/Torrents" to receive completed torrents, and "/home/Torrents/incomplete" to host them while they're downloading.
  • We've fixed the permissions to allow "Torrents" to upload in the "/home/Torrents" folder and the "/home/Torrents/incomplete" sub folder.
  • We added a password for the user "Torrents"; then we stopped the daemon in order to complete step 2.

Step 2 -> Changing the config file settings.json

You'll find the config file here : /etc/transmission-daemon/settings.json You can edit It with nano directly in the CLI but this is really easier if you can pick up the file on your server, open it with gedit, in order to paste everything here :

--> If you have followed my instructions to the letter you can paste the entire code here in settings.json, you just have to change the YOURUSERPASSWORD line ! <--

{
    "alt-speed-down": 50, 
    "alt-speed-enabled": false, 
    "alt-speed-time-begin": 540, 
    "alt-speed-time-day": 127, 
    "alt-speed-time-enabled": false, 
    "alt-speed-time-end": 1020, 
    "alt-speed-up": 50, 
    "bind-address-ipv4": "0.0.0.0", 
    "bind-address-ipv6": "::", 
    "blocklist-enabled": false, 
    "blocklist-url": "http://www.example.com/blocklist", 
    "cache-size-mb": 4, 
    "dht-enabled": true, 
    "download-dir": "/home/Torrents", 
    "download-limit": 100, 
    "download-limit-enabled": 0, 
    "download-queue-enabled": true, 
    "download-queue-size": 5, 
    "encryption": 1, 
    "idle-seeding-limit": 30, 
    "idle-seeding-limit-enabled": false, 
    "incomplete-dir": "/home/Torrents/incomplete", 
    "incomplete-dir-enabled": true, 
    "lpd-enabled": false, 
    "max-peers-global": 200, 
    "message-level": 1, 
    "peer-congestion-algorithm": "", 
    "peer-id-ttl-hours": 6, 
    "peer-limit-global": 200, 
    "peer-limit-per-torrent": 50, 
    "peer-port": 51413, 
    "peer-port-random-high": 65535, 
    "peer-port-random-low": 49152, 
    "peer-port-random-on-start": false, 
    "peer-socket-tos": "default", 
    "pex-enabled": true, 
    "port-forwarding-enabled": false, 
    "preallocation": 1, 
    "prefetch-enabled": 1, 
    "queue-stalled-enabled": true, 
    "queue-stalled-minutes": 30, 
    "ratio-limit": 2, 
    "ratio-limit-enabled": false, 
    "rename-partial-files": true, 
    "rpc-authentication-required": true, 
    "rpc-bind-address": "0.0.0.0", 
    "rpc-enabled": true, 
    "rpc-host-whitelist": "", 
    "rpc-host-whitelist-enabled": false, 
    "rpc-password": "YOURUSERPASSWORD", 
    "rpc-port": 9091, 
    "rpc-url": "/transmission/", 
    "rpc-username": "Torrents", 
    "rpc-whitelist": "127.0.0.1", 
    "rpc-whitelist-enabled": false, 
    "scrape-paused-torrents-enabled": true, 
    "script-torrent-done-enabled": false, 
    "script-torrent-done-filename": "", 
    "seed-queue-enabled": false, 
    "seed-queue-size": 10, 
    "speed-limit-down": 100, 
    "speed-limit-down-enabled": false, 
    "speed-limit-up": 100, 
    "speed-limit-up-enabled": false, 
    "start-added-torrents": true, 
    "trash-original-torrent-files": false, 
    "umask": 18, 
    "upload-limit": 100, 
    "upload-limit-enabled": 0, 
    "upload-slots-per-torrent": 14, 
    "utp-enabled": true
}

Step 3 Restarting the daemon and installing the softwares to control everything remotely

service transmission-daemon start

Check http://yourserverip:9091 to be sure that everything is fine with the web interface. That you can add torrents, change the settings, etc...

And then come over to sourceforge.net to download Transmission Remote GUI my favorite cross platform remote for Transmission !

I also love the Torrnado app for Android, one of the best remote torrenting app out there IMO

I hope everything was useful everyone !

DWConnoisseur for Reddit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment