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:
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
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
Option | Beschreibung |
--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
Parameter | Beispiel | Beschreibung |
~ | /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
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
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.
Links¶
Internetseite 🇬🇧 , häufig gestellte Fragen 🇬🇧 und Anleitung 🇬🇧
Projektseite 🇬🇧 mit Fehlermanagement 🇬🇧 und Entwicklerblog 🇬🇧