rtorrent

Aus Mikiwiki
Wechseln zu: Navigation, Suche

Der Shell-Befehl rtorrent (auch: Rtorrent, rTorrent) ist ein in C++ programmierter Bittorrent-Client und basiert auf der Bibliothek Libtorrent. Ausserdem nutzt es zur Darstellung die Programmbibliothek Ncurses und ist damit geeignet um es mit den Shell-Befehlen screen oder dtach zu verwenden.

Wtorrent ist eine grafische Ajax-Oberfläche für rtorrent.

Optionen

Taste Beschreibung
Backspace Hinzufügen eines Torrents unter Verwendung eines URL oder Dateipfads. Die Tabulatortaste zeigt den Verzeichnisinhalt und ergänzt automatisch Dateinamen, ebenso können Wildcards verwendet werden (z. B. "~/torrent/*").
RETURN Bewirkt dasselbe wie die Taste "Backspace" - allerding bleibt der Torrent inaktiv (und kann mit "CTRL+S" aktiviert werden).
CTRL+O Setzen eines neuen Herunterlade-Verzeichnisses für den ausgewählten Torrent, der noch nicht aktiviert sein darf.
CTRL+S Beginnt das Herunterladen, wobei (falls nicht bereits geschehen) zuerst der Hashwert überprüft wird.
CTRL+D Beendet einen aktiven Herunterladevorgang oder löscht eine heruntergeladenen Torrent.
CTRL+K Beendet und schliesst die Dateien eines aktiven Herunterladevorgangs.
CTRL+R Durchführung der Überprüfung des Hashwerts eines Torrents ohne den Vorgang des Hoch- oder Herunterladens zu beginnen.
CTRL+Q Beenden von rtorrent.

Bei der Verwendung dieser Tastenkombinationen ist zu beachten, dass "CTRL+S" und "CTRL+Q" oft von der Terminalemulation zum Pausieren bzw. Wiederaufnehmen der Bildschirmausgabe verwendet werden, was sich mit rtorrent überschneidet. Mit "stty -a" kann herausgefunden werden, ob diese Tastenkombinationen gemappt werden (im folgenden sind sie das: "start = ^Q;" und "stop = ^S;"):

$ stty -a
speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

Um diese Zuordnungen zu entfernen werden vor dem Aufruf von rtorrent folgende Befehle abgesetzt:

$ stty stop undef
$ stty start undef

Stattdessen kann "undef" auch durch anderen Code ersetzt werden, z. B. mit "^p". "CTRL+D" sendet üblicherweise ein EOF-Zeichen, doch Ncurses schickt das an rtorrent weiter - bei Beadr kann hier "stty eof undef" abgesetzt werden.

Um das geradezubiegen kann innerhalb von screen mit CTRL+A CTRL+F auch die "Flow control" durchgeblättert werden, bis screen in der unteren linken Ecke "-flow" anzeigt.

Throttling

Taste Beschreibung
a s d Erhöhen der upload throttle um 1 bzw. 5 bzw. 50 KB.
z/x/c	Decrease the upload throttle by 1/5/50 KB.
A/S/D	Increase the download throttle by 1/5/50 KB.
Z/X/C	Decrease the download throttle by 1/5/50 KB.

Note that all throttling is applied globally and not per torrent.

Installation

Ubuntu 8.04 Hardy Heron

$ sudo apt-get install rtorrent

Konfiguration

Eine eigene Konfiguration kann in der Datei "~/.rtorrent.rc" erstellt werden. Eine Beispielkonfiguration ist unter Ubuntu in der Datei "/usr/share/doc/rtorrent/examples/rtorrent.rc" zu finden.

Folgende Zeilen begrenzen die Datenübertragungsrate (in KByte/s) für das Herunter- bzw. Hochladen. Wird der Eintrag auf "0" gesetzt oder ganz auf die Angabe verzichtet, so nutzt der Bittorrent-Client die gesamte verfügbare Bandbreite. Die Datenübertragungsrate zum Hochladen von Bittorrents sollte jeweils höchstens etwa drei Viertel der verfügbaren Banbreite betragen, damit daneben auch noch andere Internetaktivitäten möglich sind.

download_rate = 1800
upload_rate = 50

Angabe des Verzeichnisses, in dem rtorrent die heruntergeladenen Dateien anlegt (hier "/TORRENTS") und abgebrochene Vorgänge fortsetzt. Ohne Angabe werden diese im Verzeichnis angelegt, in dem rtorrent aufgerufen wurde.

directory = /TORRENTS/

rtorrent kann automatisch aus einem bestimmten Verzeichnis heraus gestartet werden. rtorrent kann beispielsweise in regelmässigen Abständen das Verzeichnis "Download" des Webbrowsers überprüfen. So muss beim Surfen nur noch eine Torrent-Datei angeklickt werden, damit rtorrent (kurze Zeit später) mit dem Herunterladen beginnt. Diese Automatik macht den Umgang mit Bittorrents so komfortabel wie das Herunterladen über HTTP. Diese Eigenschaft wird über die folgende Zeile eingeschaltet (im Beispiel wird jeweils das Verzeichnis "/home/mik/Download" nach Torrent-Dateien durchsucht).

schedule = watch_directory,5,5,load_start = /home/mik/downloads/*.torrent

Automatisch gestartete Bittorrents laufen allerdings ohne händisches Abbrechen für immer weiter. Die folgende Zeile erlaubt es, Bittorrents bis zu einer Ratio von 2.0 und einem minimalen Hochladen von 200 MB weiterlaufen zu lassen. Bei sehr kleinen Bittorrents bricht rtorrent spätestens bei einer Ratio von 20.0 ab.

schedule = ratio,60,60,"stop_on_ratio=200,200M,2000"

Am Ende der Konfigurationsdatei kann folgende Zeile eingefügt werden. Sie erlaubt es, die Bandbreite in Zukunft mit den Tasten Y, X und C zu regeln.

key_layout = qwertz

Automatischer Start beim Bootvorgang

Damit rtorrent bei jedem Bootvorgang automatisch gestartet wird, muss folgende Zeile in die Datei "/etc/init.d/rc.local" eingetragen werden.

$ sudo vi /etc/init.d/rc.local
screen -S rtorrent rtorrent

Portweiterleitung

Steht der verwendete Rechner hinter einem NAT-Router, so müssen die für rtorrent genutzten Ports (normalerweise 6890 bis 6999) auf den Rechner weitergeleitet werden. Um mit rtorrent Daten herunterzuladen ist das zwar nicht zwingend erforderlich, erhöht jedoch meistens die Datenübertragungsrate für eine Datei. Werden eingehende Verbindungen nicht an den eigenen Rechner weitergeleitet, so weist der Router alle Versuche von anderen Bittorrent-Clients ab, Dateien vom eigenen Rechner wieder zu laden. Eine korrekt eingerichtete Portweiterleitung erhöht also die Anzahl der Peers, die untereinander Daten austauschen.

Um zu kontrollieren, ob die Portweiterleitung richtig eingerichtet wurde und andere Peers die rtorrent-Instanz auf dem eigenen Rechner kontaktieren können, kann in rtorrent der Punkt "Peer list" ausgewählt werden. Steht dort in der fünften Spalte "C/RE/LO") eine "1", so hat der eigene Rechner eine Verbindung aufgebaut. Findet sich ein "r", so kam der Anstoss zum Datentausch von einem anderen Peer - die Portweiterleitung funktioniert also. Allerdings ist zu beachten, dass die anderen Peers nach dem Start immer einige Minuten brauchen, bis sie einen Verbindungsaufbau versuchen.

Verwendung

Nach dem ersten Aufruf erscheint eine recht leere Oberfläche.

$ rtorrent
                 *** rTorrent 0.8.0/0.12.0 - kanzler:20518 ***
[View: main]

...

(16:50:46) Using 'epoll' based polling.
(16:50:46) Could not read resource file: ~/.rtorrent.rc
[Throttle off/off KB] [Rate   0.0/  0.0 KB] [Port: 6955] [U 0/0] [D 0/0] [H 0/3

Eine erste Torrent-Datei wird hinzugefügt, indem zuerst die Taste RETURN gedrückt und dann am Prompt am unteren Fensterrand der Pfad zur Datei angegeben wird. Die Pfadangabe wird am besten mit absolutem Pfad gemacht, sie kann aber auch mit relativem Pfad gemacht werden, ausgehend vom Verzeichnis, aus dem heraus rtorrent gestartet wurde. Ähnlich wie in einer Shell zeigt das Drücken der TAB-Taste mögliche Datei- und Verzeichnisnamen an.

                 *** rTorrent 0.8.0/0.12.0 - kanzler:20646 ***
[View: main]

...

(16:58:01) Using 'epoll' based polling.
(16:58:01) Could not read resource file: ~/.rtorrent.rc
load> /MUSIC/Yo La Tengo - 2006-01-01 Hanukkah Night 8.torrent

Danach sieht die Oberfläche so aus:

                 *** rTorrent 0.8.0/0.12.0 - kanzler:20646 ***
[View: main]
   Yo La Tengo - 2006-01-01 Hanukkah Night 8
  [CLOSED]     0.0 /  895.7 MB Rate:   0.0 /   0.0 KB Uploaded:     0.0 MB
  Inactive:

...

(16:58:01) Using 'epoll' based polling.
(16:58:01) Could not read resource file: ~/.rtorrent.rc
[Throttle off/off KB] [Rate   0.0/  0.0 KB] [Port: 6912] [U 0/0] [D 0/0] [H 0/3

Wurden mehrere Bittorrents hinzugefügt, so kann mit den Pfeiltasten zwischen den einzelnen Bittorrents hin- und her gewechselt werden.

Neu hinzugefügte Bittorrents starten nicht automatisch. Sie werden angestossen, indem sie über die Pfeiltaste angewählt und die Tasten CTRL+S gedrückt werden. Mit CTRL+D wird das Herunterladen angehalten. Ein bereits angehaltener Bittorrent kann durch erneutes Drücken von CTRL+D aus der Liste gelöscht werden. Mit CTRL+Q wird rtorrent beendet.

Die Hauptansicht zeigt die wichtigsten Informationen kurz zusammengefasst:

  • Die erste Spalte nennt die bereits heruntergeladene Datenmenge (hier "20.6").
  • Die zweite Spalte zeigt Gesamtgrösse des herunterzuladenden Torrents (hier "895.7 MB").
  • Die dritte und vierte Spalte nennen die Datenübertragungrate (hier "Rate: 0.0 / 36.5 KB") fürs Hinauf- bzw. Herunterladen dieses Bittorrents.
  • Die fünfte Spalte nennt die vom eigenen Bittorrent-Client hochgeladene Datenmenge (hier "Uploaded: 0.0. MB").
  • Die sechste Spalte gibt an, welcher Anteil der Datei bereits auf der lokalen Festplatte gespeichert ist (hier "[ 2%]").
  • Die siebte Spalte gibt die ungefähr verbleibende Zeit für das Herunterladen an, falls die gegenwärtige Herunterladerate unverändert bleibt (hier "0d 3:09", also 0 Tage, 3 Stunden und 9 Minuten).
  • Die achte Spalte gibt an, ob der Torrent mit einer Datei verbunden ist - in diesem Fall steht hier "T" (tied), ansonsten nichts.
  • Die neunte Spalte gibt an, ob rtorrent Befehle wie z. B. "as stop_on_ratio" ignoriert - in diesem Falle steht hier "I". Mit der Taste "I" kann dieser Wert verändert werden.
  • Die zehnte Spalte gibt die Share-Rate an (hier "R: 0.03", es wurden also bisher 3% der bisher heruntergeladenen Datenmenge wieder an andere verteilt).
                  *** rTorrent 0.8.0/0.12.0 - kanzler:20781 ***
[View: main]
*  Yo La Tengo - 2006-01-01 Hanukkah Night 8
*             20.6 /  895.7 MB Rate:   0.0 /  36.5 KB Uploaded:     0.0 MB [ 2%]  0d  3:09 [TI R: 0.03]
*

...

(17:09:31) Could not create download, the input is not a valid torrent.
[Throttle off/off KB] [Rate   0.0/  5.7 KB] [Port: 6881] [U 0/0] [D 1/0] [H 0/3 

Wurde mit den Pfeiltasten ein Bittorrent markiert, so kann mit PFEIL_RECHTS in die Detailanzeige für diesen Bittorrent gewechselt werden. In dieser neuen Ansicht kann wieder mit den Pfeiltasten zwischen den einzelnen Punkten gewechselt werden.

  • Die Peer list zeigt Informationen darüber, mit welchen anderen Peers die Anwendung in Kontakt steht. In den Spalten verstecken sich unter anderem die individuelle Datenübertragungsrate für das Hinauf- bzw. Herunterladen.
  • Info zeigt einige allgemeine Informationen zum Bittorrent bereit - unter anderem die Anzahl und Grösse der einzelnen Stücke (engl. chunks), aus denen die Datei besteht.
  • Im Punkt File list wird mit PFEIL_RECHTS in die Dateiliste gewechselt, wo mit der Leertaste diejenigen Dateien markiert werden können die mit erhöhter Priorität ("hig") heruntergeladen werden sollen bzw. auf die verzichtet wird ("off"). Mit PFEIL_LINKS wird diese Ansicht wieder verlassen.
  • Chunks seen gibt Aufschluss darüber, welche Seeder welches Stück anbieten: Jede Zahl bzw. jeder Buchstabe vertritt dort ein Stück der Datei und gibt an, wieviele andere Peers dieses Stück bereithalten. Die Anzeige erfolgt quasi im Hexadezimalsystem: "0" steht für keine Peers, "A" für bis zu 10 und "F" für über 15 Peers. Tauchen in der Ansicht viele Nullen auf, so lässt sich dieser Bittorrent womöglich nicht ganz zuende laden. Normal angezeigte Buchstaben stehen für bereits heruntergeladene Dateistücke, fett geschriebene für noch ausstehende. Ist der Buchstabe schwarz hinterlegt, so wird das betreffende Dateistück gerade geladen.
               *** Yo La Tengo - 2006-01-01 Hanukkah Night 8 ***
                 IP              UP     DOWN   PEER   C/RE/LO  QS    DONE  REQSN
Peer list        24.14.30.126    0.0    37.8   0.0    l/Un/ci  0/17  100   1629u
               Torrent 1.8.2.0
Info

File list

Tracker list

Chunks seen

Transfer list

...

             43.9 /  895.7 MB Rate:   0.0 /  36.8 KB Uploaded:     0.0 MB [ 4%
Peers: 1(0) Min/Max: 40/100 Uploads: 15 U/I/C/A: 0/0/1/0 Failed: 0
[ :597]
[Throttle off/off KB] [Rate   0.0/ 36.9 KB] [Port: 6881] [U 0/0] [D 1/0] [H 0/3

Am unteren Fensterrand ist im Kästchen "Rate" jeweils die aktuelle Datenübertragungsrate für die hinauf- bzw. heruntergeladenen Daten zu sehen. Ganz links aussen sind die eingestellten Beschränkungen der Datenübertragunsgrate für rtorrent zu sehen. Mit den Tasten A, S und D wird die Begrenzung für die Hochladengeschwindigkeit um 1, 5 oder 50 KByte/se erhöht. Mit Z, X und C wird die Rate in denselben Schritten gesenkt. Wird bei diesen Aktionen zusätzlich die Shift-Taste gedrückt, so wird statt der maximalen Datenübertragungsrate für das Hochladen diejenige für das Herunterladen verändert.

FAQ

rtorrent in einer screen-Sitzung

In der Praxis hat es sich bewährt, rtorrent unabhängig von KDE oder Gnome in einer screen-Sitzung zu starten. Dazu wird in einem Terminalfenster folgender Befehl eingegeben. rtorrent läuft dann auch weiter, wenn das Terminalfenster geschlossen wird oder der X-Server abstürzt.

$ screen -S rtorrent rtorrent

Mit folgendem Befehl kann jederzeit innerhalb einer SSH-Sitzung nach den laufenden Bittorrents gesehen werden.

$ screen -rd -S rtorrent

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
country DE.gif Ubuntu Users ger rtorrentwbm
country NO.gif Sundell Software eng rtorrent user guidewbm
country DE.gif Ipfire eng Rtorrent Addonwbm Konfigurationshinweise
country DE.gif Wikipedia ger rtorrentwbm Enzyklopädischer Artikel