Archiv

Artikel Tagged ‘Web-Oberfläche’

BitTorrent-Client Transmission über Web-Oberfläche fernsteuern (Debian Lenny)

18. Juli 2010 pluvo 1 Kommentar

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:

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:

  1. 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
  2. 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:

  1. debian-505-amd64-netinst.iso.torrent
  2. debian-505-i386-netinst.iso.torrent

Viel Spaß mit Transmission! :)