Transmission-daemon on a headless Ubuntu server

Use Transmission-daemon on a headless Ubuntu server for remote control the torrents. Here I installed Transmisiion-daemon in a headless server running Ubuntu.Transmission is a fast, simple and cross-platform free BitTorrent client,  feature spotlight are,
  • Uses fewer resources than other clients
  • Native Mac, GTK+ and Qt GUI clients
  • Daemon ideal for servers, embedded systems, and headless use
  • All these can be remote controlled by Web and Terminal clients
  • Bluetack (PeerGuardian) blocklists with automatic updates
  • Full encryption, DHT, PEX and Magnet Link support
Check new release at www.transmissionbt.com. Installation(Ubuntu)
$ sudo apt-get install transmission-cli transmission-common transmission-daemon
Start and stop Daemon
$ sudo /etc/init.d/transmission-daemon start (stop)
Edit Configuration SettingsFirst, stop the daemon before editing.$ sudo nano /etc/transmossion-daemon/settings.jsonSome options(ref to WIKI):
  • download-dir: String
  • incomplete-dir: String (directory to keep incomplete files in)
  • incomplete-dir-enabled: Boolean (default = false) When enabled, new torrents will download the files to incomplete-dir. When complete, the files will be moved to download-dir.
  • watch-dir: String
  • watch-dir-enabled: Boolean (default = false)
  • rpc-authentication-required: Boolean (default = false)
  • rpc-bind-address: String (default = “0.0.0.0″) Where to listen for RPC connections
  • rpc-enabled: Boolean (default = true)
  • rpc-password: String
  • rpc-port: Number (default = 9091)
  • rpc-username: String
  • rpc-whitelist: String (Comma-delimited list of IP addresses. Wildcards allowed using ‘*’. Example: “127.0.0.*,192.168.*.*”, Default: “127.0.0.1″ )
  • rpc-whitelist-enabled: Boolean (default = true)
My sample setting file for example: { “blocklist-enabled”: 0, “download-dir”: “/home/user/downloads”, “incomplete-dir”: “/home/user/tpm”, “incomplete-dir-enabled”: 1, “download-limit”: 100, “download-limit-enabled”: 0, “encryption”: 1, “lazy-bitfield-enabled”: 1, “message-level”: 2, “open-file-limit”: 32, “peer-limit-global”: 240, “peer-limit-per-torrent”: 60, “peer-port”: 51413, “peer-port-random-enabled”: 0, “peer-port-random-high”: 65535, “peer-port-random-low”: 1024, “peer-socket-tos”: 0, “pex-enabled”: 1, “port-forwarding-enabled”: 1, “preallocation”: 1, “proxy”: “”, “proxy-auth-enabled”: 0, “proxy-auth-password”: “”, “proxy-auth-username”: “”, “proxy-enabled”: 0, “proxy-port”: 80, “proxy-type”: 0, “rpc-authentication-required”: 1, “rpc-enabled”: 1, “rpc-password”: “transmission”, “rpc-port”: 9091, “rpc-username”: “transmission”, “rpc-whitelist”: “*”, “rpc-whitelist-enabled”: 1, “upload-limit”: 100, “upload-limit-enabled”: 0, “upload-slots-per-torrent”: 14 }transmission-remote-guiTransmission Remote GUI is a tool to remotely control Transmission-daemon via its RPC  protocol. You can download native applications for Windows, Linux and Mac OS X.

In Linux, to make the file "transgui" executable by doing the following,

$ sudo chmod +x transgui

I encountered difficulties with file permissions when I had Transmission save downloads within the /var/lib/transmission-daemon/. Therefore, I changed Transmissions setting to download to a folder within my home directory. To ensure that both I and the debian-transmission user had read/write permissions, I added my account to the debian-transmission group (which is created when you install transmission), and I changed the group ownership of my torrent download directory to debian-transmission. Doing so grants the debian-transmission group read/write access to that folder, preserves read/write/execute access for my account, and prevents access to all others.

$ sudo usermod -a -G debian-transmission mjdescy
$ chgrp debian-transmission ~/dl/torrent
$ chmod 770 ~/dl/torrent