Install transmission
sudo apt-get install transmission-cli transmission-common transmission-daemon
Configure
transmission-daemon will start automatically each time you start your server, with the settings defined in /var/lib/transmission-daemon/info/settings.json
Make sure the Transmission daemon is not running when changing the config file otherwise your changes will be over written.
sudo systemctl stop transmission-daemon
Now we need to change a few settings.
sudo nano /var/lib/transmission-daemon/info/settings.json
Username and Password
The default rpc-username and password is “transmission”
Change the default user name and password under rpc-username and rpc password change it to whatever you want (any password will work).
"rpc-password": "{62b16db87b89a91dd49a5110a7cafc06d20eb4f2wtK6kqPj", "rpc-username": "transmission",
Whitelist
This must be changed for remote access
rpc-whitelist defines access to transmission. Localhost (127.0.0.1) is defined by default. We need to add,192.268.*.* to allow any machine on my LAN access.
"rpc-whitelist": "127.0.0.1,192.168.*.*",
You will also have to set the “umask” parameter in Transmission’s settings file to “2” (default is 18) for the account user to have full access to files/folders created by Transmission.
"umask": 2,
Default File Directory
By default transmission stores the torrents to the following path
/var/lib/transmission-daemon/downloads/
Here I changed the following lines
"download-dir': "/media/server/downloads" "incomplete-dir": "media/server/downloads"
Configure Users and Permissions
I change that but first, we also need to set up the necessary permissions to transmission. Add user to the “debian-transmission” group, for the following command don’t forget to change the $user to your user.
sudo usermod -a -G debian-transmission $user
change the folder ownership
sudo chgrp debian-transmission /media/server
grant write access to the group
sudo chmod 770 /
media/server
It is recommended that Transmission runs under it’s own username for security reasons.
Transmission Restart
After configuration change, restart transmission
sudo systemctl start transmission-daemon
Bash Aliases
Create shortcuts add the following bash aliases to /home/user/.bash_aliases
sudo nano /home/user/.bash_aliases
alias t-start='sudo service transmission-daemon start' alias t-stop='sudo service transmission-daemon stop' alias t-reload='sudo service transmission-daemon reload' alias t-list='transmission-remote -n 'transmission:transmission' -l' alias t-basicstats='transmission-remote -n 'transmission:transmission' -st' alias t-fullstats='transmission-remote -n 'transmission:transmission' -si'
source /home/user/.bash_aliases
Example
user@SVR:~$ t-list
will run
transmission-remote -n ‘transmission:transmission’ -l
Web Interface
With your browser you can now add torrents, download and seed. You can also configure many transmission settings.
http://server-ip:9091
Port Forward
There are many options but one of the more important one’s is port forwarding
Check your ports are open
Edit

Port Forward

If you port says “closed” you will need to configure your internet router to forward the correct port to your Transmission server/client. Google “How to port forward”
If you don’t use “Port Forward” another option is “UPnP”. Once again this depends on you internet router setup.
Command Line Interface
With a headless server full control of Transmission requires CLI
Transmission Create
Create a torrent file with transmission CLI. Torrent files can be generated from either a single file or directories. The example below is a directory example
transmission-create -o /var/lib/transmission-daemon/downloads/files.torrent -c "My comments" -t udp://tracker.openbittorrent.com:80 -t udp://open.demonii.com:1337 -t udp://tracker.coppersurfer.tk:6969 -t udp://tracker.leechers-paradise.org:6969 ~/torrent/complete/
-o /var/lib/transmission-daemon/downloads/files.torrent
New torrent name and where to store the torrent
-c “My comments”
Any comments to be attached to the file
-t udp://tracker.openbittorrent.com:80
-t udp://open.demonii.com:1337
-t udp://tracker.coppersurfer.tk:6969
-t udp://tracker.leechers-paradise.org:6969
Trackers for the torrents, more than one tracker is recommended in case one or more goes down.
~/torrent/complete/
Directory to be made into a torrent. If a single file is required use this format “/var/lib/transmission-daemon/downloads/MyFile.txt”
For more information about “transmission-create”
transmission-create -h
Add a Torrent
To add a torrent to the daemon, use this command:
transmission-remote -a [path to file].torrent
transmission-remote -n 'transmission:transmission' -a /var/lib/transmission-daemon/downloads/files.torrent
Torrent Information
Display information about torrent’s being downloaded
Help information
transmission-remote -h
List all torrents
Note Authentication is required
transmission-remote -n ‘username:password’ -l
transmission-remote -n 'transmission:transmission' -l
Basic Stats All Torrents
transmission-remote -n 'transmission:transmission' -st
Full Stats All Torrents
transmission-remote -n 'transmission:transmission' -si
Torrent #3 Full Stats
transmission-remote -n 'transmission:transmission' -t 3 -f
Torrent #3 Summary Stats
transmission-remote -n 'transmission:transmission' -t 3 -i
Transmission Control
Start all torrents
transmission-remote -n 'transmission:transmission' -s
Stop all torrents
transmission-remote -n 'transmission:transmission' -S
Start a specific torrent
transmission-remote -s [hash]
transmission-remote -n 'transmission:transmission' -s -t 3
Stop a specific torrent
transmission-remote -S [hash]
transmission-remote -n 'transmission:transmission' -S -t 3
Remove all torrents
transmission-remote -n 'transmission:transmission' -r
Remove a specific torrent
transmission-remote -r [hash]
transmission-remote -n 'transmission:transmission' -r -t 3
Get hashes for all torrents
transmission-remote -n 'transmission:transmission' -i
Quit the daemon
transmission-remote -n 'transmission:transmission' -q