ubuntuusers.de

BTG

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Hinweis:

Das Webinterface benötigt einen installierten und eingerichteten Apache oder lighttpd Webserver mit PHP Unterstützung.

BTG 🇬🇧 stand ehemals für BitTorrent GUI, ist aber mittlerweile ein BitTorrent Client Daemon (Systemdienst), der im Hintergrund läuft und zu dem sich grafische Oberflächen verbinden können. Das Prinzip ist mit dem Music Player Daemon vergleichbar. Zur Auswahl stehen zwei textbasierte, eine grafische GTK-Oberfläche und eine Weboberfläche.

Installation

Herunterladen

Unter Builds and Releases 🇬🇧 wählt man eine gewünschte BTG Dateiversion und die zugehörige Rasterbar libtorrent Bibliothek, lädt sie herunter und entpackt [1] sie.

Abhängigkeiten

Die Rasterbar libtorrent Bibliothek hat zahlreiche eigene Abhängigkeiten und wird auch noch von anderen Programmen benutzt, daher ist deren Installation auf einer eigenen Wiki Seite beschrieben. Wichtig ist, dass diese vor BTG kompiliert und installiert wird!

Folgende Pakete müssen zum Kompilieren von BTG installiert [2] werden:

  • libboost-thread-dev (universe, [3])

  • libboost-filesystem-dev (universe)

  • libboost-date-time-dev (universe)

  • libboost-iostreams-dev (universe)

  • libboost-program-options-dev (universe)

  • dialog (universe)

  • autoconf

  • automake

  • libtool

  • pkg-config

  • libgnutls-dev

  • libgtkmm-dev (universe)

  • libgtkmm-2.4-dev (universe)

  • libncurses5-dev

Paketliste zum Kopieren:

sudo apt-get install libboost-thread-dev libboost-filesystem-dev libboost-date-time-dev libboost-iostreams-dev libboost-program-options-dev dialog autoconf automake libtool pkg-config libgnutls-dev libgtkmm-dev libgtkmm-2.4-dev libncurses5-dev 

Kompilieren

Eine Besonderheit ist die Möglichkeit die Installation vor dem Kompilieren [4] mit Parametern nach den eigenen Bedürfnissen anzupassen.

  • Beispiel:

./configure --enable-gui --enable-cli --enable-www --enable-session-saving --enable-event-callback --enable-command-list 
OptionBeschreibung
--enable-gui den GTK Clients einbauen
--enable-cli die Textoberfläche einbauen
--enable-www den webbasierten Client einbauen
--enable-debug Debug-Informationen einkompilieren (hilfreich bei Fehlermeldungen)
--enable-unittest Unittests erstellen (für Entwickler)
--enable-session-saving Speichern der letzten Sitzung (daemon).
--enable-event-callback Ausführen von Skripten bei bestimmten Ereignissen (daemon)
--enable-upnp UPnP-Unterstützung (daemon) benötigt CyberLink 🇬🇧 UPnP Bibliothek.
--enable-command-list Kommandoliste generien (interne Option).

Das eigentliche Kompilieren [4] und Installieren läuft ansonsten nicht weiter ungewöhnlich ab.

Konfiguration

Benutzer

BTG ist mehrbenutzerfähig, daher müssen zunächst Benutzer eingerichtet und eine entsprechende Ordnerstruktur erstellt werden:

Hinweis:

Die Ordner müssen vor der Benutzereinrichtung erstellt werden, ansonsten erhält man eine Fehlermeldung.

btgpasswd --create -a -t "~/.btg/users/max/torrents" -w "~/.btg/users/max/work" -d "~/.btg/users/max/finished" -s "~/.btg/users/max/seeding" -p -u max 
ParameterBeispielBeschreibung
~ /home/mustermann ~ ist das UNIX-Symbol für das Homeverzeichnis
-a max ein neuer BTG-Benutzer wird hinzugefügt (engl. add)
-t ~/.btg/users/max/torrents hier werden die .torrent Dateien temporär gespeichert
-w ~/.btg/users/max/work das Arbeitsverzeichnis work für laufende Downloads
-d ~/.btg/users/max/finished für "destination", also beendete Downloads, die nicht mehr hochgeladen werden
-s ~/.btg/users/max/seeding für "seeding", sprich abgeschlossene Downloads, die noch hochgeladen werden um eine ausgewogene Ratio (Verhältnis Up-/Download) zu erreichen

Client

Die folgende Datei konfiguriert die Clientprogramme. Es wird empfohlen sie weiter unten herunterzuladen, anzupassen [5] und dann nach ~/.btg/client.ini zu kopieren.

[transport]
default=xml-rpc

[network]
daemon-address=127.0.0.1:16000

[logging]
type=file
filename=~/.btg/client.log

inline:client.ini

  • Benutzt das XML-RPC Protokoll.

  • Die Clients verbinden sich an den lokalen Rechner über Port 16000

  • Eine Protokolldatei wird angelegt und geführt.

Daemon

Die folgende Datei konfiguriert den Daemon. Es wird empfohlen sie weiter unten herunterzuladen, anzupassen [5] und dann nach ~/.btg/daemon.ini zu kopieren.

[auth]
passwd-file=~/.btg/passwd

[transport]
default=xml-rpc

[network]
listen-to=0.0.0.0:16000
torrent-range=10024:10025

[logging]
type=file
filename=~/.btg/daemon.log

[misc]
banfile=~/.btg/bans

[savesessions]
enable=true
filename=~/.btg/daemon.saved
timeout=60

[limit]
upload_rate_limit = 61440
download_rate_limit= -1
max_uploads = -1
max_connections = -1

inline:daemon.ini

  • Pfad für die auth Datei, in der die Benutzerdaten stehen, wird angegeben.

  • Benutzt unverschlüsselten XML-RPC für die Verbindung von Backend und Frontends.

  • Eine Protokolldatei wird angelegt und geführt.

  • Über den Port 16000 kommuniziert der Daemon mit seinen Oberflächen.

  • Port 10024-10025 werden für libtorrent verwendet. Mit DHT werden zwei Ports verwendet, sonst einer. Es müssen entsprechende Regeln in einer Firewall oder einem Proxy-Server definiert werden, die Kommunikation mit anderen Teilnehmern erlauben.

  • Geschwindigkeitslimits für Hochladen, Runterladen (in Bytes / Sekunde), maximale Verbindungen / Uploadslots.

Benutzung

Sitzungen

Die Benutzung unterscheidet sich nicht groß von anderen BitTorrent Clients. Eine kleine Besonderheit ist die Sitzungsverwaltung. Informationen über Torrents innerhalb einer Sitzung bleiben auch bei einem Neustart des Rechners erhalten. Man wählt also zunächst, ob man eine neue Sitzung erstellen möchte oder sich einer bereits existierenden Sitzung anschließen möchte. Sitzungen gruppieren die Downloads und werden durchnummeriert.

Daemon

Der Start des Daemons lässt sich mit folgendem Befehl im Terminal [6] testen:

btgdaemon -n -v 

Der Parameter -n verhindert, dass der Daemon in den Hintergrund tritt und -v (Verbose) zeigt weitere Statusinformationen. Läuft die Verbindung mit dem den Oberflächen und den übrigen Torrents zufriedenstellend, so kann man btgdaemon ohne Parameter beim Hochfahren des Systems automatisch starten [7] lassen.

Clients

Webinterface

Zunächst sollte man einen symbolischen Link erstellen um wwwBTG über den Webserver zu erreichen:

ln -s /usr/local/share/wwwbtg/htdocs /var/www/btg 

Danach einfach das Webinterface über http://localhost/btg aufrufen oder für Fernzugriff localhost gegen die jeweilige IP-Addresse ersetzen.

Textoberfläche

btgncli 

Startet einen Client mit Textoberfläche und Menüführung per Tastatur in einem Terminalfenster [6].

Achtung!

In der Textoberfläche bedeutet quit = Sitzung beenden (alle Torrents werden abgebrochen). Stattdessen zum Abmelden den Befehl detach = Oberfläche von Sitzung ablösen (Torrents laufen in der Sitzung weiter) verwenden.

Kommandozeile

btgcli -A 

Dies startet einen simplen Kommandozeilen Client. Der Parameter -A (für attach) sorgt dafür, dass zur ersten verfügbaren Sitzung verbunden wird. Ohne Parameter wird eine neue Sitzung erstellt.


Diese Revision wurde am 14. Februar 2020 17:05 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Internet, Filesharing