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:
Name | Type | Required | Default | Option | Description |
---|---|---|---|---|---|
config_dir | path | Where the configuration files are | |||
bind_address_ipv4 | IP Address | ||||
bind_address_ipv6 | IPv6 Address | ||||
mem_percentage | integer | Maximum percentage of virtual memory it can use | |||
nice | integer | 10 | [-20, 19] | Set the scheduling priority of the spawned process. init.d service parameters | |
config_overwrite | boolean | 1 | [0, 1] | Overwrite the config file in config_dir with contents in this file (/etc/config/transmission) | |
download_dir | path | Where to store you downloaded files | |||
incomplete_dir_enabled | boolean | Whether to store incomplete files somewhere else | |||
incomplete_dir | path | Where to store files untill they are finished | |||
dht_enabled | boolean | Whether to enable dht (distributed hash tables) | |||
blocklist_enabled | boolean | Whether to make use of the blocklist defined in config_dir | |||
encryption | integer | Whether to use encrypted connections only (allow encryption: 0, prefer encryption: 1, require encryption: 2) | |||
pex_enabled | boolean | ||||
speed_limit_down_enabled | boolean | Whether transmission should limit its download speed | |||
speed_limit_down | integer | in KByte/s | |||
speed_limit_up_enabled | boolean | Whether transmission should limit its download speed | |||
speed_limit_up | integer | in KByte/s | |||
alt_speed_enabled | boolean | Whether transmission should use two speed limit settings | |||
alt_speed_down | integer | in KByte/s | |||
alt_speed_up | integer | in KByte/s | |||
alt_speed_time_enabled | boolean | Whether to switch between the two speed-setting on a time table | |||
alt_speed_time_day | 7-bit bitmask, 0000001=sunday, 1000000=saturday | ||||
alt_speed_time_begin | default = 540, in minutes from midnight, 9am | ||||
alt_speed_time_end | default = 1020, in minutes from midnight, 5pm | ||||
upload_slots_per_torrent | how many peers can download a torrent at a time | ||||
open_file_limit | integer | remember the low system memory | |||
peer_limit_global | integer | the max number of peers globaly | |||
peer_limit_per_torrent | integer | the max number of peers with connection per torrent | |||
peer_port | integer | the fixed port transmission listens to incomming connections | |||
peer_port_random_high | integer | highest port of the port range | |||
peer_port_random_low | integer | lowest port of the port range | |||
peer_port_random_on_start | boolean | whether to use random ports instead of a fixed one from the beginning | |||
peer_socket_tos | boolean | whether type of service is enabled | |||
port_forwarding_enabled | boolean | ||||
preallocation | boolean | whether to fill the space for chunks not yet downloaded with “0” (helps avoiding fragmentation) | |||
ratio_limit_enabled | boolean | whether to use a limit ratio | |||
ratio_limit | integer | automaticaly stop seeding a torrent when it reaches this ratio (with a GUI you can enable this for every torrent separately) | |||
rename_partial_files | boolean | ||||
rpc_enabled | boolean | Whether transmission-daemon should be remote controlled by a GUI on a host machine | |||
rpc_bind_address | IP Address | the address on which transmission-daemon listens to rpcs | |||
rpc_port | IP Port | the port on which transmission-daemon listens to rpcs | |||
rpc_authentication_required | boolean | whether rpc needs authentication | |||
rpc_username | string | user name | |||
rpc_password | string | password | |||
rpc_whitelist_enabled | boolean | whether to make use of the whitelist | |||
rpc_whitelist | IP Addresses | the IPs of the hosts allowed | |||
watch_dir_enabled | boolean | Whether 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_dir | path | Path to the directory | |||
script_torrent_done_enabled | boolean | ||||
script_torrent_done_filename | |||||
start_added_torrents | boolean | ||||
trash_original_torrent_files | |||||
umask | integer | Sets 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_enabled | boolean | ||||
lpd_enabled | boolean | ||||
message_level | integer | ||||
proxy_enabled | boolean | Deprecated on 1.4 | whether to use a proxy | ||
proxy | IP address | Deprecated on 1.4 | IP adress of the proxy | ||
proxy_port | integer | Deprecated on 1.4 | IP port of the proxy | ||
proxy_type | integer | Deprecated on 1.4 | Type of the proxy (http: 0, socks4: 1, socks5: 2) | ||
proxy_auth_enabled | boolean | Deprecated on 1.4 | Whether proxy needs authentication | ||
proxy_auth_username | string | Deprecated on 1.4 | username for the proxy | ||
proxy_auth_password | string | Deprecated on 1.4 | password 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