Serwerowa torrentownia - rtorrent z fron-end

Cześć, zdarza się wam korzystać z sieci torrent ? Na pewno słyszeliście o konsolowym programie rtorrent. Poniżej przedstawię jak go zainstalować wraz z konfiguracją oraz rtgui czyli front-end dla rtrorrenta. No to zaczynamy, najpierw lecimy z instalacją rtorrent:

sudo apt-get install rtorrent screen

Następnie tworzymy sobie plik konfiguracyjny w domowy katalogu oraz go edytujemy.

touch ~/.rtorrent.rc
nano ~/.rtorrent.rc

Poniżej przedstawiam domyślną konfigurację, jeżeli ktoś by się interesował dokładniejszą konfiguracją zapraszam tutaj.

min_peers = 40
max_peers = 100
min_peers_seed = 10
max_peers_seed = 50
max_uploads = 3
download_rate = 0
upload_rate = 0
directory = /home/TWOJA_NAZWA/rtorrent/downloaded
session =   /home/TWOJA_NAZWA/rtorrent/session
port_range = 50800-51000
port_random = yes
check_hash = no
use_udp_trackers = no
encryption = allow_incoming, try_outgoing
dht = auto

dht_port = 6881
peer_exchange = yes
encoding_list = UTF-8
xmlrpc_dialect = i8
scgi_local = /tmp/rtorrent.socket
schedule = chmod,0,0,"execute=chmod,777,/tmp/rtorrent.socket"

Dla nas ważne są dwie ostatnie linijki, są one niezbędne aby działało nam bez problemu rtgui. Po zapisaniu pliku możemy już bez problemu odpalić sobie naszego rtorrent, tutaj możemy znaleźć konfigurację skrótów klawiszowych.

Teraz dodajmy domenę np. rtorrent.domena.pl kierującą na nasz serwer, następnie stwórzmy virtual hosta w naszym nginx. Jeżeli ktoś nie ma zainstalowanego nginx może to zrobić poleceniem:

sudo apt-get install nginx-extras

Plik konfiguracyjny może wyglądać mniej więcej tak:

server {
        server_name rtorrent.domena.pl;

        access_log /var/log/nginx/rtorrent.domena.pl/access.log;
        error_log /var/log/nginx/rtorrent.domena.pl/error.log;
        root /var/www/rtorrent.domena.pl;

index index.html;

 location ~ ^/(README|INSTALL|LICENSE|CHANGELOG|UPGRADING)$ {
                deny all;
       }
       location ~ ^/(bin|SQL)/ {
                deny all;
       }

       location ~ /\. {
                deny all;
                access_log off;
                log_not_found off;
       }
       
        location /RPC2 {
                include scgi_params;
                scgi_pass unix:/tmp/rtorrent.socket;
        }

    location ~ \.php$ {
                try_files $uri =404;
                include /etc/nginx/fastcgi_params;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_index index.php;
       }

}

Zapisujemy ten plik jako /etc/nginx/sites-enabled/rtorrent.domena.pl Dodatkowo tworzymy katalog dla rtgui oraz dla logów.

sudo mkdir /var/www/rtorrent.domena.pl
sudo mkdir /var/log/nginx/rtorrent.domena.pl
sudo nginx -t #sprawdzamy dla pewności czy wszystko jest okej
sudo service nginx reload
sudo apt-get install php5-fpm php5-xmlrpc #jeżeli nie mamy zainstalowanego PHP 

Teraz pobieramy rtgui i przenosimy na naszego katalogu.

cd /tmp/
wget https://rtgui.googlecode.com/files/rtgui-0.2.81.tgz
tar zxvf rtgui-0.2.81.tgz
sudo mv rtgui/* /var/www/rtrorrent.domena.pl

W /var/www/rtorrent.domena.pl/config/config.php zamieniamy

$scgi_port = 5000;
$scgi_host = "127.0.0.1";

na

$scgi_port = 0;
$scgi_host = "unix:///tmp/rtorrent.socket";

I teraz właściwie na sam koniec wystarczy uruchomić rtorrent poleceniem

screen rtorrent

I to by było wszystko, możemy przejść do strony rtorrent.domena.pl aby wygodnie zarządzać pobraniami. Dodatkowo możemy dodać jakieś zabezpieczenie do nginx typu auth_basic żeby nie każdy miał dostęp do naszej torrentowni.

Serwerowa torrentownia - rtorrent z fron-end
Share this