rTorrent – konsolowy klient P2P

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!

Zainspirowany komentarzem użytkownika jaack, postanowiłem przetestować program rTorrent. Słyszałem o nim wcześniej, ale nigdy nie chciało mi się go zainstalować :)

Ponieważ jest to klient konsolowy, posiada olbrzymie możliwości np. kontrolowanie jego pracy za pomocą telefonu komórkowego – pisałem o tym tutaj – Zdalne sterowanie Ubuntu poprzez telefon komórkowy

Instalacja:
Wpisz w terminalu:

sudo apt-get install rtorrent

Poczekaj na zakończenie instalacji.

Konfiguracja:
Utwórz katalogi, w których znajdować będą się pobrane pliki oraz seed’y:

mkdir ~/rtorrent && mkdir ~/rtorrent/pobrane && mkdir ~/rtorrent/pliki-ziarna && mkdir ~/.session

Wyedytuj plik konfiguracyjny:

gedit ~/.rtorrent.rc

Twoim oczom powinno ukazać się coś takiego:

# This is an example resource file for rTorrent. Copy to
# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
# uncomment the options you wish to enable.

# Maximum and minimum number of peers to connect to per torrent.
#min_peers = 40
#max_peers = 100

# Same as above but for seeding completed torrents (-1 = same as downloading)
#min_peers_seed = 10
#max_peers_seed = 50

# Maximum number of simultanious uploads per torrent.
#max_uploads =15

# Tu ustawiamy prędkość wysyłania (upload) i pobierania (download) 0=bez ograniczeń
# Zalecana prędkość uploadu to 75% maksymalnej prędkości łącza
download_rate = 0
upload_rate = 24

# Domyślny katalog do zapisu pobranych plików:
directory = /home/twoja_nazwa/rtorrent/pobrane

#Katalog gdzie zapisywana będzie sesja
session = /home/twoja_nazwa/.session

# Przeszukiwanie danego katalogu na obecność torrentów do pobrania
# Zatrzymywanie gdy torrent (plik ziarna) zostanie usuniety (nie sprawdzone - zahaszowane)
schedule = watch_directory,5,5,load_start=/home/twoja_nazwa/rtorrent/pliki-ziarna/*.torrent
#schedule = untied_directory,5,5,stop_untied=/home/twoja_nazwa/rtorrent/pliki-ziarna/*.torrent

# Close torrents when diskspace is low.
#schedule = low_diskspace,5,60,close_low_diskspace=100M

# Stop torrents when reaching upload ratio in percent,
# when also reaching total upload in bytes, or when
# reaching final upload ratio in percent.
# example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0
#schedule = ratio,60,60,stop_on_ratio=200,200M,2000

# The ip address reported to the tracker.
#ip = 127.0.0.1
#ip = rakshasa.no

# The ip address the listening socket and outgoing connections is
# bound to.
#bind = 127.0.0.1
#bind = rakshasa.no

# Port range to use for listening.
port_range = 6890-6999

# Start opening ports at a random position within the port range.
port_random = yes

# Check hash for finished torrents. Might be usefull until the bug is
# fixed that causes lack of diskspace not to be properly reported.
check_hash = yes

# Set whetever the client should try to connect to UDP trackers.
use_udp_trackers = yes

# Alternative calls to bind and ip that should handle dynamic ip's.
#schedule = ip_tick,0,1800,ip=rakshasa
#schedule = bind_tick,0,1800,bind=rakshasa

# Encryption options, set to none (default) or any combination of the following:
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
#
# The example value allows incoming encrypted connections, starts unencrypted
# outgoing connections but retries with encryption if they fail, preferring
# plaintext to RC4 encryption after the encrypted handshake
#
# encryption = allow_incoming,enable_retry,prefer_plaintext

#
# Do not modify the following parameters unless you know what you're doing.
#

# Hash read-ahead controls how many MB to request the kernel to read
# ahead. If the value is too low the disk may not be fully utilized,
# while if too high the kernel might not be able to keep the read
# pages in memory thus end up trashing.
#hash_read_ahead = 10

# Interval between attempts to check the hash, in milliseconds.
#hash_interval = 100

# Number of attempts to check the hash while using the mincore status,
# before forcing. Overworked systems might need lower values to get a
# decent hash checking rate.
#hash_max_tries = 10

# Max number of files to keep open simultaniously.
#max_open_files = 128

# Number of sockets to simultaneously keep open.
#max_open_sockets = <no default>

# Example of scheduling commands: Switch between two ip's every 5
# seconds.
#schedule = "ip_tick1,5,10,ip=torretta"
#schedule = "ip_tick2,10,10,ip=lampedusa"

# Remove a scheduled event.
#schedule_remove = "ip_tick1" 

Wypełnij odpowiednio pogrubione pola (katalogi utworzyłeś wcześniej)

Obsługa:
Ściągnij plik .torrent i umieść go w katalogu:

/home/twój_login/rtorrent/pliki-ziarna/

Uruchom program rTorrent:

rtorrent

Jeśli wszystko dobrze jest skonfigurowane, program powinien rozpocząć pobieranie.

Skróty klawiszowe:
Jako, że jest to klient konsolowy, obsługiwany jest za pomocą skrótów klawiszowych:
CTRL+D – zatrzymuje transfer wybranego torrenta. Gdy wciśniesz go razy pobieranie zostanie zatrzymane, a plik torrent usunięty.
CTRL+S – wznawia pobieranie zatrzymanego torrenta.
+ / – – zmienia priorytet pliku.
CTRL+Q – zamyka program, wciśnięty dwa razy, wymusza zamknięcie programu.

Więcej skrótów znajdziesz tutaj – klik

Jeśli ktoś z Was zna jakieś ciekawe i przydatne skróty, skrypty, związane z tym programem, może zostawić informację o tym w komentarzu.

Poradnik powstał na podstawie posta na forum debian.linux.pl

Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • http://jaack.4shared.com jaack

    Więc, skoro o mnie mowa, to wypadałoby się odezwać ;p
    Najbardziej przydatne:
    – żeby załadować plik torrent, klikamy ENTER i wpisujemy nazwę pliku torrent (działa dokańczanie TABEM i jeżeli nie wpiszemy nic, to wyświetla zawartość katalogu).
    – później CTRL+S i jazda.
    – peery, statusy trackerów i wszystkiego innego sprawdzamy strzałkami (wybieramy torrent i w prawo strzałką to wchodzimy w szczegóły).
    – uruchomienie konsoli tego programu (do zmiany parametrów w locie – tych co się da, np dht) to CTRL+X i wpisujemy komendę,
    – ograniczanie downloadu (Throttle lewy dolny róg!) SHIFT+ literka z czego A=+1 S=+10 D=+50, a Z=-1, X=-10, C=-50 KB/s
    – ograniczenie uploadu – to samo co wyżej, tylko bez SHIFT, same literki.

    USPRAWNIENIA
    dorzucamy do „.rtorrent.rc”

    schedule = watch_directory,10,10,load_start=
    po „=” katalog z plikami torrent (najlepiej dać *.torrent na koniec), jak tam się pojawi plik, to od razu jest dorzucany do kolejki!

    schedule = tied_directory,10,10,start_tied=
    jeżeli tu znajdzie się jakiś plik *.torrent, to jest pobierany, przeniesienie go do katalogu wpisanego do linii niżej, to jest zatrzymywany, taki START/STOP przez przenoszenie :)
    schedule = untied_directory,10,10,close_untied=

    KOLEJNA BARDZO PRZYDATNA SPRAWA
    zwie się „screen”
    Po łepkach :p
    uruchamiamy screen, dajemy ENTER, odpalamy jakąś aplikację (np. rtorrent), bo dalej jesteśmy w konsoli i ustawiamy pobieranie, a następnie zamykamy okno! nie ma konsoli, a rtorrent czy tam inna aplikacja dalej sobie śmiga w tle, żeby przywołać okno dajemy w konsoli screen -r lub screen -x jeśli więcej osób chciałoby podglądać – widać wtedy co dana osoba robi, w ten sposób mój kumpel wlazł do mnie po ssh i odpalił rtorrenta na screenie i ja patrzyłem sobie jak go ustawiał i przy okazji się wiele nauczyłem :)

    MIłego używania! Ja jestem bardzo zadowolony :)
    A jak jakieś pytania, to śmiało walić :)

  • http://jaack.4shared.com jaack

    Warto też do .rtorrent.rc dorzucić tą linijkę

    system.method.set_key = event.download.finished,move_complete,”execute=mv,-u,$d.get_base_path=,/katalog/skonczone ;d.set_directory=/katalog/skonczone
    która spowoduje, że pliki pobranego torrenta zostaną przeniesione do /katalog/skonczone
    nie pliki torrent, tylko zawartość, która została pobrana (powtarzam dla pewności ;p)

    Osobiście tego nie używam, bo nie pobieram tak dużo, ale kumpel używa :)

  • http://jaack.4shared.com jaack

    Dla ludzi mających kochanych ADMINÓW od internetu, tak jak ja,
    którzy za dnia blokują wszelki ruch p2p jest możliwość obejścia problemu.
    Należy u admina doprosić się (o ile nie mamy własnego zewnętrznego ip) przekierowania jakiegoś portu,
    następnie ustawić ten port w rtorrent na przychodzące,
    następnie ustanowić z jakimś dobrym kolegą połączenie po VPN (openvpn) albo hamachi
    oraz u niego postawić proxy (wymagane zew. IP i kumpla najlepiej)
    w rtorrencie ustawić http_proxy = adres kumpla
    Chwilę po żerować na jego łączu (nazbierać PEERÓW) i przejść na połączenie swoje bez proxy, dzięki temu będziemy pobierać z wysyłanych danych od peerów mając nieaktywne trackery czy dht, a i warto wymianę peerów włączyć.

    Ile się robi żeby się tylko nie przygotowywać do matury xD