Einleitung
Transmission ist ein BitTorrent-Client für Linux und Mac OS X. Es folgt eine kleine Anleitung, wie man diesen BitTorrent-Client als Server-Dienst einrichtet und über eine Web-Oberfläche steuern kann. Als Betriebssystem für Transmission dient in dieser Anleitung Debian GNU/Linux 5.0.5 (Lenny). Transmission läuft aber genauso gut unter einem Ubuntu.
So wird das Ganze am Ende aussehen:
-
-
Transmission Web-Oberfläche ohne Downloads
-
-
Transmission Web-Oberfläche mit Downloads
-
-
Transmission Web-Oberfläche mit fertigen Downloads
-
-
Transmission Web-Oberfläche auf einen iPod Touch oder iPhone ohne Downloads
-
-
Transmission Web-Oberfläche auf einen iPod Touch oder iPhone mit Downloads
-
-
Transmission Web-Oberfläche auf einen iPod Touch oder iPhone mit fertigen Downloads
Mit dieser kleinen Web-Oberfläche kann man seine Torrents ganz einfach verwalten. Ich werde nicht erklären, wie man den TCP-Port (51413) für BitTorrent weiterleitet. Das solltet ihr schon alleine schaffen
Hinweis zu Debian Lenny
Unter Debian Lenny benötigen wir das Paket transmission-daemon aus den Debian Backports.
Exkurs: Debian Backports einrichten
Wir müssen die sources.list editieren:
nano /etc/apt/sources.list
Hinzufügen:
deb http://www.backports.org/debian lenny-backports main contrib non-free
Nun müssen wir noch sicherstellen, dass die Transmission-Pakete aus den Debian Backports genutzt werden:
nano /etc/apt/preferences
Inhalt:
Package: *
Pin: release a=lenny-backports
Pin-Priority: 200
Package: transmission-cli
Pin: release a=lenny-backports
Pin-Priority: 999
Package: transmission-common
Pin: release a=lenny-backports
Pin-Priority: 999
Wer die grafische Version von Transmission installiert hat, sollte das auch noch dazu packen:
Package: transmission-gtk
Pin: release a=lenny-backports
Pin-Priority: 999
(Die Einträge für transmission-daemon und libevent-1.4-2 kann man sich sparen, weil es keine Pakete mit diesem Namen in Lenny gibt. Die sind nur in den Backports verfügbar.)
aptitude update
Diese Warnung kommt als nächstes:
W: GPG error: http://www.backports.org lenny-backports Release: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY EA8E8B2116BA136C
Das ist nicht weiter schlimm, wir müssen uns nur den öffentlichen Schlüssel besorgen. Der befindet sich im Debian-Paket debian-backports-keyring. Dieses werden wir installieren:
aptitude install debian-backports-keyring
Und wieder eine Warnung
WARNUNG: nichtvertrauenswürdige Versionen der folgenden Pakete werden installiert!
Nichtvertrauenswürdige Pakete können die Sicherheit Ihres Systems gefährden.
Sie sollten nur dann mit der Installation fortfahren, wenn Sie sicher sind, dass
Sie dies wirklich wollen.
debian-backports-keyring
Wollen Sie diese Warnung ignorieren und trotzdem weitermachen?
Geben Sie zum Weitermachen »Ja«, zum Abbrechen »Nein« ein:
Na klar wollen wir weitermachen: Ja eintippen und mit ENTER bestätigen.
System aktualisieren:
aptitude update && aptitude full-upgrade
Die Debian Backports sind jetzt fertig eingerichtet.
Installation von Transmission
Als nächstes installieren wir den Server-Dienst für Transmission. Das passende Debian-Paket heißt transmission-daemon:
aptitude install transmission-daemon
Direkt nach der Installation kann man lokal auf Transmission zugreifen:
Den Benutzernamen und das zugehörige Passwort kann man auch sofort in der URL unterbringen:
Da wir aber Transmission von außerhalb steuern möchten, müssen wir die Konfiguration anpassen.
Meine Netzkonfiguration:
- Anubis: 192.168.178.10 (Auf diesem Rechner läuft Transmission)
- Osiris: 192.168.178.15 (Von diesem Rechner wollen wir auf Transmission zugreifen)
Konfiguration
Der Dienst muss vor dem Editieren der Konfiguration gestoppt werden:
/etc/init.d/transmission-daemon stop
Die Begründung steht in der Datei /etc/transmission-daemon/README.json:
Currently transmission overwrites the settings.json configuration file
on exit. This means any changes made manually to the file while
transmission’s running will be silently ignored.
This is a know problem being currently worked on and it’s reported here:
http://bugs.debian.org/539936
Konfiguration editieren:
nano /etc/transmission-daemon/settings.json
Damit wir über einen anderen PC auf die Web-Oberfläche zugreifen können, müssen wir dessen IP-Adresse in die “rpc-whitelist” eintragen.
Original (Ausschnitt):
"rpc-whitelist": "127.0.0.1",
Meine Änderung (Ausschnitt):
"rpc-whitelist": "127.0.0.1,192.168.178.15",
Das war es schon. Abspeichern und die Datei schließen. Danach kann man den Dienst wieder starten:
/etc/init.d/transmission-daemon start
Nun kann man von dem Rechner Osiris mit der IP-Adresse 192.168.178.15 auf das Web-Interface von Transmission zugreifen:
Tipp: Wenn das ganze Netzwerk Zugriff haben soll:
"rpc-whitelist": "127.0.0.1,192.168.178.*",
Weitere interessante Konfigurationsmöglichkeiten:
-
Download-Verzeichnis ändern:
"download-dir": "\/srv\/transmission",
Das Verzeichnis muss natürlich auch vorher angelegt werden:
mkdir /srv/transmission
chown -R debian-transmission:debian-transmission /srv/transmission
chmod 775 /srv/transmission
-
BitTorrent-Port anpassen:
"peer-port": 55555,
-
Die Upload-Geschwindigkeit auf 50 KB/s begrenzen:
"speed-limit-up": 50,
Und das muss noch aktiviert werden:
"speed-limit-up-enabled": true,
-
Dateirechte für die Downloads anpassen:
-
Die Dezimalzahl “18″ entspricht der Oktalzahl “22″. Damit hat die Datei folgende Zugriffsrechte: “-rw-r–r–”.
"umask": 18,
-
Die Dezimalzahl “2″ entspricht der Oktalzahl “2″. Damit hat die Datei folgende Zugriffsrechte: “-rw-rw-r–”.
"umask": 2,
-
Die Dezimalzahl “0″ entspricht der Oktalzahl “0″. Damit hat die Datei folgende Zugriffsrechte: “-rw-rw-rw-”.
"umask": 0,
-
Benutzername für die Web-Oberfläche ändern:
"rpc-username": "pluvo",
-
Passwort für die Web-Oberfläche ändern:
"rpc-password": "geheim",
Sobald Transmission das nächste Mal die settings.json neu schreibt wird das Passwort durch einen Hash ersetzt.
-
Nur BitTorrent-Peers mit Verschlüsselung berücksichtigen:
"encryption": 2,
Immer dran denken: Vor dem Editieren der Konfiguration muss der Dienst transmission-daemon beendet werden! Einige Konfigurationseinstellungen lassen sich aber auch bequem über die Web-Oberfläche vornehmen.
Weitere Informationen zum Download-Verzeichnis
Die Downloads von Transmission werden unter dem Verzeichnis /var/lib/transmission-daemon/downloads/ gespeichert. Die Downloads gehören dem Benutzer debian-transmission. Dieser Benutzer wurde bei der Installation des Debian-Paketes transmission-daemon angelegt und mit diesem läuft auch der Dienst transmission-daemon. Die Downloads lassen sich bequem per Web-Oberfläche hinzufügen und auch wieder entfernen.
Die übrigen Benutzer auf dem Rechner können lesend auf das Verzeichnis /var/lib/transmission-daemon/downloads/ zugreifen. Man könnte dieses Verzeichnis zum Beispiel im Netzwerk freigeben. (SAMBA, NFS, FTP, HTTP, …)
Wer mit seinem normalen Benutzer auf dieses Verzeichnis zugreifen will, um Dateien zu löschen muss zwei Dinge beachten:
-
Der Benutzer muss Mitglied der Gruppe debian-transmission sein. So fügt man den Benutzer pluvo zur Gruppe debian-transmission hinzu:
adduser pluvo debian-transmission
-
Der Download-Ordner muss die Zugriffsrechte 775 besitzen:
chmod 775 /var/lib/transmission-daemon/downloads/
Bei dem Default-Ordner /var/lib/transmission-daemon/downloads/ sind schon die richtigen Rechte gesetzt.
(Es gibt zwar auch eine Möglichkeit ohne Gruppenzugehörigkeit, aber diese Methode finde ich besser. Sonst kann jeder Benutzer dort schreiben und löschen.)
Schluss
Hier sind noch zwei Torrents:
- debian-505-amd64-netinst.iso.torrent
- debian-505-i386-netinst.iso.torrent
Viel Spaß mit Transmission!