Transmission 2.80 Offers Up Various Changes
Phoronix: Transmission 2.80 Offers Up Various Changes
Transmission, the multi-platform open-source BitTorrent client shipped by a number of Linux distributions, has been updated to version 2.80 and it brings with it a wide variety of changes...
My problem with transmission
My problem with transmission (and all other torrent downloaders) always been two folds. I use it as a daemon and want to have it working as a daemon by default. With that in mind, I have a laundry list of features I want it to have once you start considering it running as a daemon:
I want transmission to keep downloading while I log off. (DONE)
I want it to start downloading when I boot up. (DONE)
I want per-user downloads that can't be stopped by another unprivileged user. (NOT DONE)
I want per-user hidden downloads so one user won't be able to see what the other is downloading if unprivileged to do so. (NOT DONE)
I want per user storage and bandwidth quotas. (NOT DONE)
It really all comes down to transmission not really fitting in with the multi-user environment. The way torrent protocol works, you only want one client per machine. Likely even per IP. I suspect it's the real reason why companies had troubles adopting torrents as a distribution model for files. They just can't set it up like they would an FTP server with multiple users.
I personally blame the distributions and not the devs in this one. If they were to package it as a daemon by default so when someone "sudo apt-get transmission", he will have a working daemon and a transmission group he only needs to add himself to, the devs would have started hearing more about the multi user concerns.
For multiuser, use multiple cli instances with nohup...
I have many of your concerns, but I'm a happy user of transmission (v1.52). Its just a matter os using individual transmission-cli for every download, and launching them with nohup. For example (with upload limit of 20kB/s, $port has a non-used non-privileged port for use in this download):
Originally Posted by c117152
nohup transmission-cli --port $port -u 20 -w "/path/to/new/download/dir" --finish /home/user/bin/touch-finished.sh /path/to/file.torrent 2>> nohup.out >>nohup.out
After hacking some scripts it can be very convenient (this describes my current setup):
1. Having a "watched" directory to save the .torrent files for automatic download (or a file with the suffix .magnet with the magnet link; firefox can be configured to call a script to do so when clicking a magnet)
2. A script in crontab running every 5 minutes scans that directory to start new torrent with transmission-cli and nohup
3. Every is keped tidy; there is a download directory with a subdirectory for every torrent, inside that directory is the nohup.out with the download stats and the torrent contents
4. An utility script to list current download status (mixes a ps and does a tail of the nohup.out of every active downlaod)
5. Another utility script to stop seeding a certain torrent
- You can stop a download killling the corresponding transmission-cli process
- You can pause downloads sending a SIGSTOP and resume with SIGCONT
- The scripts have "inteligence" as to when stop seeding (for example, after seeded 2 times the data size of 3 days)
- The crontab script can restart a torrent if it is not "running" and it doesn't have finished downloading (this restarts downloads after a computer reboot)
So if you are a power user, transmission-cli is sufficient for resolving those problem (although it may be non-optimal for magnets, as it may degrade the performance of PEX as every torrent is "independent").