Aller au contenu principal

Intégration domotique qBittorrent / Transmission, gratuite et open source

Intégration qBittorrent / Transmission pour Gladys Assistant

Suivez et pilotez qBittorrent, Transmission ou Deluge : débits, téléchargements, pause, bridage.

Suivez et pilotez depuis Gladys les clients torrent de votre serveur maison, sur votre réseau local : qBittorrent, Transmission et Deluge. Voyez les débits descendant et montant et les téléchargements en cours, bridez tout quand un film démarre sur la télé, mettez tout en pause, et soyez prévenu quand un téléchargement est terminé.

Testée sur les vrais logiciels, pas encore dans une vraie maison : vos retours sont les bienvenus. Cette intégration a été testée contre qBittorrent 4.6.3 et 5.2.4, Transmission 4.0.5 et Deluge 2.1 lancés à côté d'elle, avec des téléchargements entre eux, mais pas encore dans une vraie installation Gladys avec votre NAS, votre proxy inverse ou votre Docker. Si quelque chose ne marche pas comme décrit, dites-le sur le forum Gladys ou dans les issues.

L'intégration ne supprime jamais ni torrent ni fichier. Ses commandes sont la pause, la reprise et les limites de vitesse alternatives, toutes réversibles ; l'ajout de liens magnet est désactivé tant que vous ne l'autorisez pas.

Ce qu'il faut​

  • Gladys Assistant 5.1.0 ou plus récent.
  • Un à trois clients torrent joignables depuis Gladys, dans n'importe quel mélange :
    • qBittorrent 4.1 ou plus récent avec son interface web activée (Outils → Options → Interface web), ou qbittorrent-nox ;
    • Transmission (2.80 ou plus récent) avec l'accès à distance activé : le démon transmission-daemon, ou Préférences → Distant dans les versions de bureau ;
    • Deluge avec son interface web (deluge-web, port 8112), connectée à son démon.
  • Le nom d'utilisateur et le mot de passe de l'interface web (Deluge : le mot de passe seul, deluge tant que vous ne l'avez pas changé).

Sur Transmission, l'adresse de Gladys doit être autorisée : ajoutez-la à rpc-whitelist dans settings.json, ou désactivez la liste blanche (rpc-whitelist-enabled: false) en gardant un mot de passe. Dans les images Docker (linuxserver.io…), les variables USER, PASS et WHITELIST s'en chargent.

Mise en place​

  1. Installez l'intégration depuis le catalogue de Gladys.
  2. Dans Configuration, pour votre premier client, choisissez le Logiciel, saisissez son Adresse (par exemple 192.168.1.10:8080), le Nom d'utilisateur et le Mot de passe, et si vous voulez un Nom. Sans port, l'intégration prend celui du logiciel par défaut : 8080 pour qBittorrent, 9091 pour Transmission, 8112 pour Deluge. Deux ou trois clients ? Remplissez aussi les sections Deuxième client et Troisième client : un autre logiciel, ou une autre instance du même.
  3. Enregistrez, puis cliquez sur Tester la connexion : le message sous le bouton dit, pour chaque client, s'il répond, sa version et ses torrents.
  4. Ouvrez l'onglet Découverte : un appareil par client. Cliquez sur Ajouter, choisissez une pièce, enregistrez.

L'adresse peut porter un chemin quand le client est derrière un proxy inverse (https://nas.example.com/qbittorrent), ou être copiée depuis le navigateur (http://192.168.1.10:9091/transmission/web/ marche pour Transmission).

Options :

  • Accepter les certificats auto-signés : pour une adresse https:// dont le certificat n'est pas signé par une autorité (fréquent sur un NAS).
  • Intervalle de rafraîchissement : fréquence de lecture des clients, de 10 secondes à 2 minutes (30 secondes par défaut). C'est aussi le délai des déclencheurs.
  • Autoriser l'ajout de liens magnet : permet aux scènes d'ajouter un torrent (désactivé par défaut, voir l'action Ajouter un lien magnet).
  • Langue des textes des appareils : anglais, français, allemand ou espagnol, pour les noms des fonctionnalités (donnés à l'ajout d'un appareil) et la liste des téléchargements (français par défaut).

L'appareil de chaque client​

FonctionnalitéCe que c'est
Débit descendantVitesse de tous les téléchargements, en ko/s
Débit montantVitesse de tous les envois (partage), en ko/s
Torrents en coursTorrents ni finis ni en pause : en téléchargement, en file, bloqués, en contrôle
Torrents en pauseTorrents pas finis et en pause
Torrents terminésTorrents entièrement téléchargés, partagés ou non, en pause ou non
Téléchargements en coursTexte : les trois premiers téléchargements en cours avec leur pourcentage
Espace libreEspace libre du dossier de téléchargement, en Go
Limites de vitesse alternativesInterrupteur : les limites de vitesse alternatives du client (pas sur Deluge)
Client connecté1 tant que le client répond, 0 sinon

Les trois compteurs font ensemble le nombre total de torrents. Un torrent mis en pause une fois son ratio de partage atteint compte comme terminé, pas comme en pause.

Les limites de vitesse alternatives sont les limites plus lentes réglées dans le client lui-même : dans qBittorrent, Options → Vitesse → Limites de vitesse alternatives ; dans Transmission, le mode tortue (Préférences → Vitesse → Limites de vitesse alternatives). Deluge n'a pas ce mode : son appareil n'a pas d'interrupteur.

Dans la liste des téléchargements, ceux qui reçoivent des données viennent d'abord, les plus rapides en tête. Un pourcentage est arrondi par défaut : 99 % jusqu'à la fin.

Tableau de bord​

Le widget Torrents affiche les débits descendant et montant, le nombre de torrents en cours, les téléchargements en cours avec leur pourcentage et leur vitesse, et les nombres de torrents en pause et terminés. Il additionne tous les clients, ou montre celui choisi dans ses réglages. Trois boutons :

  • Tout en pause : met en pause tous les torrents ;
  • Tout reprendre : reprend tous les torrents ;
  • Vitesse alternative : active les limites de vitesse alternatives, ou les désactive quand elles sont actives (une coche l'indique). Absent pour Deluge seul.

Le widget fonctionne dès que l'intégration est configurée, avant même l'ajout des appareils.

Scènes​

Déclencheurs​

  • Téléchargement terminé : un torrent a fini de se télécharger. Un torrent ajouté avec ses fichiers déjà sur le disque (contrôlé, puis complet) ne compte pas, ni un torrent fini contrôlé de nouveau. Filtres : le client, et la catégorie (qBittorrent) ou l'étiquette (Transmission 4, Deluge avec le greffon Label). Variables : le nom du torrent, le nom du client, la catégorie et la taille en Go.
  • Nouveau torrent ajouté : un torrent a été ajouté au client, par n'importe qui (vous, Sonarr, Radarr, une extension de navigateur…). Un lien magnet est annoncé dès que son nom est connu. Mêmes filtres et variables.

Les torrents présents au démarrage de l'intégration ne sont pas annoncés : un torrent ajouté ou terminé pendant que l'intégration (ou Gladys) était arrêtée n'est pas annoncé. Quand un client ne répond plus, l'intégration garde ses torrents en mémoire : ce qui s'est terminé entre-temps est annoncé à son retour.

Actions​

  • Mettre tous les torrents en pause : sur un client, ou sur tous.
  • Reprendre tous les torrents : sur un client, ou sur tous.
  • Limites de vitesse alternatives : Activées ou Désactivées, sur un client ou sur tous ceux qui les ont (Deluge est ignoré). La sortie est le nombre de clients qui ont accepté.
  • Ajouter un lien magnet : ajoute un torrent par son lien magnet:?xt=urn:btih:…, sur le client choisi ou le premier de la configuration. Seulement si Autoriser l'ajout de liens magnet est coché : sinon, quiconque peut modifier une scène pourrait lancer un téléchargement. Seuls les liens magnet sont acceptés, jamais une adresse http que le client irait chercher. La sortie est l'empreinte (info hash).

Idées de scènes​

  • Un film démarre : quand la télé ou le lecteur multimédia lit, lancez Limites de vitesse alternatives → Activées ; à l'arrêt, Désactivées.
  • Visioconférence : depuis un événement du calendrier ou un bouton, Mettre tous les torrents en pause, puis Reprendre tous les torrents une heure plus tard.
  • Film prêt : sur Téléchargement terminé avec la catégorie films, envoyez le message « {{triggerEvent.data.name}} est prêt à regarder ».
  • Disque presque plein : quand l'Espace libre passe sous 20 Go, mettez tout en pause et envoyez un message.
  • Client en panne : quand Client connecté passe à 0 pendant 10 minutes, envoyez un message.

Rafraîchissement et charge​

L'intégration lit chaque client avec son propre minuteur (toutes les 30 secondes par défaut), pas par le planificateur de Gladys. Une lecture est légère : qBittorrent n'envoie que ce qui a changé depuis la lecture précédente, Transmission répond à quatre petits appels avec les seuls champs utiles, Deluge à un appel. Un client qui ne répond plus est relu 15 secondes plus tard. Une valeur qui ne change pas est quand même renvoyée à Gladys toutes les 6 heures.

Les API sont locales, sans quota. qBittorrent bannit toutefois l'adresse de Gladys après 5 échecs de connexion (une heure par défaut) : après un mot de passe refusé, l'intégration attend 5 minutes, puis 15, puis une heure, puis 6 heures avant de réessayer. Corriger le mot de passe dans la configuration, ou cliquer sur Tester la connexion, réessaie tout de suite.

Dépannage​

  • « ne répond pas » : vérifiez l'adresse et le port depuis la machine de Gladys (curl http://192.168.1.10:8080), et que le client écoute sur le réseau, pas seulement sur localhost.
  • « nom d'utilisateur ou mot de passe refusé » : vérifiez-les dans l'interface web du client. Sur Deluge, c'est le mot de passe de l'interface web, pas celui du démon.
  • « qBittorrent a banni l'adresse de Gladys » : trop d'échecs de connexion. Attendez la fin du bannissement (Options → Interface web → Bannir le client après échecs consécutifs), ou redémarrez qBittorrent, puis corrigez le mot de passe.
  • « pas dans la liste blanche RPC » (Transmission) : ajoutez l'adresse de Gladys à rpc-whitelist, voir Ce qu'il faut.
  • « aucun client de ce type à cette adresse » : le logiciel choisi ne correspond pas à l'adresse, ou un proxy inverse le sert sous un chemin que vous n'avez pas saisi.
  • « pas connectée à son démon » (Deluge) : ouvrez l'interface web, Gestionnaire de connexions, et connectez-la à son démon ; l'intégration la connecte ensuite elle-même au premier démon de la liste.
  • qBittorrent derrière un proxy inverse refuse la connexion : désactivez Activer la validation de l'en-tête Host ou ajoutez-y le nom (Options → Interface web), ou autorisez l'adresse de Gladys dans Ignorer l'authentification pour les clients des sous-réseaux autorisés et laissez le nom d'utilisateur et le mot de passe vides.
  • L'onglet Découverte n'affiche rien : aucun client n'est configuré, ou son adresse n'a pas été comprise (c'est dit dans l'écran Configuration).
  • Plus de détails : mettez la variable d'environnement LOG_LEVEL=debug sur le conteneur pour voir chaque lecture dans les logs de l'intégration. Mots de passe et cookies de session n'y sont jamais écrits.

Limites​

  • Trois clients au plus. Un appareil par client, pas par torrent.
  • Aucune suppression de torrent ni de fichier, par choix.
  • Deluge : pas de limites de vitesse alternatives (Deluge n'en a pas) ; le greffon Label est nécessaire pour le filtre de catégorie.
  • Transmission : la catégorie est la première étiquette (Transmission 4.0 et plus récent).
  • Les débits sont ceux du client entier, pas d'un torrent.
  • Les déclencheurs dépendent de l'intervalle de rafraîchissement : un torrent ajouté puis retiré entre deux lectures n'est pas vu.
  • Les noms des fonctionnalités sont fixés à l'ajout de l'appareil : changer la langue ensuite ne renomme rien dans Gladys.
  • Sans lien avec les projets qBittorrent, Transmission ou Deluge.

Paramètres de configuration​

Voici les paramètres demandés par qBittorrent / Transmission dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Vos clients torrentsectionNonqBittorrent (interface web activée), Transmission (accès à distance activé) ou Deluge (interface web, deluge-web). Jusqu'à trois clients, sur votre réseau. Ne supprime jamais ni torrent ni fichier.
LogicielselectNon
AdressestringOuiAdresse IP ou nom, avec :port. Sans port, celui par défaut : 8080, 9091 ou 8112. https:// pour le HTTPS.
Nom d'utilisateurstringNonqBittorrent et Transmission. Vide si le client n'en demande pas. Deluge : laissez vide.
Mot de passesecretNonMot de passe de l'interface web (Deluge : « deluge » tant qu'il n'a pas été changé). Vide si aucun.
NomstringNonNom de l'appareil dans Gladys. Vide : le logiciel suivi de l'adresse.
Deuxième client (facultatif)sectionNonLes mêmes champs, pour un autre client torrent : un autre logiciel ou une autre instance.
LogicielselectNon
AdressestringNonAdresse IP ou nom, avec :port. Sans port, celui par défaut : 8080, 9091 ou 8112. https:// pour le HTTPS.
Nom d'utilisateurstringNonqBittorrent et Transmission. Vide si le client n'en demande pas. Deluge : laissez vide.
Mot de passesecretNonMot de passe de l'interface web (Deluge : « deluge » tant qu'il n'a pas été changé). Vide si aucun.
NomstringNonNom de l'appareil dans Gladys. Vide : le logiciel suivi de l'adresse.
Troisième client (facultatif)sectionNonLes mêmes champs, pour un autre client torrent : un autre logiciel ou une autre instance.
LogicielselectNon
AdressestringNonAdresse IP ou nom, avec :port. Sans port, celui par défaut : 8080, 9091 ou 8112. https:// pour le HTTPS.
Nom d'utilisateurstringNonqBittorrent et Transmission. Vide si le client n'en demande pas. Deluge : laissez vide.
Mot de passesecretNonMot de passe de l'interface web (Deluge : « deluge » tant qu'il n'a pas été changé). Vide si aucun.
NomstringNonNom de l'appareil dans Gladys. Vide : le logiciel suivi de l'adresse.
OptionssectionNon
Accepter les certificats auto-signésbooleanNonPour un client servi en HTTPS avec son propre certificat (fréquent sur un NAS).
Intervalle de rafraîchissementselectNonFréquence de lecture des clients. C'est aussi le délai du déclencheur « Téléchargement terminé ».
Autoriser l'ajout de liens magnetbooleanNonPermet aux scènes d'ajouter un torrent par son lien magnet. Désactivé par défaut : quiconque peut modifier une scène pourrait lancer un téléchargement.
Langue des textes des appareilsselectNonNoms des fonctionnalités (fixés à l'ajout de l'appareil) et textes envoyés par l'intégration.

Comment installer qBittorrent / Transmission dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : qBittorrent / Transmission apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/guim31/gladys-torrent:1.0.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/guim31/gladys-torrent.

qBittorrent / Transmission nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.

Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.

À propos des intégrations externes​

qBittorrent / Transmission est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par guim31, et non par l'équipe cœur de Gladys.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂