qBittorrent / Transmission Smart-Home-Integration, kostenlos und Open Source

Verfolge und steuere qBittorrent, Transmission oder Deluge: Tempo, Downloads, Pause, Drosseln.
Verfolge und steuere die Torrent-Clients deines Heimservers von Gladys aus, in deinem lokalen Netzwerk: qBittorrent, Transmission und Deluge. Sieh die Download- und Upload-Geschwindigkeit und die laufenden Downloads, drossle alles, wenn ein Film auf dem Fernseher startet, pausiere alles, und lass dich benachrichtigen, wenn ein Download fertig ist.
Mit den echten Programmen getestet, aber noch nicht in einem echten Zuhause: Rückmeldungen willkommen. Diese Integration wurde gegen qBittorrent 4.6.3 und 5.2.4, Transmission 4.0.5 und Deluge 2.1 getestet, die daneben liefen, mit Downloads untereinander, aber noch nicht in einer echten Gladys-Installation mit deinem NAS, deinem Reverse-Proxy oder deinem Docker. Wenn etwas nicht wie beschrieben funktioniert, sag es bitte im Gladys-Forum oder in den Issues.
Die Integration löscht nie einen Torrent oder eine Datei. Die Befehle der Integration sind Pause, Fortsetzen und die alternativen Geschwindigkeitslimits, alle umkehrbar; das Hinzufügen von Magnet-Links ist aus, bis du es erlaubst.
Was du brauchst
- Gladys Assistant 5.1.0 oder neuer.
- Ein bis drei Torrent-Clients, die Gladys erreichen kann, beliebig gemischt:
- qBittorrent 4.1 oder neuer mit eingeschalteter Weboberfläche
(Extras → Optionen → Weboberfläche), oder
qbittorrent-nox; - Transmission (2.80 oder neuer) mit eingeschaltetem Fernzugriff:
der Daemon
transmission-daemon, oder Einstellungen → Fernsteuerung in den Desktop-Versionen; - Deluge mit seiner Weboberfläche (
deluge-web, Port 8112), mit seinem Daemon verbunden.
- qBittorrent 4.1 oder neuer mit eingeschalteter Weboberfläche
(Extras → Optionen → Weboberfläche), oder
- Benutzername und Passwort der Weboberfläche (Deluge: nur das Passwort,
deluge, solange du es nicht geändert hast).
Bei Transmission muss die Adresse von Gladys erlaubt sein: Trage sie in
rpc-whitelist in der settings.json ein, oder schalte die Whitelist aus
(rpc-whitelist-enabled: false) und behalte ein Passwort. In Docker-Images
(linuxserver.io…) erledigen das die Variablen USER, PASS und WHITELIST.
Einrichtung
- Installiere die Integration aus dem Gladys-Katalog.
- Wähle unter Konfiguration für deinen ersten Client die Software,
gib seine Adresse ein (zum Beispiel
192.168.1.10:8080), den Benutzernamen und das Passwort, und optional einen Namen. Ohne Port nimmt die Integration den Standard der Software: 8080 für qBittorrent, 9091 für Transmission, 8112 für Deluge. Zwei oder drei Clients? Fülle auch die Abschnitte Zweiter Client und Dritter Client aus: eine andere Software oder eine weitere Instanz derselben. - Speichere und klicke auf Verbindung testen: Die Meldung unter der Schaltfläche sagt für jeden Client, ob er antwortet, seine Version und seine Torrents.
- Öffne den Tab Entdecken: ein Gerät pro Client. Klicke auf Hinzufügen, wähle einen Raum, speichere.
Die Adresse kann einen Pfad enthalten, wenn der Client hinter einem
Reverse-Proxy läuft (https://nas.example.com/qbittorrent), oder aus dem
Browser kopiert sein (http://192.168.1.10:9091/transmission/web/ geht für
Transmission).
Optionen:
- Selbstsignierte Zertifikate akzeptieren: für eine
https://-Adresse, deren Zertifikat nicht von einer Zertifizierungsstelle signiert ist (häufig auf einem NAS). - Aktualisierungsintervall: wie oft die Clients gelesen werden, von 10 Sekunden bis 2 Minuten (standardmäßig 30 Sekunden). Es ist auch die Verzögerung der Auslöser.
- Magnet-Links erlauben: erlaubt Szenen, einen Torrent hinzuzufügen (standardmäßig aus, siehe die Aktion Magnet-Link hinzufügen).
- Sprache der Gerätetexte: Englisch, Französisch, Deutsch oder Spanisch, für die Namen der Funktionen (beim Hinzufügen eines Geräts vergeben) und die Liste der Downloads (standardmäßig Französisch).
Das Gerät jedes Clients
| Funktion | Was es ist |
|---|---|
| Download-Geschwindigkeit | Geschwindigkeit aller Downloads, in kB/s |
| Upload-Geschwindigkeit | Geschwindigkeit aller Uploads (Seeding), in kB/s |
| Laufende Torrents | Weder fertige noch pausierte Torrents: ladend, wartend, blockiert, geprüft |
| Pausierte Torrents | Nicht fertige, pausierte Torrents |
| Fertige Torrents | Vollständig geladene Torrents, ob im Seeding oder nicht, pausiert oder nicht |
| Aktuelle Downloads | Text: die ersten drei laufenden Downloads mit ihrem Prozentsatz |
| Freier Speicherplatz | Freier Platz im Download-Ordner, in GB |
| Alternative Geschwindigkeitslimits | Schalter: die alternativen Geschwindigkeitslimits des Clients (nicht bei Deluge) |
| Client verbunden | 1, solange der Client antwortet, sonst 0 |
Die drei Zähler ergeben zusammen die Gesamtzahl der Torrents. Ein Torrent, der nach Erreichen seines Verhältnisses pausiert wurde, zählt als fertig, nicht als pausiert.
Die alternativen Geschwindigkeitslimits sind die langsameren Limits, die du im Client selbst einstellst: in qBittorrent Optionen → Geschwindigkeit → Alternative Geschwindigkeitsbegrenzungen; in Transmission der Schildkrötenmodus (Einstellungen → Geschwindigkeit → Alternative Geschwindigkeitsbegrenzungen). Deluge hat diesen Modus nicht: Sein Gerät hat keinen Schalter.
In der Liste der Downloads stehen die, die gerade Daten empfangen, vorne, die schnellsten zuerst. Ein Prozentsatz wird abgerundet: 99 % bis zum Ende.
Dashboard
Das Widget Torrents zeigt die Download- und Upload-Geschwindigkeit, die Zahl der laufenden Torrents, die laufenden Downloads mit Prozentsatz und Geschwindigkeit sowie die Zahl der pausierten und fertigen Torrents. Es summiert alle Clients oder zeigt den in seinen Einstellungen gewählten. Drei Tasten:
- Alle pausieren: pausiert alle Torrents;
- Alle fortsetzen: setzt alle Torrents fort;
- Alternatives Tempo: schaltet die alternativen Geschwindigkeitslimits ein, oder aus, wenn sie an sind (ein Häkchen zeigt es). Fehlt, wenn nur Deluge angezeigt wird.
Das Widget funktioniert, sobald die Integration konfiguriert ist, schon vor dem Hinzufügen der Geräte.
Szenen
Auslöser
- Download abgeschlossen: Ein Torrent ist fertig heruntergeladen. Ein Torrent, der mit schon vorhandenen Dateien hinzugefügt wurde (geprüft, dann vollständig), zählt nicht, ebenso wenig ein fertiger Torrent, der erneut geprüft wird. Filter: der Client und die Kategorie (qBittorrent) bzw. das Label (Transmission 4, Deluge mit dem Label-Plugin). Variablen: der Name des Torrents, der Name des Clients, die Kategorie und die Größe in GB.
- Neuer Torrent hinzugefügt: Ein Torrent wurde dem Client hinzugefügt, von wem auch immer (du, Sonarr, Radarr, eine Browser-Erweiterung…). Ein Magnet-Link wird gemeldet, sobald sein Name bekannt ist. Gleiche Filter und Variablen.
Die Torrents, die beim Start der Integration da sind, werden nicht gemeldet: Ein Torrent, der hinzugefügt oder fertig wurde, während die Integration (oder Gladys) gestoppt war, wird nicht gemeldet. Antwortet ein Client nicht mehr, behält die Integration seine Torrents im Gedächtnis: Was inzwischen fertig wurde, wird gemeldet, sobald er wieder antwortet.
Aktionen
- Alle Torrents pausieren: auf einem Client oder auf allen.
- Alle Torrents fortsetzen: auf einem Client oder auf allen.
- Alternative Geschwindigkeitslimits: An oder Aus, auf einem Client oder auf allen, die sie haben (Deluge wird übersprungen). Die Ausgabe ist die Zahl der Clients, die angenommen haben.
- Magnet-Link hinzufügen: fügt einen Torrent über seinen Link
magnet:?xt=urn:btih:…hinzu, auf dem gewählten Client oder dem ersten der Konfiguration. Nur wenn Magnet-Links erlauben aktiviert ist: Sonst könnte jeder, der eine Szene bearbeiten kann, einen Download starten. Nur Magnet-Links werden angenommen, nie einehttp-Adresse, die der Client abrufen würde. Die Ausgabe ist der Info-Hash.
Szenen-Ideen
- Ein Film startet: Wenn der Fernseher oder der Mediaplayer abspielt, starte Alternative Geschwindigkeitslimits → An; beim Stoppen Aus.
- Videokonferenz: Von einem Kalendereintrag oder einer Taste aus Alle Torrents pausieren, dann eine Stunde später Alle Torrents fortsetzen.
- Film bereit: Bei Download abgeschlossen mit der Kategorie
filmedie Nachricht „{{triggerEvent.data.name}} ist bereit“ senden. - Platte fast voll: Wenn Freier Speicherplatz unter 20 GB fällt, alles pausieren und eine Nachricht senden.
- Client ausgefallen: Wenn Client verbunden 10 Minuten lang auf 0 steht, eine Nachricht senden.
Aktualisierung und Last
Die Integration liest jeden Client mit ihrem eigenen Timer (standardmäßig alle 30 Sekunden), nicht über den Gladys-Planer. Eine Lesung ist leicht: qBittorrent schickt nur, was sich seit der vorigen Lesung geändert hat, Transmission beantwortet vier kleine Aufrufe mit nur den nötigen Feldern, Deluge einen Aufruf. Ein Client, der nicht mehr antwortet, wird 15 Sekunden später erneut gelesen. Ein Wert, der sich nicht ändert, wird trotzdem alle 6 Stunden an Gladys gesendet.
Die APIs sind lokal, ohne Kontingent. qBittorrent sperrt jedoch die Adresse von Gladys nach 5 fehlgeschlagenen Anmeldungen (standardmäßig eine Stunde): Nach einem abgelehnten Passwort wartet die Integration 5 Minuten, dann 15, dann eine Stunde, dann 6 Stunden, bevor sie es erneut versucht. Das Passwort in der Konfiguration zu korrigieren oder auf Verbindung testen zu klicken, versucht es sofort erneut.
Fehlerbehebung
- „antwortet nicht“: Prüfe Adresse und Port vom Gladys-Rechner aus
(
curl http://192.168.1.10:8080) und dass der Client im Netzwerk lauscht, nicht nur auflocalhost. - „Benutzername oder Passwort abgelehnt“: Prüfe sie in der Weboberfläche des Clients. Bei Deluge ist es das Passwort der Weboberfläche, nicht das des Daemons.
- „qBittorrent hat die Adresse von Gladys gesperrt“: zu viele fehlgeschlagene Anmeldungen. Warte das Ende der Sperre ab (Optionen → Weboberfläche → Client nach aufeinanderfolgenden Fehlversuchen sperren) oder starte qBittorrent neu, dann korrigiere das Passwort.
- „nicht auf der RPC-Whitelist“ (Transmission): Trage die Adresse von
Gladys in
rpc-whitelistein, siehe Was du brauchst. - „kein solcher Client unter dieser Adresse“: Die gewählte Software passt nicht zur Adresse, oder ein Reverse-Proxy stellt sie unter einem Pfad bereit, den du nicht eingegeben hast.
- „nicht mit ihrem Daemon verbunden“ (Deluge): Öffne die Weboberfläche, den Verbindungsmanager, und verbinde sie mit ihrem Daemon; danach verbindet die Integration sie selbst mit dem ersten Daemon der Liste.
- qBittorrent hinter einem Reverse-Proxy lehnt die Anmeldung ab: Schalte Host-Header-Validierung aktivieren aus oder trage den Namen dort ein (Optionen → Weboberfläche), oder erlaube die Adresse von Gladys unter Authentifizierung für Clients in erlaubten IP-Subnetzen umgehen und lass Benutzername und Passwort leer.
- Der Tab Entdecken zeigt nichts: Kein Client ist konfiguriert, oder seine Adresse wurde nicht verstanden (das steht im Konfigurationsbildschirm).
- Mehr Details: Setze die Umgebungsvariable
LOG_LEVEL=debugam Container, um jede Lesung in den Protokollen der Integration zu sehen. Passwörter und Sitzungs-Cookies werden nie geschrieben.
Grenzen
- Höchstens drei Clients. Ein Gerät pro Client, nicht pro Torrent.
- Kein Löschen von Torrents oder Dateien, mit Absicht.
- Deluge: keine alternativen Geschwindigkeitslimits (Deluge selbst hat keine); für den Kategorie-Filter ist das Label-Plugin nötig.
- Transmission: Die Kategorie ist das erste Label (Transmission 4.0 und neuer).
- Die Geschwindigkeiten sind die des ganzen Clients, nicht eines Torrents.
- Die Auslöser hängen vom Aktualisierungsintervall ab: Ein Torrent, der zwischen zwei Lesungen hinzugefügt und wieder entfernt wird, wird nicht gesehen.
- Die Namen der Funktionen werden beim Hinzufügen des Geräts festgelegt: Eine spätere Änderung der Sprache benennt in Gladys nichts um.
- Nicht verbunden mit den Projekten qBittorrent, Transmission oder Deluge.
Konfigurationseinstellungen
Diese Einstellungen fragt qBittorrent / Transmission in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| Deine Torrent-Clients | section | Nein | qBittorrent (Weboberfläche an), Transmission (Fernzugriff an) oder Deluge (Weboberfläche, deluge-web). Bis zu drei Clients in deinem Netzwerk. Löscht nie einen Torrent oder eine Datei. |
| Software | select | Nein | |
| Adresse | string | Ja | IP-Adresse oder Name, mit :Port. Ohne Port der Standard: 8080, 9091 oder 8112. https:// für HTTPS. |
| Benutzername | string | Nein | qBittorrent und Transmission. Leer, wenn der Client keinen verlangt. Deluge: leer lassen. |
| Passwort | secret | Nein | Passwort der Weboberfläche (Deluge: „deluge“, solange nicht geändert). Leer, wenn keins. |
| Name | string | Nein | Name des Geräts in Gladys. Leer: die Software gefolgt von der Adresse. |
| Zweiter Client (optional) | section | Nein | Dieselben Felder, für einen weiteren Torrent-Client: andere Software oder andere Instanz. |
| Software | select | Nein | |
| Adresse | string | Nein | IP-Adresse oder Name, mit :Port. Ohne Port der Standard: 8080, 9091 oder 8112. https:// für HTTPS. |
| Benutzername | string | Nein | qBittorrent und Transmission. Leer, wenn der Client keinen verlangt. Deluge: leer lassen. |
| Passwort | secret | Nein | Passwort der Weboberfläche (Deluge: „deluge“, solange nicht geändert). Leer, wenn keins. |
| Name | string | Nein | Name des Geräts in Gladys. Leer: die Software gefolgt von der Adresse. |
| Dritter Client (optional) | section | Nein | Dieselben Felder, für einen weiteren Torrent-Client: andere Software oder andere Instanz. |
| Software | select | Nein | |
| Adresse | string | Nein | IP-Adresse oder Name, mit :Port. Ohne Port der Standard: 8080, 9091 oder 8112. https:// für HTTPS. |
| Benutzername | string | Nein | qBittorrent und Transmission. Leer, wenn der Client keinen verlangt. Deluge: leer lassen. |
| Passwort | secret | Nein | Passwort der Weboberfläche (Deluge: „deluge“, solange nicht geändert). Leer, wenn keins. |
| Name | string | Nein | Name des Geräts in Gladys. Leer: die Software gefolgt von der Adresse. |
| Optionen | section | Nein | |
| Selbstsignierte Zertifikate akzeptieren | boolean | Nein | Für einen Client, der über HTTPS mit eigenem Zertifikat läuft (häufig auf einem NAS). |
| Aktualisierungsintervall | select | Nein | Wie oft die Clients gelesen werden. Auch die Verzögerung des Auslösers „Download abgeschlossen“. |
| Magnet-Links erlauben | boolean | Nein | Erlaubt Szenen, einen Torrent per Magnet-Link hinzuzufügen. Standardmäßig aus: Wer eine Szene bearbeiten kann, könnte sonst einen Download starten. |
| Sprache der Gerätetexte | select | Nein | Namen der Funktionen (beim Hinzufügen des Geräts festgelegt) und Texte der Integration. |
So installierst du qBittorrent / Transmission in Gladys
- Öffne in Gladys Integrationen: qBittorrent / Transmission erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/guim31/gladys-torrent:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-torrent.
qBittorrent / Transmission benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.
Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.
Über externe Integrationen
qBittorrent / Transmission ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.
- Alle Integrationen durchsuchen, native und aus der Community
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation