rTorrent adalah sebuah klien bittorrent yang cepat, ringan, efisien, dan hemat resource tentunya. Menggunakan engine dari libtorrent yang ditulis dalam pemrograman C++ dan penggunaan ncurses sehingga di desain untuk dapat bekerja dalam lingkungan antarmuka pengguna text dengan penggunaannya bersama tmux atau screen dalam shell SSH. Walaupun developernya tidak menyediakan antarmuka GUI ataupun WebUI, namun terdapat banyak pilihan antarmuka pengguna yang disediakan melalui pihak ketiga.
rTorrent dapat dikendalikan secara remote, melalui xml-rpc dalam SCGI. Selain itu rTorrent merupakan klient bittorrent yang popularitasnya cukup tinggi, bahkan banyak provider penyedia jasa seedbox hosting menggunakannya bersamaan dengan antarmuka WebUI ruTorrent. Namun instalasinya sedikit sulit untuk pemula karena membutuhkan pengetahuan tentang perintah-perintah di command line, dan cara mengcompile di Linux.
Fitur-fitur yang tersedia di rTorrent diantaranya adalah:
Instalasi rTorrent Dengan Antarmuka Web Menggunakan ruTorrent
Siapa yang tidak kenal dengan ruTorrent? ruTorrent merupakan front-end untuk klient bittorrent yang sangat populer, yaitu rTorrent. ruTorrent berbasis Web-based sehingga untuk aksesnya dapat dilakukan dari PC, Notebook, Tablet, hingga Smartphone melalui web browser.
Fitur-fitur yang tersedia di ruTorrent diantaranya adalah:
- Kompabilitas yang tinggi dengan berbagai macam browser populer seperti Chrome, Firefox, dan Opera di berbagai platform.
- Opensource, dibuat dalam script PHP sehingga antarmuka web mudah sekali dimodifikasi
- Extensible, fitur-fitur tambahan yang diinginkan dapat disediakan melalui plugin
- Ringan dan efisien, sehingga penggunaan bersamaan dengan ruTorrent dapat diinstall pada perangkat portabel seperti router
Seperti yang sudah disebutkan sebelumnya, bahwa rTorrent dan ruTorrent dapat diinstal di berbagai platform mulai dari router yang kompatibel dengan dd-wrt atau open-wrt, perangkat dengan Android, VPS hingga Dedicated server. Namun disini saya hanya akan membahas cara instalasi rTorrent dan ruTorrent saja menggunakan VPS atau Dedicated server.
Karena menggunakan antarmuka WebUI, maka komponen desktop GUI sama sekali tidak diperlukan dalam proses instalasi hingga konfigurasinya. Semua dapat dilakukan menggunakan terminal melalui protokol SSH. Disini saya menganggap bahwa komponen Web dan PHP sudah terinstall di server yang kamu gunakan. (Lihat cara instalasi LAMP: Apache, MySQL, dan PHP). Mari kita lanjut ke instalasi dengan menggunakan Ubuntu 12.04 LTS.
Install paket dan dependency yang diperlukan, caranya ketikkan perintah berikut di PuTTY atau Bitvise:
root@sgpssh3:~# apt-get install subversion build-essential automake libtool libcppunit-dev libcurl3-dev libsigc++-2.0-dev unzip unrar-free curl libncurses5-dev php5-curl libapache2-mod-scgi screen |
Apabila kamu menggunakan Centos, kamu bisa melihatnya disini, atau mendownload tutorial dalam bentuk PDF diatas. Selanjutnya install xml-rpc
root@sgpssh3:~# svn checkout http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable xmlrpc-c root@sgpssh3:~# cd xmlrpc-c root@sgpssh3:~# ./configure --disable-cplusplus root@sgpssh3:~# make root@sgpssh3:~# make install |
Langkah ketiga adalah install libtorrent, disini saya mencontohkan dengan versi 0.13.2, untuk versi terbaru silahkan lihat di url berikut: http://libtorrent.rakshasa.no/downloads
root@sgpssh3:~# wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.13.2.tar.gz root@sgpssh3:~# tar xvf libtorrent-0.13.2.tar.gz root@sgpssh3:~# cd libtorrent-0.13.2 root@sgpssh3:~# ./autogen.sh root@sgpssh3:~# make root@sgpssh3:~# make install |
Langkah keempat adalah instalasi rtorrent, disini saya mencontohkan dengan versi 0.13.2, untuk versi terbaru silahkan lihat di url berikut: http://libtorrent.rakshasa.no/downloads. Versi libtorrent dan rtorrent yang akan diinstall harus sama.
root@sgpssh3:~# wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.9.2.tar.gz root@sgpssh3:~# tar xvf rtorrent-0.9.2.tar.gz root@sgpssh3:~# cd rtorrent-0.9.2 root@sgpssh3:~# ./autogen.sh root@sgpssh3:~# ./configure --with-xmlrpc-ce root@sgpssh3:~# make install root@sgpssh3:~# make root@sgpssh3:~# make install root@sgpssh3:~# ldconfig |
Sampai disini, instalasi libtorrent dan rutorrent sudah selesai. Selanjutnya untuk langkah kelima adalah membuat direkori, user, dan konfigurasi rtorrent dan rutorrent. Dimulai dengan membuat direktori (ganti tulisan simpleaja dengan yang diinginkan), ketikkan perintah berikut:
root@sgpssh3:~# useradd simpleaja root@sgpssh3:~# mkdir /home/simpleaja/rtorrent root@sgpssh3:~# mkdir /home/simpleaja/rtorrent/session root@sgpssh3:~# mkdir /home/simpleaja/rtorrent/watch root@sgpssh3:~# mkdir /home/simpleaja/rtorrent/downloads |
Kemudian sesuaikan owner dan permissionnya. Selanjutnya membuat konfigurasi rtorrent, yang dapat diambil dari link berikut: http://simple-aja.info/files/downloads/rtorrent.rc. Kamu tinggal menyesuaikan isnya saja menggunakan nano. Ketikkan perintah berikut:
root@sgpssh3:~# cd /home/simpleaja root@sgpssh3:~# wget http://simple-aja.info/files/downloads/rtorrent.rc -O .rtorrent.rc root@sgpssh3:~# nano .rtorrent.rc |
Selanjutnya adalah instalasi rutorrent, ketikkan perintah berikut:
root@sgpssh3:~# cd /var/www root@sgpssh3:~# wget http://rutorrent.googlecode.com/files/rutorrent-3.5.tar.gz root@sgpssh3:~# tar xvf rutorrent-3.4.tar.gz root@sgpssh3:~# wget http://rutorrent.googlecode.com/files/plugins-3.5.tar.gz root@sgpssh3:~# tar xvf plugins-3.4.tar.gz root@sgpssh3:~# mv plugins /var/www/rutorrent root@sgpssh3:~# chown -R www-data:www-data /var/www/rutorrent |
Kemudian membuat init script agar rtorrent dapat berjalan sebagai service, ketikkan perintah berikut:
root@sgpssh3:~# nano /etc/init.d/rtorrent_simpleaja |
Kemudian masukkan entri berikut:
[expand title=”init script rtorrent“]
#!/bin/sh # chkconfig: 2345 85 15 # description: Start-stop rtorrent ### BEGIN INIT INFO # Provides: rtorrent_simpleaja # Required-Start: $local_fs $network $syslog # Required-Stop: $local_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start-stop rtorrent # Description: Start-stop rtorrent ### END INIT INFO NAME=rtorrent_simpleaja USER=simpleaja SESSIONNAME=rtorrent resetPath() { PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH" } resetPath # Make sure the path is correct, and make sure we're in the home dir. USER_INIT="umask 022; cd; PATH=$PATH:$PATH" # Run user command, ignoring any messages sent to stdout (eg. 'No mail.') runUserCmd() { su - $USER -c "$USER_INIT; $1" >/dev/null && return 0 return 1 } isStarted() { su - $USER -c "$USER_INIT; screen -ls | grep -qE "[ ][0-9]+.$SESSIONNAME[ ]"" >/dev/null && return 0 return 1 } startIt() { isStarted && return 0 local START_IRSSI=n local START_RTORRENT=n which irssi > /dev/null 2>&1 && START_IRSSI=y which rtorrent > /dev/null 2>&1 && START_RTORRENT=y case $START_IRSSI$START_RTORRENT in yy) runUserCmd "screen -S $SESSIONNAME -d -t rtorrent -m rtorrent" runUserCmd "screen -d -r $SESSIONNAME -X screen -t irssi irssi" ;; yn) runUserCmd "screen -S $SESSIONNAME -d -t irssi -m irssi" ;; ny) runUserCmd "screen -S $SESSIONNAME -d -t rtorrent -m rtorrent" ;; nn) ;; esac return 0 } stopIt() { isStarted || return 0 runUserCmd "screen -d -r $SESSIONNAME -p irssi -X stuff "/quit /quit "" runUserCmd "screen -d -r $SESSIONNAME -p rtorrent -X xon" for i in 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4; do isStarted || break sleep 1 done # If it's still not stopped, kill the whole screen session if isStarted; then echo -n "Couldn't stop it. Killing screen session..." runUserCmd "screen -d -r $SESSIONNAME -p rtorrent -X xon" sleep 2 runUserCmd "screen -d -r $SESSIONNAME -X quit" echo "Done." fi return 0 } v_restartIt() { v_stopIt v_startIt } v_showStatus() { if isStarted; then echo "$NAME is running." else echo "$NAME is stopped." fi } . /lib/lsb/init-functions v_startIt() { log_begin_msg "Starting $NAME..." startIt log_end_msg $? } v_stopIt() { log_begin_msg "Stopping $NAME..." stopIt log_end_msg $? } resetPath # Some include files may have reset it LOCKFILE= updateLock() { [ -z "$LOCKFILE" ] && return if isStarted; then touch $LOCKFILE else rm -f $LOCKFILE fi } RETVAL=0 case $1 in start) v_startIt ;; stop) v_stopIt ;; force-reload|restart) v_restartIt ;; try-restart) isStarted && v_restartIt ;; status) v_showStatus ;; *) echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}" RETVAL=1 ;; esac updateLock exit $RETVAL |
[/expand]
Simpan dan kemudian ketikkan perintah berikut:
root@sgpssh3:~# cd /etc/init.d root@sgpssh3:~# chmod 755 rtorrent_simpleaja root@sgpssh3:~# chmod +x rtorrent_simpleaja |
Ulangi langkah diatas apabila kamu membuat user lainnya, tentu dengan menyesuaikan nama file dan usernya. Selanjutnya adalah membuat direktori user di rutorrent dengan mengetikkan perintah berikut:
root@sgpssh3:~# mkdir /var/rutorrent/rutorrent/conf/users/simpleaja root@sgpssh3:~# mkdir /var/rutorrent/rutorrent/share/users/simpleaja root@sgpssh3:~# mkdir /var/rutorrent/rutorrent/share/users/simpleaja/settings root@sgpssh3:~# mkdir /var/rutorrent/rutorrent/share/users/simpleaja/torrents |
Ubah owner dari semua direktori yang sudah dibuat tadi ke www-data. Buat permission writeable untuk direktori settings dan torrents ke 777. Selanjutnya kamu bisa menyalin file access.ini, config.php, dan plugins.ini ke direktori /var/rutorrent/rutorrent/conf/users/simpleaja. Lalu sesuaikan file config.php pada direktori user rutorrent seperti contoh berikut ini:
<?php $topDirectory = "/home/simpleaja/downloads"; $scgi_port = 0; $scgi_host = "unix:///home/simpleaja/rtorrent/session/rpc.socket"; $XMLRPCMountPoint = "/RPC00001"; ?> |
Untuk membuat user lainnya ulangi kembali mulai dari poin ke lima. Dengan demikian instalasi hingga konfigurasi rtorrent dan rutorrent sudah selesai. Selanjutnya tinggal mensetting virtual host untuk rutorrent dan mengamankan direktori apache saja untuk rutorrent-nya.
root@sgpssh3:~# ln -s /etc/apache2/mods-available/scgi.load /etc/apache2/mods-enabled/scgi.load root@sgpssh3:~# a2enmod auth_digest |
Buatlah dan sesuaikan konfigurasi virtual host di apache.
[expand title=”virtual host apache“]
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/> Options -Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined <Location /rutorrent> AuthType Digest AuthName "rutorrent" AuthDigestDomain /var/www/rutorrent/ http://<server IP>/rutorrent AuthDigestProvider file AuthUserFile /etc/apache2/htpasswd Require valid-user SetEnv R_ENV "/var/www/rutorrent" </Location> </VirtualHost> |
[/expand]
Buat http authentication dengan mengetikkan perintah berikut:
root@sgpssh3:~# cd /etc/apache2 root@sgpssh3:~# htpasswd -c pwd_rutorrent simpleaja |
Selanjutnya akan ditanyakan untuk mengisi passwordnya. Untuk membuat password akses rutorrent untuk user lainnya, kamu bisa mengulangi perintah diatas, tanpa menggunakan parameter -c. Sesuaikan kembali autentikasi password dengan konfigurasi virtual direktori apache. Kamu sudah bisa mencobanya dengan mengakses rutorrent dengan alamat http://alamatipserverkamu/rutorrent/
Sampai disini pembahasan tutorial instalasi rTorrent dengan Web-based UI ruTorrent selesai. Walaupun dirasa cukup sulit, namun apabila instalasi sudah berhasil maka akan terbayar dengan kemampuan dan fitur-fitur menarik. Selain itu kamu dapat menambahkan user lainnya, sehingga apabila kamu memiliki disk space yang cukup banyak, kamu bisa berbagi kepada kenalan atau teman. Atau bahkan bisa membuat usaha penyewaan torrent leech dengan menjual akun torrent yang kamu buat.
Artikel Terkait
[related_posts limit=”5″]
Wah pusing ane lihat script nya kriting kriting, oya ane ada pertanyaan nih ente beli server dimana gan yang bisa torrent
Tergantung darimana download torrentnya. Kalau buat download torrent dari tempat asal-asalan (public torrent) bisa pakai server dari datacenter offshore dengan lokasi rusia atau belanda. Kalau download dari private torrent, server manapun bisa, selain server dari datacenter Indonesia atau Singapore.
Amannya sih memang dari server offshore, misalnya Ecatel (krn kena ddos atau di-ddos pun ga bakalan dibawelin sama staff supportnya). Dan ga bakalan ada notifikasi soal DMCA juga.
Di bookmark dulu, gan.. 😀
Oh, ya ngomong-ngomong soal nambah user, kalau kita pengen membatasi penggunaan HDD per user gimana ya?
Tolong pencerahannya.
Thx sebelumnya.
Untuk membatasi penggunaan hdd di rtorrent bisa menggunakan container-based virtualization