Transmission

Aus wiki.archlinux.de

Dieser Artikel wurde als veraltet markiert, und sollte kontrolliert, und gegebenfalls korrigiert bzw. aktualisiert werden.


Transmission ist ein ressourcenschonender Bittorrent-Client. Neben verschiedenen grafischen Versionen gibt es auch einen Web-Client, der auf einen Daemon zurückgreift, sowie grafische Clients, die auf den Daemon zurückgreifen. Transmission verwendet die Bluetrack-Blockliste (PeerGuardian), um bösartige Peers zu sperren, unterstützt verschlüsselte Tracker, sowie DHT und PEX.

Installation

Transmission ist in im „extra“-Repository vorhanden, und wird mittels Pacman aus diesem installiert. Hier hat man die Wahl zwischen der GTK-Version, der qt-Version sowie der CLI-Version nebst Daemon.

pacman -S transmission-gtk # Grafische GTK-Version
pacman -S transmission-qt  # Grafische qt-Version
pacman -S transmission-cli # Befehlszeilenversion

Es ist nur eine der Versionen nötig. Im AUR befinden sich zudem ein erweitertes Remote-GUI (GTK)AUR für den Daemon.

GUI-Version

Im Hauptfenster von Transmissions GTK-Client werden drei Bittorrent-Downloads angezeigt
Informationsdialog für einzelne Torrents im GTK-Client

Das Transmission-GTK-Gui lässt sich mittels transmission-gtk starten. Der sehr einfach gehaltene Client besitzt unter „Bearbeiten → Einstellungen“ eine Haupt-/Grundkonfigurationsmöglichkeit. Dies umfasst Einstellungen der Speicherorte, der Geschwindigkeiten und der Informationen des Programms an den Anwender.

Es können selbstverständlich auch netzwerkbezogene Dinge wie die Ports oder die maximalen Up- und Download-Geschwindigkeiten eingestellt werden. Der Webclient kann hier ebenfalls konfiguriert werden. Dieser läuft so lange, wie der GTK-Client läuft (für einen persistentes, webbasierendes System siehe weiter unten) es muss dazu auch das oben angesprochene CLI-Paket installiert werden, weil das GTK-Paket nicht die Dateien beinhaltet, die für das Webinterface nötig sind.

Im Informationsdialog für einzelne Torrents, der mittels Doppelklick aufrufbar ist, werden detailliertere Informationen über den ausgewählten Download angezeigt. Zudem kann dort auf die Liste der Peers eingesehen werden, es werden Informationen über den Tracker dargestellt, und man bekommt eine detaillierte Auflistung aller Dateien des Torrents. Zudem kann unter „Optionen“ für diesen speziellen Torrent definiert werden, dass andere Up-/Download-Optionen gelten sollen. Zudem können dort auch die Priorität (Stichwort: „Traffic-Shaping“) und die Share-Ratio bestimmt werden.

Daemon/Webclient

Vor der Inbetriebnahme des Services muss dieser noch konfiguriert werden. Und zwar läuft er standardmäßig als root. In der Datei /etc/conf.d/transmissiond muss die Variable TRANS_USER dahingehend angepasst werden, dass sie den gewünschten User enthält, unter dem der Daemon laufen soll.

Nun sollte man den Daemon einmal starten, und einen Moment lang laufen lassen, und zwar als der User, der in der Konfigurationsdatei unter TRANS_USER definiert wurde. Dies dient dazu, eine Konfigurationsdatei zu erzeugen, die als Grundlage für die weitere Konfiguration verwendet werden kann.

transmission-daemon -f

Der Parameter -f sorgt dafür, dass der Daemon im Vordergrundmodus läuft. Es werden nun einige Statusinformationen ausgegeben, nach der Informationszeile …

[hh:mm:ss.f] Port Forwarding: State changed from "Starting" to "???"

… ist der Ladevorgang abgeschlossen. Der Daemon kann nun mittels „Strg+C“ beendet werden. Die Konfigurationsdatei wurde automatisch nach /home/USER/.config/transmission-daemon/settings.json geschrieben. Diese Datei gilt es nun zu bearbeiten, um den Daemon zu konfigurieren.

Konfiguration

Die meisten Einträge in der JSON-Liste, die zur Konfiguration verwendet wird, sollten selbsterklärend sein, und sind mit sinnvollen Standardwerten versehen. Einige Optionen sollte man dennoch anpassen.

bind-address-ipvN definiert, welche IP der Daemon verwenden soll, 0.0.0.0 besagt dabei, alle IPs zu verwenden. Will man, dass Transmission ein bestimmtes Interface benutzt, gibt man hier dessen IPv6-, bzw. IPv4-Adresse an.

peer-port bestimmt, welchen Port Transmission nach außen hin bereitstellen soll. Andere Clients und der Tracker können über diesen Port mit Transmission kommunizieren. Dieser Port sollte für ein optimales Ergebnis auch in der Firewall zur Weiterleitung konfiguriert sein. Alternativ bietet sich über peer-port-random-* die Möglichkeit, einen zufälligen Port in einem bestimmten Portbereich zu verwenden.

Es ist zu beachten, dass Änderungen an der Datei bei laufendem Daemon bei dessen Beenden überschrieben werden, und zwar mit denjenigen Werten, die in der Datei standen, als der Daemon gestartet wurde, bzw. mit den Daten, die über einen Client oder das Webinterface definiert wurden. Es muss zum Konfigurieren von Optionen in dieser Datei der Daemon also vorher gestoppt werden.

Standardmäßig erlaubt das Webinterface nur den Zugriff von dem Rechner aus, auf dem der Daemon läuft. Dies geschieht standardmäßig über http://localhost:9091. Hier wird kein Passwort abgefragt, weil das Webinterface (genauer genommen der RPC-Server) beim Zugriff von nicht-localhost eine Fehlermeldung zurückgibt.

Will man den Daemon auf einem Server betreiben, und sich von einem anderen Rechner aus per Browser einloggen können, bedarf es der Konfiguration des Servers mittels der rpc-*-Variablen.

Zuerst wird der RPC-Authentifizierungs-Mechanismus aktiviert. Es folgen dann weitere Variablen, die angepasst werden müssen (Variablen, die hier nicht erwähnt wurden, können ihren Vorgabewert behalten).

"rpc-authentication-required": true
"rpc-password": "Passwort als Plaintext",
"rpc-username": "username",
"rpc-whitelist-enabled": false,

Username und Passwort müssen keinem vorhandenem User auf dem System entsprechen. Will man den Webclient nur aus dem LAN verwenden, oder hat man einen Rechner der immer die selbe, feste, IP hat, kann man die RPC-Whitelist auch aktiviert lassen, und die betreffende(n) IP(s) in rpc-whitelist eintragen.

Webclient

Webinterface („Clutch“) mit sichtbarer Informationsspalte und drei Torrents

Wenn man den Daemon nun startet, und sich über die Serveradresse nebst dem Port (Standardmäßig 9091) mit dem Webinterface verbindet, erhält man eine HTTP-Auth-Anfrage, hier gibt man nun Benutzername und Kennwort ein, und befindet sich dann im Webinterface.

Über den Button „Open“ kann man Torrents hinzufügen, und zwar entweder über das Hochladen einer Torrent-Datei oder über die Angabe eines URLs einer Torrent-Datei.

Über einen Rechtsklick auf einen Torrenteintrag erhält man ein Kontextmenü. Mittels einfachem Klick wird der Eintrag ausgewählt. Man kann Über den Button „Inspector“ zudem eine Informationsspalte einblenden, über die man weitere Informationen über den ausgewählten Torrent erhält. (Zusammenfassung: erster Button, Up-/Download-Statistik: zweiter Button, Dateiliste: dritter Button)

Über den kleinen Button mit dem Zahnrad am unteren Ende des Webinterfaces hat man Zugriff auf allgemeine Optionen. Hier kann man sehr einfach die Optionen des Services bearbeiten.

Weitere Clients

Wie bereits angesprochen, gibt es für Transmission noch weitere Clients, neben den beiden bereits genannten Clients aus dem AUR gibt es sowohl auf der offiziellen Website (siehe Weblinks weitere Clients für den Mac und das Terminal, als auch von anderen Anbietern/Entwicklern Clients.

So besteht auch die Möglichkeit, unter Android OS per Remote auf den Daemon zugreifen zu können. Es existiert auch ein Python-Client, der Bindings für den Daemon mitbringt. Auch für Windows gibt es mittlerweile einen Client.

Siehe auch

  • Deluge – ein Bittorrent-Client auf PyGTK-Basis
  • rtGui – Webclient für rTorrent
  • Download – Archlinux-Torrents runterladen ;)

Weblinks