Transmission (BitTorrent client)

Transmission web GUI

Instalasi

Install transmission web gui

sudo apt-get install transmission-cli transmission-common transmission-daemon

Konfigurasi

Setting user permission

Secara default Transmission bekerja dibawah Group “debian-transmission” jadi kita harus memberikan akses group tersebut ke akun user kita, dalam contoh ini user yang digunakan adalah root.

sudo usermod -a -G debian-transmission namauser

Setting Folder Permission

Secara default ketika proses instalasi, Transmission sudah membuat folder untuk lokasi download. Folder terserbut di lokasi /var/lib/transmission-daemon/downloads, Namun, jika kita menginginkan unttuk merubah lokasi folder tersebut ikuti langkah berikut.

Buat folder dan ubah perizinan dan kepemelikian grup nya

mkdir /home/share/public/transmission
chgrp -R debian-transmission /home/share/public/transmission
chmod -R 775 /home/share/public/transmission

Catatan: sesuaikan lokasi folder sesuai keinginan

Pada contoh diatas, kita membuat folder bernama “transmission” pada direktori “home“. Setelah itu kita merubah file ownership menjadi dibawah group “debian-transmission” setelah itu kita memberikan akses baca dan tulis kepada folder tersebut.

Config Seting

Sekarang saatnya kita merubah setting config aplikasi Transmission. Tujuannya adalah untuk memberikan limitasi akses dari web GUI supaya bisa di akses dari luar karena pada settingan awal, Transmission hanya bisa di akses dari localhost (127.0.0.1). Selain itu kita juga bisa memberikan pengamanan seperti akses username dan password, agar tidak semua orang bisa menggunakan torrent client kita. Namun, sebelumnya jangan lupa untuk menghentikan proses Transmission yang sudah berjalan.

sudo service transmission-daemon stop

edit menggunakan teks editor

sudo nano /etc/transmission-daemon/settings.json

Sekarang setelah file config telah terbuka, saatnya menyesuaikan setting dengan keinginan kita. Namun, ada beberapa hal penting yang harus dirubah.

  • Download Location

Cari kelimat yang berisi perintah berikut

"download-dir": "/var/lib/transmission-daemon/downloads",

Ganti lokasi tersebut dengan lokasi yang kita inginkan (sudah kita buat diatas) sehingga menjadi

"download-dir": "/home/share/public/transmission",
  • RPC Setting

Fungsi RPC adalah memberikan limitasi untuk mengakses dashboard web gui dari transmission kita dengan password dan username. Secara default user yang diberikan adalah “transmission” jika kita ingin merubahnya sesuai dengan keinginan kita maka kita hanya perlu merubah fungsi berikut

"rpc-password": "gantipassword",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "gantiuser",

Keterangan :

  • rpc-password : password yang akan digunakan untuk mengakses transmission web gui
  • rpc-port : port yang digunakan untuk mengakses transmission web gui
  • rpc-url : rpc url yang akan diberikan ketika kita mengakses web gui (tidak perlu untuk dirubah)
  • rpc-username : username yang akan digunakan untuk mengakses transmission web gui

RPC white-list

Untuk bisa memberikan akses dari luar mesin temukan kalimat yang berisi perintah, dan berikan value “true”

"rpc-whitelist-enabled": true,

Dan isikan ip address yang nantinya bisa mengakses ke transmission web

"rpc-whitelist": "127.0.0.1,10.5.*.*",

Atau jika ingin transmission bisa diakses dari semua IP formatnya adalah

"rpc-whitelist": "127.0.0.1,*.*.*.*",

Keterangan:

artinya transmission web bisa diakses dari mesin itu sendiri (localhost), dan mesin yang memiliki ip awalan 10.5.x.x

Finishing & Access Web GUI

jalankan kembali service transmission-daemon

sudo service transmission-daemon start

mengakses transmission web dengan web browser

IPaddress:port/transmission/
10.5.50.25:9091/transmission/

Tambahkan Limitasi Speed Upload

"speed-limit-up": 1,
"speed-limit-up-enabled": true,

Tambahan konfigurasi

config transmission
        option enable 1
        option config_dir '/etc/transmission'
        option alt_speed_down 50
        option alt_speed_enabled false
        option alt_speed_time_begin  540
        option alt_speed_time_day 127
        option alt_speed_time_enabled false
        option alt_speed_time_end 1020
        option alt_speed_up 50
        option bind_address_ipv4 '0.0.0.0'
        option bind_address_ipv6 '::'
        option blocklist_enabled false
        option dht_enabled true
        option download_dir '/mnt/sda4/'
        option encryption 1
        option incomplete_dir '/mnt/sda4/incomplete'
        option incomplete_dir_enabled false
        option lazy_bitfield_enabled true
        option lpd_enabled false
        option message_level 2
        option open_file_limit 32
        option peer_limit_global 240
        option peer_limit_per_torrent 60
        option peer_port 51413
        option peer_port_random_high 65535
        option peer_port_random_low 49152
        option peer_port_random_on_start false
        option peer_socket_tos 0
        option pex_enabled true
        option port_forwarding_enabled false
        option preallocation 1
        option ratio_limit 2.0000
        option ratio_limit_enabled false
        option rename_partial_files true
        option rpc_authentication_required false
        option rpc_bind_address '0.0.0.0'
        option rpc_enabled true
        option rpc_password ''
        option rpc_port 9091
        option rpc_username ''
        option rpc_whitelist '127.0.0.1,192.168.1.*'
        option rpc_whitelist_enabled true
        option script_torrent_done_enabled false
        option script_torrent_done_filename ''
        option speed_limit_down 100
        option speed_limit_down_enabled false
        option speed_limit_up 40
        option speed_limit_up_enabled true
        option start_added_torrents false
        option trash_original_torrent_files false
        option umask 18
        option upload_slots_per_torrent 14
        option watch_dir_enabled false
        option watch_dir ''

keterangan:

NameTypeRequiredDefaultOptionDescription
config_dirpathWhere the configuration files are
bind_address_ipv4IP Address
bind_address_ipv6IPv6 Address
mem_percentageintegerMaximum percentage of virtual memory it can use
niceinteger10[-20, 19]Set the scheduling priority of the spawned process. init.d service parameters
config_overwriteboolean1[0, 1]Overwrite the config file in config_dir with contents in this file (/etc/config/transmission)
download_dirpathWhere to store you downloaded files
incomplete_dir_enabledbooleanWhether to store incomplete files somewhere else
incomplete_dirpathWhere to store files untill they are finished
dht_enabledbooleanWhether to enable dht (distributed hash tables)
blocklist_enabledbooleanWhether to make use of the blocklist defined in config_dir
encryptionintegerWhether to use encrypted connections only (allow encryption: 0, prefer encryption: 1, require encryption: 2)
pex_enabledboolean
speed_limit_down_enabledbooleanWhether transmission should limit its download speed
speed_limit_downintegerin KByte/s
speed_limit_up_enabledbooleanWhether transmission should limit its download speed
speed_limit_upintegerin KByte/s
alt_speed_enabledbooleanWhether transmission should use two speed limit settings
alt_speed_downintegerin KByte/s
alt_speed_upintegerin KByte/s
alt_speed_time_enabledbooleanWhether to switch between the two speed-setting on a time table
alt_speed_time_day7-bit bitmask, 0000001=sunday, 1000000=saturday
alt_speed_time_begindefault = 540, in minutes from midnight, 9am
alt_speed_time_enddefault = 1020, in minutes from midnight, 5pm
upload_slots_per_torrenthow many peers can download a torrent at a time
open_file_limitintegerremember the low system memory
peer_limit_globalintegerthe max number of peers globaly
peer_limit_per_torrentintegerthe max number of peers with connection per torrent
peer_portintegerthe fixed port transmission listens to incomming connections
peer_port_random_highintegerhighest port of the port range
peer_port_random_lowintegerlowest port of the port range
peer_port_random_on_startbooleanwhether to use random ports instead of a fixed one from the beginning
peer_socket_tosbooleanwhether type of service is enabled
port_forwarding_enabledboolean
preallocationbooleanwhether to fill the space for chunks not yet downloaded with “0” (helps avoiding fragmentation)
ratio_limit_enabledbooleanwhether to use a limit ratio
ratio_limitintegerautomaticaly stop seeding a torrent when it reaches this ratio (with a GUI you can enable this for every torrent separately)
rename_partial_filesboolean
rpc_enabledbooleanWhether transmission-daemon should be remote controlled by a GUI on a host machine
rpc_bind_addressIP Addressthe address on which transmission-daemon listens to rpcs
rpc_portIP Portthe port on which transmission-daemon listens to rpcs
rpc_authentication_requiredbooleanwhether rpc needs authentication
rpc_usernamestringuser name
rpc_passwordstringpassword
rpc_whitelist_enabledbooleanwhether to make use of the whitelist
rpc_whitelistIP Addressesthe IPs of the hosts allowed
watch_dir_enabledbooleanWhether to check a directory for new torrents put there. Leave this disabled It requres inotify enabled in kernel to works, which is not enabled by default in openwrt.
watch_dirpathPath to the directory
script_torrent_done_enabledboolean
script_torrent_done_filename
start_added_torrentsboolean
trash_original_torrent_files
umaskintegerSets file mode creation mask. The mask should be in base 10 due to the json markup language used by Transmission. For instance, the standard umask octal notation 022 is written as 18. If you want to save downloaded torrents to be world-writable (equivalent to chmod 777 or chmod a+rwx) set this value to 0.
lazy_bitfield_enabledboolean
lpd_enabledboolean
message_levelinteger
proxy_enabledbooleanDeprecated on 1.4whether to use a proxy
proxyIP addressDeprecated on 1.4IP adress of the proxy
proxy_portintegerDeprecated on 1.4IP port of the proxy
proxy_typeintegerDeprecated on 1.4Type of the proxy (http: 0, socks4: 1, socks5: 2)
proxy_auth_enabledbooleanDeprecated on 1.4Whether proxy needs authentication
proxy_auth_usernamestringDeprecated on 1.4username for the proxy
proxy_auth_passwordstringDeprecated on 1.4password for the proxy

Troubleshoot

409 Conflict

Tidak bisa masuk ke web GUI transsmission dengan keterangan 409 Conflict

Cara mengatasinya adalah dengan menambahkan / di akhir direktori sehingga menjadi

http://IP-ADDRESS/transmission/

Atau

http://IP-ADDRESS/transmission/web/
tested on: Debian 10 buster