rutorrent - webowy klient torrenta
Poszukując webowego interfejsu dla konsolowego klienta torrenta jakim jest rtorrent pierwszą rzeczą na jaką można się natknąć jest wtorrent. Interfejs mimo, że na pierwszy rzut oka zawiera wszystko co niezbędne jest dość ubogi, a do problemów można dodać ogólną niestabilność połączenia z rtorrentem - wielokrotnie zdarzało mi się podczas testów, że wtorrent bez widocznego powodu stwierdził, że nie może połączyć się z rtorrentem.
Istnieje jednak mniej popularna, lecz na pewno bardziej funkcjonalna alternatywa dla wtorrenta. Jest to interfejs o nazwie rutorrent. Aplikacja ta podobnie jak wtorrent do łączności z rtorrentem korzysta z jego interfejsu RPC, jednak jak do tej pory nie doświadczyłem żadnych problemów z utrzymaniem tego połączenia.
Kolejną zaletą rutorrenta jest o wiele bardziej przyjazny interfejs przypominający typowe desktopowe klienty torrenta. Stronę interfejsu można podzielić na 5 części - pasek narzędzi, panel zawierający grupy torrentów, pasek statusu wyświetlający aktualną prędkość pobierania czy ilość pobranych danych, główną cześć interfejsu zawierającą listę dodanych torrentów oraz dolny panel prezentujący szczegóły aktualnie wybranego torrenta. W tej dolnej części okna zobaczymy takie informacje jak aktualne dane na temat prędkości pobierania czy wysyłania danego pliku, ilość pobranych i wysłanych danych, ilość dostępnych i połączonych peerów i seedów, pliki znajdujące się w torrencie, wykres prędkości pobierania.

Dzięki wykorzystaniu javascriptu do każdego pliku torrent mamy podpięte ładne menu kontekstowe pozwalające nam nim zarządzać. Podobne menu kontekstowe znajduje się w pasku statusu i pozwala nam na ograniczenie prędkości pobierania czy wysyłania do kilku zdefiniowanych w ustawieniach wartości.
Dzięki systemowi pluginów możemy także rozszerzyć możliwości rutorrenta. W chwili obecnej dostępnych jest około 20 pluginów (a dzięki temu, że program się dynamicznie rozwija na pewno w niedługim czasie będzie ich jeszcze więcej).
Dzięki istniejącym pluginom w rutorrencie pojawiają się takie możliwości jak wykorzystanie kanałów RSS do automatycznego pobierania plików, tworzenie plików torrent, planowanie maksymalnej prędkości pobierania i wysyłania na podstawie kalendarza (przykładowo w nocy możemy zwiększyć prędkość pobierania, tak aby wykorzystywać całą dostępną przepustowość, a w dzień ograniczyć prędkość do połowy przepustowości) oraz wiele innych usprawniających pracę z rutorrentem.
Instalacja
Aby korzystać z rutorrenta wymagane są dwie rzeczy:
- rtorrent,
- serwer http - Lighttpd, Apache, Cherokee z obsługą scgi.
Po instalacji tych dwóch składników musimy dokonać pewnych zmian w ich konfiguracji. Poniżej przedstawiłem tylko zmiany niezbędne - więcej na temat konfiguracji rtorrenta można znaleźć na jego stronie internetowej.
W pliku konfiguracyjnym rtorrenta:
directory = /mnt/dane/torrent/ session = /mnt/dane/torrent/.rtsession/ scgi_port = 127.0.0.1:5000
Pierwsza z tych zmiennych określa nam gdzie zapisywane mają być pobrane dane, druga katalog danych sesji, a ostatnia port dla połączenia RPC z serwerem WWW.
Do pliku konfiguracyjnego serwera lighttpd należy dopisać poniższy fragment:
scgi.server = (
"/RPC2" =>
( "127.0.0.1" =>
(
"host" => "127.0.0.1",
"port" => 5000,
"check-local" => "disable",
)
)
)
Po dokonaniu tych zmian możebny pobrać już rutorrenta - polecam jednak wersję z SVN - w wersji stabilnej rutorrent twierdził, że nie może uzyskać dostępu do plików sesji rtorrenta, mimo, że uprawnienia były nadane prawidłowo.
Pobranie wersji sprowadza się do wydania polecenia svn checkout http://rutorrent.googlecode.com/svn/trunk/ rutorrent-read-only
Po pobraniu wersji z SVN w w katalogu rutorrent-read-only uzyskamy dwa katalogi: rutorrent oraz plugins - katalogiem, który nas interesuje jest rutorrent - należy przenieść go do katalogu serwera www, a następnie dokonać zmiany w pliku conf/config.php ustawiając odpowiednio zmienne:
$scgi_port = 5000; $scgi_host = "127.0.0.1"; $XMLRPCMountPoint = "/RPC2";
Teraz jesteśmy już gotowi do skorzystania z programu - uruchamiamy rtorrenta oraz serwer www i poprzez przeglądarkę internetową łączymy się z serwerem podając ścieżkę do katalogu w którym znajduje się rutorrent - w moim przypadku jest to http://192.168.0.1/rutorrent/ W tym momencie nie musimy już dokonywać żadnych zmian w konfiguracji programu - można rozpocząć korzystanie. Jeśli jednak w oknie programu wyświetlił się jakiś komunikat o błędzie polecam zapoznanie się z listą najczęstszych błędów opublikowaną na wiki programu.

Myślę, że interfejs programu jest na tyle jasny i przejrzysty, że nie muszę tłumaczyć jak z niego korzystać... ;)
Pluginy
Instalacja danego pluginu odbywa się poprzez skopiowanie go do podkatalogu plugins - od tego momentu powinien on być już dostępny w programie. Poniżej przedstawię jedynie kilka moim zdaniem najciekawszych pluginów - polecam z zapoznaniem się z listą wszystkich pluginów.
Scheduler
Plugin ten pozwala nam na zaplanowanie wykorzystania łącza. Możemy zdefiniować jakie prędkości maksymalne mają być stosowane w poszczególne dni tygodnia o poszczególnych godzinach. Do wybory mamy 6 opcji - brak ograniczeń, zatrzymanie transferu, tylko wysyłanie oraz 3 dowolne zdefiniowane przez nas ograniczenia.

Traffic
Umożliwia wyświetlanie statystyk dziennych, miesięcznych i rocznych pobranych danych.

RSS
Umożliwia automatyczne pobieranie nowych plików torrent za pośrednictwem kanałów RSS. Mamy możliwość zdefiniowania filtrów, aby z kanału wybierać jedynie te pliki, które nas interesują.

Unpack
Pozwala na wypakowanie pobranych plików rar i zip.
Data
Plugin ten umożliwia pobranie poprzez przeglądarkę ściągniętego pliku z serwera na którym zainstalowany jest rtorrent na nasz komputer.
EraseData
Do menu kontekstowego torrenta dodaje możliwość usunięcia go wraz z pobranymi danymi.
±
Komentarze do wpisu "rutorrent - webowy klient torrenta":
1.
14 kwietnia 2010, 20:37:08
zamiast lighttpd moze byc nginx?
2.
14 kwietnia 2010, 20:41:49
@ss: Na wiki rutorrenta znalazłem taką informację: "I was unable to find a working mod_scgi for nginx. I was able to find an old version, which may or may not work, but seeing as it's very outdated, I wouldn't recommend it. For this webserver, stick to RPC Plugin or HTTPRPC Plugin"
3.
14 kwietnia 2010, 20:53:51
Polecam transmission-daemon, od razu ma webui z serwerem do tego i żadnego bloatu typu lighttpd nie trzeba stawiać, a po za tym jest transmission-remote-dotnet
4.
14 kwietnia 2010, 20:59:18
@pecet: ze screenów wygląda, że jest znacznie uboższy od rutorrenta. lighttpd mi nie przeszkadza, a interfejs dla windowsa mi nie potrzebny - jak na razie rutorrent jest idealny...
5.
14 kwietnia 2010, 21:13:05
@pecet lub ktoś inny: jeśli znacie jakieś menadżery pobierania z interfejsem www to dajcie znać (wget4web odpada)...
6.
14 kwietnia 2010, 22:34:55
pbm -- w jakim sensie uboższy? ma wszyskto co trzeba z DHT, PEX i NAT-traversal na czele
7.
14 kwietnia 2010, 23:38:11
pecet: ale rtorrent stabilniejszy i mniej zasobow zzera.
8.
15 kwietnia 2010, 08:32:33
ss: Ale z serwerem http niekoniecznie.
9.
15 kwietnia 2010, 08:53:53
plugin rss mi nie bangla, to samo plugin do schedulera. Z bledow php wychodzi ze sie pluja o jakies getCmd ;). moze jakies wersje sie gryza ;)?
Na ktorej wersji uadlo wam sie odpalic plugin do rssow (wersja pluga i rutorrenta)
10.
15 kwietnia 2010, 11:50:38
@occulkot: rTorrent: 0.8.6 a rutorrent i pluginy były z svn pobierane kilka(naście) dni temu...
Jaki masz dokładnie błąd? W interfejsie na zakładce Logger jest jakieś info?
11.
15 kwietnia 2010, 11:54:19
@pbm: no teraz to z roboty to nie sprawdze dokladnego bledu na interfejsie, ale zgaduej ze to blad php ;) - bo w error.log mam:
poczatkowo bylo:
2010-04-14 22:42:41: (modfastcgi.c.2711) FastCGI-stderr: PHP Fatal error: Call to undefined function getCmd() in /var/www/occulkot/rutorrent/plugins/rss/init.php on line 42
a jak sobie wykasowalem ta funkcje getCmd('execute') i zamiast niej dalem zwykle 'execute' to wyskoczyl nastepny:
2010-04-14 22:46:08: (modfastcgi.c.2711) FastCGI-stderr: PHP Fatal error: Call to undefined function cachedEcho() in /var/www/occulkot/rutorrent/plugins/rss/action.php on line 298
tych funkcji nie am nigdzie zdefiniowanych w zrodlach rutorrent wiec nie wiem wtf ;)
12.
15 kwietnia 2010, 12:20:39
Hmm.. nie wiem o co chodzi.. u mnie po prostu działało.. ;) Spróbuj może zapytać na forum rutorrenta...
13.
15 kwietnia 2010, 12:21:51
@pbm: nie no luz ;) - ja juz sie tak przyzwyczailem do uzywania rtorrenta z konsoli ze nie potrafilbym sie przerzucic na interfejs webowy ;) - za duzo "klikania" :P
Dodaj komentarz: