This will allow you to install and use a headless version of Transmission 2.03 on a ubuntu or centos OS and provide a remote RPC access to control the transmission daemon.
Transfer the source file of Transmission 2.03 to the server:
Download from our mirror: transmission-2.03.tar.bz2
For ubuntu:
sudo apt update
sudo apt upgrade
sudo apt install gettext gcc make intltool curl m4 automake libtool libssl-dev libssl1.0.0 build-essential libcurl4-gnutls-dev pkg-config libevent1-dev
For Centos 7:
yum update -y
yum install gettext gcc make intltool libevent2 libevent2-devel curl-devel gcc-c++ m4 automake libtool openssl-devel libssl1.0-dev
Now lets extract and compile transmission from source, enable daemon and disable gui:
tar xf transmission-2.03.tar.bz2
cd transmission-2.03
./configure --enable-daemon --disable-gtk
make
make install
Add the configuration file and downloads folder for transmission:
mkdir -p /var/www/html/Downloads
mkdir -p /home/somik/tr_config/
nano /home/somik/tr_config/settings.json
And add to the settings file:
{
"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,
"dht-enabled": false,
"download-dir": "/var/www/html/Downloads",
"encryption": 2,
"incomplete-dir": "/var/www/html/Downloads",
"incomplete-dir-enabled": false,
"lazy-bitfield-enabled": true,
"lpd-enabled": false,
"message-level": 2,
"open-file-limit": 32,
"peer-limit-global": 240,
"peer-limit-per-torrent": 60,
"peer-port": 54476,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": true,
"peer-socket-tos": 0,
"pex-enabled": false,
"port-forwarding-enabled": true,
"preallocation": 1,
"proxy": "",
"proxy-auth-enabled": false,
"proxy-auth-password": "",
"proxy-auth-username": "",
"proxy-enabled": false,
"proxy-port": 80,
"proxy-type": 0,
"ratio-limit": 2.0000,
"ratio-limit-enabled": true,
"rename-partial-files": true,
"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "AUTOGENERATED_ON_START-UP",
"rpc-port": 8080,
"rpc-username": "AUTOGENERATED_ON_START-UP",
"rpc-whitelist": "127.0.0.1,*.*.*.*",
"rpc-whitelist-enabled": true,
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"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-slots-per-torrent": 14
}
The above line “rpc-whitelist”: “127.0.0.1,*.*.*.*”, allows everyone on the internet to connect to your transmission, and it is over an unencrypted network so ensure it is either behind a firewall or it is changed to “rpc-whitelist”: “127.0.0.1,YOUR.IP.ADDRESS.HERE”, for security reasons.
Finally, provide it with the settings for it to run:
/usr/local/bin/transmission-daemon -a 127.0.0.1,*.*.*.* -g "/home/somik/tr_config/" -w "/var/www/html/Downloads" -p 8080 -P 12345 -t -u "USERNAME" -v "PASSWORD"