- Transmission
- Installation
- Add Transmission PPA Repository
- Configure
- Username and Password
- Whitelist
- «umask» parameter
- Transmission Restart
- Default File Directory
- Configure Users and Permissions
- Transmission Daemon
- Starting and Stopping Transmission Daemon
- Bash Aliases
- Web Interface
- Port Forward
- Edit
- Port Forward
- Command Line Interface
- Transmission Create
- Add a Torrent
- Torrent Information
- Help information
- List all torrents
- Basic Stats All Torrents
- Full Stats All Torrents
- Torrent #3 Full Stats
- Torrent #3 Summary Stats
- Transmission Control
- Start all torrents
- Stop all torrents
- Start a specific torrent
- Stop a specific torrent
- Remove all torrents
- Remove a specific torrent
- Get hashes for all torrents
- Quit the daemon
- TetraQuicky01: Transmission on Linux Server via Docker
- TL;DR
- Looking more specifically at all the arguments.
Transmission
The BitTorrent protocol can be used to reduce the server and network impact of distributing large files. Rather than downloading a file from a single source server, the BitTorrent protocol allows users to join a «swarm» of hosts to download and upload from each other simultaneously.
Transmission is designed for easy, powerful use. We’ve set the defaults to Just Work and it only takes a few clicks to configure advanced features like watch directories, bad peer blocklists, and the web interface. When Ubuntu chose Transmission as its default BitTorrent client, one of the most-cited reasons was its easy learning curve.
This How-to focuses on CLI (Command Line Interface) and the Web interface
Transmission has been configured to work out of the box on a desktop. Because this how-to is designed for Ubuntu server we need to manually allow remote access.
Installation
Transmission is typically installed by default in Ubuntu. If not, install the transmission package from the Universe repository.
Add Transmission PPA Repository
If you want the latest then add the PPA repository
sudo add-apt-repository ppa:transmissionbt/ppa
sudo apt-get install transmission-cli transmission-common transmission-daemon
Configure
There are many settings which can be configured. This how-to focus on tweaking the default configuration file for use with Ubuntu server.
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 service transmission-daemon stop
edit /var/lib/transmission-daemon/info/settings.json
sudo nano /var/lib/transmission-daemon/info/settings.json
Username and Password
The default rpc-username and password is “transmission”
Change if increased security is required
Change it to whatever you want (any password will work). After next restart the password will be rewritten in SHA1 encrypted format for security reasons.
"rpc-password": " "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. I added ,192.268.*.* to allow any machine on my LAN access.
"rpc-whitelist": "127.0.0.1,192.168.*.*",
«umask» parameter
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.
Transmission Restart
After configuration change, restart transmission
sudo service transmission-daemon start
Default File Directory
Place a torrent file in this directory for automatic file download
/var/lib/transmission-daemon/downloads/
Configure Users and Permissions
It is recommended that Transmission runs under it’s own username for security reasons. This creates a few issues with file and folder access by Transmission as well as your account (let us assume it is user).
Add the username user to the group debian-transmission:
sudo usermod -a -G debian-transmission user
NOTE: Change «user» to you own Ubuntu user login name.
NOTE: When adding a user to a new group, the user must log out and log back in for it to take affect. A reboot will also accomplish this.
Transmission Daemon
Starting and Stopping Transmission Daemon
After install Transmission, the daemon will be started automatically (but not accessible yet). You can start and stop Transmission daemon using the following commands
sudo service transmission-daemon start sudo service transmission-daemon stop sudo service transmission-daemon reload
Note:Restarting (or reloading) Transmission daemon can be tricky. Restarting the the daemon (while it is already running) would rewrite the Transmission settings files to its original state. In other words, restarting the Transmission daemon would reset all the custom settings you saved.
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
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.
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»
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
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
TransmissionHowTo (последним исправлял пользователь ckimes 2017-09-10 19:46:07)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
TetraQuicky01: Transmission on Linux Server via Docker
How many time you wanted to have a quick torrent client running on an headless server instance, but you were put off by . installing transmission. setting users, storage space. initd or systemd to start at boot. and then ending up with the usual terrible transmission web UI?
Well if you know how to install docker, look no further.
TL;DR
docker run -d --name=transmission \ -v for the config>:/config \ -v for the downloads>:/downloads \ -v 't really remember that>:/watch \ -e PGID=1000 -e PUID=1000 \ -e TZ=London \ -e TRANSMISSION_WEB_HOME=/combustion-release/ \ -p 9091:9091 \ -p 10411:10411 \ -p 10411:10411/udp \ --restart=unless-stopped \ linuxserver/transmission:latest
Looking more specifically at all the arguments.
- —name=transmission or whatever name you prefer for your
- all the -v are important pieces for mounting some directory into the container. Especially for the downloads location, make sure to have enough space.
- -e PGID=1000 -e PUID=1000 : this is probably the most important and overlooked; it makes sure that newly downloaded files are having the user and group permission so that you can read and write them freely. 1000 is the default uid in most of the Linux installation but adjust accordingly if this is different (maybe you can check yours with echo $UID $GROUPS )
- -e TZ=London so your files are saved with the correct timestamps. if you care about that stuff.
- -e TRANMISSION_WEB_HOME=/compustion-release/ this trick will give a reasonably more modern UI (that works really well with mobiles)
- -p 9091:9091 you need this to access the web UI at http://localhost:9091 (you can redirect that port. I do usually)
- -p 10411:10411 -p 10411:10411/udp these are the port you need to open to have better download performance: 10411 is actually optional; you can choose which port you want. You remember to make sure this port is open also in your model, otherwise is pointless
- —restart=unless-stopped if you set the docker daemon to run at boot (like it does usually by default) this is making sure that your transmission headless client starts at boot as well. and in general. unless you don’t specifically stop it.
- linuxserver/transmission:latest the most important part; the docker image to start a new container from.
NOTE:
Although I usually don’t endeavour the use of latest version of the container, in this case, I think is not a bad idea. as this is probably running on your personal server, and if you keep the same directory volume mounted you can upgrade to the latest version of transmission simply by stopping the container and re-running a new container (with a different name) using the same command line.