W tym artykule opiszę klienta Bittorrenta działającego w środowisku tekstowym – rTorrent. Będzie on z pewnością przydatny osobom, które komputer dzielą z innymi domownikami, gdyż (przy pomocy screena i skryptów startowych) pozwala na ściąganie plików niezależnie od zalogowanego użytkownika. Co więcej, ponieważ jest to klient tekstowy (działa pod ncurses), można równie dobrze podejrzeć jego pracę poprzez dowolnego klienta SSH, przeglądarkę WWW (ajaxterm), bądź nawet komórkę, co opisałem w moim poprzednim artykule o MidpSSH. Nie bez znaczenia jest też minimalne, w porównaniu do innych graficznych klientów, zajęcie zasobów sprzętowych. Jak podaje Wikipedia i oficjalna strona programu, dzięki mocno zoptymalizowanemu kodowi, rTorrent potrafi ściągać pliki kilkakrotnie szybciej niż oficjalny klient. A więc czego chcieć więcej? Do dzieła!
Co nam będzie potrzebne?
Przede wszystkim potrzebne będzie kopia rTorrenta oraz biblioteki libtorrent. Obydwie rzeczy możemy ściągnąć z oficjalnej strony, lecz warto sprawdzić, czy nie znajdują się one w repozytorium naszej dystrybucji. Potrzebny będzie też nam program screen, który na pewno będzie w oficjalnych repozytoriach.
Gdy już mamy w systemie zainstalowane pakiety z tymi programami, możemy przystąpić do uruchomienia programu. Robimy to wpisując po prostu rtorrent w konsoli. Co się nam pokaże, to opisałem poniżej. Z pewnością poczujecie się trochę zagubieni, ale postaram się wyjaśnić wszelkie wątpliwości.
Opis okna
![]()
Rys.1 rTorrent – zaraz po uruchomieniu
![]()
Rys.2 rTorrent – opis podstawowych funkcji
Te dwa screenshoty przedstawiają główne okno rTorrenta uruchomionego na moim komputerze. Na pierwszym jest on pokazany tak, jak wygląda, gdy jest uruchomiony pierwszy raz, a na drugim, gdy ma już plik konfiguracyjny oraz dwa aktywne transfery.
Plik konfiguracyjny
Pierwsze pytanie pewnie brzmi – „jak dodawać nowe torrenty?” Już śpieszę z odpowiedzią: torrenty w naszym wypadku będą dodawały się same. „Jak to możliwe?” Otóż zaraz się przekonacie :-)
Magia tkwi w pliku konfiguracyjnym rTorrenta, który znajduje się w katalogu domowym pod nazwą .rtorrent.rc. Powinniśmy go teraz utworzyć. Przykładowy, wraz z opisem wszystkich użytych funkcji, znajduje się poniżej.
# W tym katalogu będą zapisywane ustawienia torrentów;
# oraz plik, który blokuje wielokrotne załączanie rTorrenta;
session = /home/lukasz/dane/download/torrenty
# Gdzie będą ściągane pliki;
directory = /home/lukasz/dane/download/torrenty
# Domyślna prędkość wysyłania (0 dla nieograniczonej);
upload_rate = 40
# Domyślna prędkość ściągania (0 dla nieograniczonej);
download_rate = 0
# Czy rTorrent ma korzystać z UDP;
use_udp_trackers = yes
# Maksymalna liczba uploadów na jeden torrent;
max_uploads = 20
# Zakres portów z których rTorrent będzie próbował się łączyć;
port_range = 6892-6892
# Minimalna i maksymalna liczba połączeń do jednego torrenta;
min_peers=10
max_peers=400
# Przestaje wysyłać, gdy ratio wyniesie 2.0 przy przynajmniej 100MB
# wysłanych lub gdy ratio przekroczy 5.0;
schedule = ratio,60,60,stop_on_ratio=200,200M,500
# Przestaje ściągać, gdy miejsce na dysku wyniesie poniżej 20MB;
schedule = low_diskspace,5,60,close_low_diskspace=20M
# Z tego katalogu torrenty będą automatycznie dodawane do listy ściągania;
schedule = watch_directory,5,5,load_start=/home/lukasz/dane/download/torrenty/*.torrent
# Po usunięciu ściągania z listy będą usuwane pliki .torrent;
schedule = untied_directory,5,5,stop_untied=
Jeśli mamy już przygotowany plik konfiguracyjny, możemy spróbować, czy rTorrent sam pobiera pliki. W tym celu ściągamy przykładowy plik .torrent i zapisujemy go do wcześniej wybranego katalogu (u mnie był to /home/lukasz/dane/download/torrenty). Jeśli po załączeniu rTorrent plik doda się do ściągania, to jest wszystko ok. W przeciwnym przypadku, należy sprawdzić czy plik konfiguracyjny jest na pewno dobrze zrobiony, czy nie popełniliśmy literówek w edytowaniu go, oraz czy na pewno ma odpowiednią nazwę i znajduje się w naszym katalogu domowym.
Oczywiście, torrenty można też dodawać ręcznie, jak to robić opisałem na końcu tego artykułu, w klawiszologii.
rTorrent, screen i skrypty startowe
Następnym krokiem będzie dodanie polecenia uruchamiania rTorrent do skryptów startowych. W tym celu przygotowujemy mały skrypt, który dodamy do /etc/init.d. W moim przypadku wygląda on tak:
#!/bin/sh
su lukasz -c 'screen -mD sh /usr/bin/rtorrent' &
W miejsce lukasz, należy podstawić swoją nazwę użytkownika, dzięki czemu rTorrent nie będzie uruchamiany z poziomu roota.
Aby sprawić, żeby skrypt był wykonywany przy uruchomieniu komputera, należy (z poziomu roota) pozwolić mu, aby był wykonywany (chmod +x), skopiować do katalogu /etc/init.d/ oraz wydać polecenie update-rc.d plik defaults 20, gdzie plik to nazwa naszego skryptu.
Po ponownym uruchomieniu komputera, rTorrent powinien zacząć pracować. Do wywołania go musimy wpisać screen -r w terminalu. Pełen opis podstawowych i nie tylko funkcji screena znajduje się w artykule Screen – sztuczki.
Podstawowa klawiszologia
A oto podstawowe skróty klawiszowe, które na pewno przydadzą Wam się podczas pracy z rTorrentem.
^q– Wyłącza program. Wciśnięty podwójnie wymusza zamknięcie.Góra, dół– zaznacza kolejne pobierania.Lewo– wraca do poprzedniego ekranu.Prawo– przechodzi do następnego ekranua | s | d– Zwiększa globalny upload o 1/5/50 KBA | S | D– Zwiększa globalny download o 1/5/50 KBz | x | c– Zmniejsza globalny upload o 1/5/50 KBZ | X | C– Zmniejsza globalny download o 1/5/50 KB^S– Rozpoczyna pobieranie^D– Zatrzymuje aktywne pobieranie bądź usuwa zatrzymane+ | -– Zmienia priorytet pobierania wybranego torrentaBackspace– Po naciśnięciu można wpisać lokalną ścieżkę bądź URL do pliku .torrent. Obsługuje dopełnianie ścieżek za pomocą przycisku Tab, jak w bashu.
Epilog
I tutaj zbliżamy się do końca artykułu, myślę, że wiedza, którą tutaj przedstawiłem będzie dla Was przydatna. Oczywiście, nie jest to 100% możliwości rTorrenta, jednak z pewnością są to informacje, które wystarczą do sprawnej obsługi programu. Po dalsze odsyłam do systemowych manuali. Wszystkie pytania piszcie na lukiasz@gmail.com
Korekta: t_ziel

JakiLinux


Uwaga!
Chwilowo nie można powiększać jednego obrazka.
- "dzięki mocno zoptymalizowanemu kodu" – chyba "kodowi"
- screeny są odwrotnie :)
To, co mi się marzy, to "demon downloadu" – połączenie, wgeta, programu do ściągania torrentów i menadżera pobierania. W tle działa mały demon czekający na zadania. Jednym poleceniem z terminala podajemy mu adresy URL plików do ściągnięcia a on zapisuje je w uprzednio skonfigurowanym katalogu. Działa w tle, jest uruchamiany przy starcie systemu, automatycznie zapamiętuje ostatnią pozycję w pliku i pozwala na dokończenie pobierania… Cudo. Zna ktoś coś takiego? Wiem że mlDonkey może działać w ten sposób, i może pobierać torrenty (a także ed2k i jakieś inne jeszcze), ale nie mogę mu podać linków z HTTP lub http://FTP...
rTorrent nie jest taki straszny jak mówią. Polecam.
D3X jaki ten świat mały :)
rTorrent jest świetnym klientem, który ciągle się rozwija. Używam go od zawsze, polecam innym.
Tego mi tutaj na wortalu brakowało :)
Screeny odwrócone, obrazek można już obejrzeć, za niedogodności przepraszamy :)
Pytanie do autora:
Czy ta linijka jest potrzebna "schedule = watch_directory,5,5," musiałem ją wywalić bo rTorrent zgłaszał błąd ;/ bez niej się włącza.
@koziu – racja, błąd przy wpisywaniu tekstu: te dwie linijki:
schedule = watch_directory,5,5,
load_start=/home/lukasz/dane/download/torrenty/*.torrent
Powinny być w jednej, bez spacji.
Błąd już poprawiony, dzięki:)
"…pozwala na ściąganie plików niezależnie od zalogowanego użytkownika". W jaki sposób? Jak to zrobić, żeby rTorrent chodził niezależnie od tego jaki użytkownik jest zalogowany?
Czy istnieje możliwość wyłączania niektórych plików w samych plikach torrent (tak aby tylko wybrane przez nas pliki były ściągane).
Przejdź do zakładki File list i spacją zmień priorytet (Pri) na off. Ciekawe piszesz poradniki Treadstone!
Właśnie Treadstone bardzo dobre poradniki a te możliwości screen'a to mnie zaszokowały ^^ oby więcej takich poradników
Dzięki:) Miło się czyta takie słowa:)
@LordD – dokładnie chodzi o to, że podczas startu systemu uruchamia się screen z rTorrentem w tle (nie blokując żadnego terminala), dzięki czemu program chodzi już od razu w kontekscie użytkownika, bez potrzeby uruchamiania go ręcznie. Z logowaniem miałem na myśli komputer w domu, gdzie na końcu uruchamia się graficzny menedżer logowania. Pomimo tego, kto się zaloguje, screen z rTorrentem będą już działały. Fragment przytoczony przez Ciebie poprawiłem, żeby nie budził wątpliwości – to nie sam rTorrent potrafi tak być uruchamiany i działać, ale każdy program konsolowy przy pomocy screena i /etc/init.d.
@Kaziu – to, co opisałem w artykule odnośnie screena, to funkcję, które uznałem za najciekawsze i warte opisania, sam screen posiada chociażby potężny ale i ciężki do zrozumienia system schowka i wiele innych funkcji, które mogę kiedyś opisać w następnym artykule:)
Święta racja. rTorrent to najelpszy klient torrenta jakiego kiedykolwiek używałem..
Mam pytanie dotyczące rtorrenta… jak ściągam dowolną rzecz i wyłącze rtorrenta to po ponownym włączeniu ściąga on od nowa ten plik. Czy można temu jakoś zaradzić? Z góry dziękuję za pomoc i pozdrawiam!
ps.
prośba do autora: WIĘCEJ ARTYKUŁÓW O KONSOLI!!! :)
session =
w konfigu widnieje?
już widnieje, mea culpa, przepraszam za kłopot…
Dzięki i pozdrawiam!
tylko nikt nie pisze czy linuxowe obsluguja ipfilter
Klient torrent świetny, choć nadal czekam na dodanie kilku opcji.
Użytkownikom choćby BitCometa szczęka opada, kiedy pokazuje im że 20 aktywnych torrentow nie musi używac wcale 300mb ramu, a 30 :)
Czytam już któryś twój arytuł RESPECT !!!!
a ja mam pytanie odnośnie zarządzania przez www jak to się wogóle robi ??
Dodam bo może sie przydać xD
1/2 – ustawianie maksymalnej liczby połączeń dla torrenta
3/4 – minimalna liczba połączonych peer'ów
5/6 – maksymalna liczba połączonych peer'ów
t – aktualizacja trackera.
T – wymuszona aktualizacja trackera
Menu FileList (listy plików torrenta)
space – zmiana priorytetu pliku
* – zmiana priorytetu wszystkich plików
Więcej info w języku angielskim:
http://libtorrent.rakshasa.no/wiki/RTorrentUserGu…
wie ktos mzoe jak ustawic rtorrenta, zeby w okreslonych godzinach sciagal pelna para a w innych przycinal download, zeby nie przymulac neta? krotko mowiac; w nocy idzie max a w dzien np polowe tego
Może trochę późno, ale…
schedule = throttle_1,01:00:00,24:00:00,download_rate=0
schedule = throttle_2,05:00:00,24:00:00,download_rate=25
czyli
schedule = tryb_ściągania(no z tymi nazwami niewiele zrobi), od[godzina], do[godzina], download_rate=prędkość ściągania.
no i chyba styknie
wedle manuala to cos skopales :D
schedule = id,start,interval,command
Call command every interval seconds, starting from start. An interval of zero calls the task once, while a start of zero calls it immediately. Currently command is forwarded to the option handler. start and interval may optionally use a time format, dd:hh:mm:ss. F.ex to start a task every day at 18:00, use 18:00:00,24:00:00.
wiec to co napisales nie bedzie od godziny do godziny tylko od godziny co ile
w twoim przykladzie od 1 co 24h w drugim od 5 co 24h
co wyjdzie z tego np
schedule = jakies_tam_id,01:00:00,08:00:00,download_rate=25
bedzie download ustawiac na 25 od 1 w nocy co 8 godzin czyli o 1 ustawi na 25 potem o 9 ustawi na 25 potem o 17 ustawi download na 25 id mozna sobie wpisac jakie sie chce :) jakies_tam_id
i mozna uzyc upload_rate do ciecia upa
pozdrawiam
ale lepiej pozno niz wcale ;)
dzieki wielkie, pozdrawiam
czy istnieje możliwość kolejkowania torrentów, chodzi o to że wrzucam do katalogu 10 torrentów, ale w aktywne są tylko 3 a reszta jest w kolejce, po zakończeniu któregoś startuje następny itd…
ja rowniez przylanczam sie do prosby o troche informacji na temat obslugi tego programu z poziomu strony www
a pozatym WIELKIE DZIEKI za artukul
Ladna tapeta :)
Moglbys sie podzielic? :)
Jasne, napisz mi na maila:)
bartek1965@tlen.pl
Dzieki :)
PS. Nie napisalem na maila, bo nigdzie go nie podales. Dlatego dalem swoj.
Jest podany na samym końcu artykułu:)
czy komus z Was dziala poprawnie ta opcja:
schedule = untied_directory,5,5,stop_untied=
wedlug manuala, itd. pliki *.torrent powinny byc usuwane po sciagnieciu sie danego torrenta… niestety u mnie nic takiego nie ma miejsca, o co moze chodzic?
u mnie usuwa pliki *torrent jeśli usunę download z listy (2x[ctrl]+[D])
pozatym w nowszej wersji żeby uruchomoć rtorrenta muszę zmienić linię 41 na taką
schedule = ratio,60,60,"stop_on_ratio=200,200M,500"
Witam
A ja mam
session = /home/smigacz/torrenty
i nie kontynuje mi sesji…
Co moze to powodowac?
Pozdrawiam
Smigacznr1
Program dość szybko się rozwija, testowana wersja to 6.04, obecnie najnowszą jest chyba 7.08, możliwe, że stąd te problemy
Bardzo fajny poradnik, w sumie wszystkie o konsolce sa swietne.
Mam tylko drobny problem. Uzywalem wczesniej windowsa a w nim Azureusa, potem uTorrent. Windowsa porzucilem :) tamte programy tez, wyczytalem w sieci, ze rTorrent sciaga pliki tak szybko jak inne programy lub szybciej.
Tamte programy sciagaly mi z max predkoscia (mam 3mbps/512kbps) a w przypadku rTorrenta predkosc zazwyczaj nie przekracza 30-40KB/s. Wiecie co moze byc na rzeczy? Jak sobie z tym poradzic? Nie chce rezygnowac z tego programu bo poza tym jednym mankamentem jest swietny.
Z gory dziekuje za pomoc :)
Witam.
Pewnie poźno ale część osób pytało o interfejs web dla rtorrenta. Zebrane linki do ciekawych projektów poniżej:
http://libtorrent.rakshasa.no/wiki/UtilsList
Have fun!
Pozdr.
HF.
a ja mam takiego quiza
czy ktos wymyslil/wymysli jak zrobic zeby powiedzmy o 1 stopowalo wszystkie torentki a o 10 odpalalo sciaganie ponownie
kombinuje kombinuje i jakos nie widze ani w manualu ani w dokumentacji
z rzadna opcja mi nie wychodzi :( stop_untied =, close_untied = on_stop = id,command,
urzywal ktos czegos takiego ?
Używasz schedule, składnia w man, modyfikujesz np. download/upload ratio.
np.
schedule = costam,10:00:00,24:00:00,download_ratio=2048
(podajesz w kilobajtach) o ile dobrze pamiętam
Tak samo możesz ustawić np. automatyczne dodawanie torrentów z jakiegoś katalogu/innego miejsca – ustawiasz czasy np 5,5 dla 5 sekund lub 30,30 dla sprawdzania co 30 sekund.
Witam bardzo pomocny opis z tym ze mam problem z odpaleniem konfiga ;/ , jak chce odpalic RTorrka to wyskakuje mi cos takiego
Error in option file: ~/.rtorrent.rc:1: Could not find '='.
patrzylem i porownywalem z tym tutaj i nie moge znalezc przyczyny ;/ czy ktos moglby mi pomoc? aa i jeszcze bym chcal wiedziec jak ustawic (ale dobrze bo pisze wyzej ale nie moge toego sprawdzic nawet ) DL i UL od okolo 24 do 12 a i jeszcze zeby w tych godzina tylko byl odpaly RTorrent:>
Ja mam pytanie, da się żeby po pobraniu wszystkich torrentów wyłączał komputer? albo wykonywał po prostu jakieś polecenie.
chciałem zapisywać pliki na dysku ntfs. tworzy mi foldery, lecz nie ściąga. wyświetla taki komunikat:
Storage error: [File chunk write error: No such device.]
pozdrawiam :)
Witam
Odpalam rtorrenta na screen'ie i pytanie dla czego nie działa mi uruchamienie torentów (CTRL+S) i koniec programu (CTRL+Q) w przeciwieństwie do zatrzymywanie (CTRL+D) które działa bez problemu??
Pozdrawiam
Ktoś to w ogóle czyta??
Witam.
A czy jest możliwość aby po zakończeniu pobierania pliki były przenoszone do innego katalogu? Jeśli tak to jak to zrobić?
Pozdrawiam
@dzilins, tak jest to możliwe:
Movecompletedtorrents
Fajny klient. Bardzo dobrze seeduje i nie ma błędów jak np. deluge. Szkoda tylko, że nie koloruje tego okienka w terminalu, żeby np. pobierane były na niebiesko, a seedowane na zielono czy coś. No i nazwy plików mogłyby być białymi literami na czarnym tle, wtedy odznaczały by się bardziej w liście. Oprócz tego wyglądu to rewelacja :)
witam.
mam podobny problem co jakobs84.
Startuje automatucznie z systemem rtorrenta i nie dziala mi ctrl + s i + q.
Gdy wystartuje go samemu z systemu z screen'em to dzialaja te funkcje.
Wie moze ktos co zrobic by dzialaly?
Pozdrawiam
Hellrider,
sprubuj Ctrl + a + s oraz to samo a + q umnie działa. tylko pogrzebać w sieci musiałem
Note that Ctrl+s (and Ctrl+q for quit) is often used for terminal control to pause screen output (and Ctrl+q to resume). This may interfere with rTorrent. Type stty -a to see whether these have been mapped. To remove the mappings, execute the commands
stty stop undef
stty start undef
I będzie działać jak trzeba
before running rTorrent (or reattaching to screen) to leave them undefined. You could also replace undef with some other code — Ctrl+p, say. Ctrl+d also usually sends end-of-file but ncurses passes this through to rTorrent. stty eof undef if you are worried.
Witam
Dla zainteresowanych klejam link do skryptu do automatyczne pobierania torrentów z kanału rss.
Skrypt napisany pod shell linuxa wystarczy pozmieniac login, haslo, oraz passkey.
Oraz dodać do crona.
Znawcy tematu będa napewnoe wiedzieli o co chodzi.
Klient torrenta do rtorrent.
Gdy bedzie zainteresowanie skryptem udziele wiekszych informacji.
links do skryptu: http://www.m-65.pl/content/9-btgigs
Pozdrawiam