Vue lecture

Streaming à la carte sans stockage local : Decypharr, débrideurs et torrenting

Je continue mon tour d’horizon des solutions de streaming à la carte, légales ou non selon les pays, et qui permet de se créer et maintenir une bibliothèque multimédia sans stockage local.

Je n’aborderai pas publiquement les solutions de streaming depuis des .nzb directement.

Sur le même principe que Stremio, Vortex, ou RDT-Client/Zurg, ou encore DebridMediaManager, on peut utiliser Decypharr pour simuler un client BitTorrent (qBittorrent) et streaming le contenu de .torrent depuis des débrideurs, dont TorBox.

Je vais détailler ici l’installation manuelle de Decypharr, Prowlarr et Radarr/Sonarr/Plex mais tout est notamment inclus dans le script SSDv2 (avec une grosse et belle nouveauté à venir).

J’en profite pour remercier Laster13 et Teal-C pour leurs réponses à mes questions.

La dernière mouture de Decypharr embarque rClone et sa configuration sera automatisée. Mes tests sont réalisés avec Prowlarr et des indexeurs FR publics dont YGG via « api.eu », le débrideur AllDebrid ; et je ne « tape » que dans le contenu en cache chez AD (donc aucun téléchargement).
Verdict : RàS pour les films, quelques saisons de séries manquantes uniquement dans le cache, OK avec le téléchargement.

Le plus important est de bien comprendre que si on demande aux *arrs d’organiser les bibliothèques dans /mnt/Bibliothèques, ils ne vont y mettre que des symlinks vers le montage rClone d’AllDebrid (/mnt/decypharr).
Les *arrs, pour traiter les fichiers, tout comme Plex (ou autre) pour leur lecture, doivent avoir accès à ce montage rClone.
C’est pourquoi il est impératif de monter ce dossier en volume pour chaque Docker devant y avoir accès.

Arborescence du test :

aerya@StreamBox:/$ tree -L 2 /mnt/
/mnt/
├── Bibliothèques
│   ├── Films
│   └── Séries
├── Data
│   ├── lost+found
│   ├── quotaless
│   └── rCloneCache
└── decypharr
    ├── alldebrid
    └── qbit
        ├── radarr
        └── sonarr

Bibliothèques : dossier racine pour les *arrs
Data/rCloneCache : j’avais déjà le dossier pour autre chose, j’utilise le même

decypharr/alldebrid : montage de mon compte AD
decypharr/qbit : dossier de téléchargement (simulé) des fichiers. Les sous-dossiers radarr/sonarr seront ajoutés automatiquement lors de la configuration de Decypharr (tags)

Il faut installer et lancer Decypharr avant le reste vu que tout dépend ensuite du montage du débrideur et des symlinks. Idem s’il faut relancer le Docker Decypharr, il faut relancer les autres ensuite.

services:
  decypharr:
    image: cy01/blackhole:latest
    container_name: decypharr
    restart: always
    cap_add:
      - SYS_ADMIN
    security_opt:
      - apparmor:unconfined
    ports:
      - 8282:8282
    volumes:
      - /mnt:/mnt:rshared
      - /mnt/decypharr/qbit:/mnt/decypharr/qbit
      - /home/aerya/docker/decypharr/configs/:/app
    environment:
      - TZ=Europe/Paris
      - PUID=0
      - PGID=0
    devices:
      - /dev/fuse:/dev/fuse:rwm
    labels:
      - com.centurylinklabs.watchtower.enable=true

/mnt/decypharr/qbit devant être commun aux *arrs et Plex, on y montera /mnt:/mnt dans chaque ainsi que /mnt/decypharr/qbit:/mnt/decypharr/qbit dans les *arrs qui sauront directement où aller chercher les fichiers à traiter.

La configuration n’est pas vraiment expliquée dans la doc, la mienne n’est peut-être pas optimale mais fonctionne.

Je n’ai rien modifié dans l’onglet général. J’ai testé les notifications Discord (attention on voit la passkey des trackers utilisés) mais y’a vraiment pas d’intérêt si on ne fait qu’utilise le cache du débrideur (pas de téléchargement).

decypharr1

Pour la partie débrideur, on fait notre choix, on colle une clé API (ou plusieurs) et j’ai configuré le montage dans

/mnt/decypharr/alldebrid/__all__


On peut ajouter plusieurs débrideurs. On pourra les attribuer à un *arr lié à Decypharr et même les sélectionner lors de l’ajout manuel d’un .torrent

J’utilise le WebDav et je NE COCHE PAS la case Download Uncached pour qu’il ne télécharge aucun fichier (sur AD) mais n’utilise que son cache.
Je fais ça parce que je voulais tester le cache d’AD et ne voulais pas télécharger des fichiers sans les partager. On peut tout à fait faire les 2 mais attention, il n’y aura pas de seed (donc ratio 0). A ne pas faire chez les Tier 1 sous peine de voir son compte banni !
Certains ont créé des scripts qui captent les .torrent utilisés pour les mettre en seed depuis un client local ou sur un serveur. Dans ce cas, Decypharr est utilisable sans crainte sur les trackers privés.

decypharr2

Configuration du client qBittorrent émulé. Je met le chemin qui correspond au volume local dont je parlais au début

/mnt/decypharr/qbit
decypharr3

On peut ajouter les *arrs soit depuis Decypharr soit depuis les *arrs eux-mêmes. Je n’ai qu’AD en débrideur j’ai donc laissé la sélection auto mais on peut choisir.
Par exemple Radarr sur AD et Sonarr sur RD ou Sonarr4K sur TB etc. Selon les goût de chacun. Ce qui est certain, c’est que le cache de contenu MULTi/FRENCH est évidemment plus important sur AD et RD que sur TB, principalement utilisé par les anglophones pour Stremio.

decypharr4

Le Repair est le contrôle et la réparation des symlinks. Qui peuvent être cassés si le contenu lié est effacé du débrideur. Dans ce cas, selon la config, ça peut soit rechercher sur le débrideur (si le fichier a été renommé, vu que ça fonctionne avec le hash et non le nom) soit ça ira chercher un autre .torrent via les *arrs.
Pour l’instant je laisse l’option par défaut à savoir « per torrent » mais il est peut-être préférable d’utiliser « per file ». Dans le cas d’un .torrent de saison complètement, que ça ne recherche que l’épisode manquant (du cache) plutôt que de tout relancer.
Je l’ai mis en autotmatique, toutes les 24h.

decypharr5


Et enfin la partie rClone. Le monte globalement dans /mnt/decypharr et souhaite utiliser un cache (100Go) dans un dossier (et disque) qui me sert déjà à ça : /mnt/Data/rCloneCache
On peut sans doute améliorer cette configuration mais Plex lit un fichier de 94Go sans broncher…


decypharr6

Avec le mode de téléchargement activé, voici le rendu. PausedUP signifie que le .torrent est complété (et de fait plus en seed).

decypharr7

Je ne montre que l’exemple de configuration de Radarr. Pour Sonarr c’est la même logique. Chez moi c’est derrière un VPN pour des interrogations de sources hors Prowlarr et NZBHydra, il n’y a donc pas de port de publié.
Je retire tous les volumes par défaut pour ne monter que /mnt/decypharr/qbit:/mnt/decypharr/qbit et /mnt:/mnt

services:
  radarr:
    container_name: radarr
    restart: always
    network_mode: container:gluetun-mullvad
    environment:
      - TZ=Europe/Paris
      - PUID=0
      - PGID=0
    volumes:
      - /home/aerya/docker/radarr:/config
      - /mnt/decypharr/qbit:/mnt/decypharr/qbit
      - /mnt:/mnt
    labels:
      - com.centurylinklabs.watchtower.enable=true
    image: linuxserver/radarr:nightly

Configuration du dossier racine : /mnt/Bibliothèques/Films

radarr1

Configuration du client de téléchargement si on n’a pas ajouté Radarr depuis Decypharr. Il faut sélectionner qBittorrent

radarr2

Et dans l’adresse il faut mettre l’URL (ou l’IP) de Decypharr et le port (et SSL si vous utilisez une URL et un reverse proxy).
Le nom d’utilisateur et le mot de passe sont l’URL de Radarr et sa clé API.
La catégorie : radarr (et donc sonarr pour Sonarr ofc!)

Ne surtout pas cocher la case Sequential Order (sinon ça DL localement)

radarr3

Et comme le même chemin/volume est monté dans chaque Docker, il n’y a aucun Remote Path Mapping à mettre

radarr4

Lors de l’ajout d’un film, la complétion est quasi instantanée pour peu que le fichier cherché soit déjà dans le cache d’AllDebrid. Si vous activez le téléchargement des fichiers non encore en cache, ça peut prendre quelques minutes.


radarr5

En regardant de plus près, on voit bien que c’est un symlink vers le cache d’AllDebrid

aerya@StreamBox:/mnt/Bibliothèques/Films$ ls -l Alien\ -\ Romulus\ \(2024\)/
total 4
lrwxrwxrwx 1 root root 208 Aug 25 18:55 Alien.Romulus.2024.MULTi.VFF.2160p.UHD.BluRay.REMUX.DV.HDR.HEVC.TrueHD.7.1.Atmos-ONLY.mkv -> /mnt/decypharr/alldebrid/__all__/Alien.Romulus.2024.MULTi.VFF.2160p.UHD.BluRay.REMUX.DV.HDR.HEVC.TrueHD.7.1.Atmos-ONLY/Alien.Romulus.2024.MULTi.VFF.2160p.UHD.BluRay.REMUX.DV.HDR.HEVC.TrueHD.7.1.Atmos-ONLY.mkv
ncdu 1.19 ~ Use the arrow keys to navigate, press ? for help
--- /mnt/Bibliothèques/Films/Alien - Romulus (2024)- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@   4.0 KiB [###################################################]  Alien.Romulus.2024.MULTi.VFF.2160p.UHD.BluRay.REMUX.DV.HDR.HEVC.TrueHD.7.1.Atmos-ONLY.mkv


Plus globalement, tous les fichiers sont bien chez AllDebrid, monté via WebDav/rClone et je n’ai localement que des symlinks qui ne prennent aucune place.
En théorie, on pourrait se faire cette installation sur une Carte MicroSD de quelques Go 🙂

ncdu 1.19 ~ Use the arrow keys to navigate, press ? for help
--- /mnt ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   15.9 TiB [###################################################] /decypharr
    4.0 MiB [                                                   ] /Bibliothèques

Pour terminer, la configuration de Plex. Toujours avec /mnt:/mnt de monté pour garantir l’accès aux symlinks.

services:
  pms-docker:
    container_name: plex
    restart: always
    ports:
      - 32400:32400/tcp
      - 33401:33401/tcp
      - 3005:3005/tcp
      - 8324:8324/tcp
      - 32469:32469/tcp
      - 1900:1900/udp
      - 32410:32410/udp
      - 32412:32412/udp
      - 32413:32413/udp
      - 32414:32414/udp
    environment:
      - PLEX_UID=0
      - PLEX_GID=0
      - TZ=Europe/Paris
      - PLEX_CLAIM=claim-xxx
      - ADVERTISE_IP=http://192.168.0.163:32400/
    hostname: plex.xxx.xxx
    volumes:
      - /home/aerya/docker/plex:/config
      - /mnt:/mnt
      - type: tmpfs
        target: /transcode
        tmpfs:
          size: 4g
    labels:
      - com.centurylinklabs.watchtower.enable=true
    image: plexinc/pms-docker:latest
plex1
plex2

Loading

  •  

TorBox.app, débrideur & seedbox BitTorrent et Usenet qui monte (Stremio, Kodi, Infuse, Plex, Jellyfin, VLC/MPV…)

Je connaissais torbox.ch et quand j’ai vu passer « TorBox » j’étais intrigué au sujet du streaming.

TorBox.app est de ces projets qui naissent de passionnés comme Ultra.cc ou Feral Hosting. Voire TPB ou Mininova, précurseurs en leur temps et qui ont pris les tournures qu’on leur connaît.
Les liens vers TorBox.app dans cet article contiennent mon lien d’affiliation. Article non sponsorisé. J’ai souscrit à une offre Pro à 12.50€ TTC/mois.

2025 07 06 19 47 10 torbox premium seedbox — mozilla firefox (ubuntu)

TorBox.app se présente comme un service de seedbox moderne, Freemium et très porté sur, et par, sa communauté. Comptez 12.50€ TTC en souscription mensuelle via Patreon pour un compte Pro, qui donne donc accès au téléchargement de .nzb (potentiellement plus besoin de FAU donc). Tout est Open Source et disponible sur GitHub.

1

2025 07 06 19 51 57 subscription torbox — mozilla firefox

D’après leurs statistiques, ils comptent environ 180.000 utilisateurs (gratuits compris) pour 29 serveurs. C’pas mal…
Et ils sponsorisent des développeurs.

2025 07 25 07 35 25 who torbox sponsors torbox help center — mozilla firefox (ubuntu)


Ce service est conçu pour fonctionner comme source pour Stremio mais fonctionne également de base avec Kodi, Infuse et VLC ou MPV, ils expliquent comment utiliser leurs services avec Google Drive, OneDrive et Stremio, d’ailleurs leurs FAQs sont bien faites (pour qui parle anglais, mais on est en 2025), ils ont une communauté importante (Reddit, Discord), et ça fonctionne comme AllDebrid, RealDebrid etc pour le téléchargement et la mise en cache.

2025 07 06 20 15 12 how does the torbox cache work torbox help center — mozilla firefox

On peut aussi l’utiliser avec RDT-Client. Ils fournissent plusieurs tutoriels utiles et simples.

Ils ne sont pas en reste niveau fonctionnalités notamment liées au streaming via Stremio et se démarquent de la concurrence ou des autres services tels qu’Ultra.cc, Feral, AD, RD etc. Pour les geeks, Whamy propose une API complète.

While TorBox is built specifically for torrents, TorBox has also expanded as well, meaning there are all sorts of new things in store for the users of TorBox.

Downloads

  • Torrents
  • Web Downloads/Debrid
  • RSS Scheduled Torrents
  • Queued Downloads
  • Usenet Downloads
  • High Speed Downloads
  • Add to Download Manager
  • Add to Google Drive
  • Add to Dropbox
  • Add to GoFile
  • Add to 1Fichier
  • Add to Mega

Services

  • Mobile Companion App
  • API
  • WebDAV
  • FTP
  • Stremio Addon
  • Discord Bot
  • Telegram Bot

Notifications

  • Email Notifications
  • Web Notifications
  • Mobile Push Notifications
  • RSS Notifications
  • Discord Notifications
  • Telegram Notifications
  • JDownloader2 Notifications
  • Webhook Notifications

Bon, rien de magique non plus, pour maintenir leur qualité de services et leurs prix, ils ont mis en place certaines limites notamment de transferts mensuels.

Quels sont les seuils ?

Nous ne communiquerons pas les seuils absolus, et il n’est pas réaliste d’annoncer les seuils dynamiques, car ils évoluent selon l’usage global des utilisateurs. Si plus d’utilisateurs consomment davantage de bande passante, alors le seuil dynamique augmentera, permettant à chacun d’utiliser davantage. À l’inverse, si beaucoup d’utilisateurs réduisent leurs téléchargements (au profit, par exemple, d’un cache de plus en plus efficace), alors le seuil dynamique baissera.

Les seuils ne descendront jamais en dessous des niveaux suivants :

  • Offre gratuite (Free) : 5 To par mois
  • Offre Essential : 10 To par mois
  • Offre Standard : 20 To par mois
  • Offre Pro : 30 To par mois

Ces valeurs ne représentent ni un plafond autorisé, ni une représentation précise du seuil dynamique. Ce sont simplement les valeurs minimales garanties : tant que vous restez en dessous de ces niveaux, vous êtes assuré de ne jamais recevoir d’avertissement.

Grâce au seuil dynamique, vous pouvez largement dépasser ces niveaux sans souci, mais ce sont les limites minimales en dessous desquelles vous ne risquez jamais rien.

Le seuil dynamique a été conçu pour que l’utilisateur moyen, voire l’utilisateur intensif, ne le rencontre jamais.

Ils ont été un peu échaudés par des hoarders pour Plex/Jellyfin. Ces limites restent toutefois très convenables même pour ceux qui « dépannent » leurs familles et amis (moyennant finance) avec des flux vidéos.

L’interface est sommaire mais efficace.

2025 07 06 20 29 17 dashboard torbox — mozilla firefox (ubuntu)

Ici, pas d’installation d’applications, c’est une pure seedbox qui permet de télécharger et stocker du .torrent et du .nzb pour les utiliser avec nos applications auto-hébergées ou des services tiers.

78 intégrations et 136 hosters compatibles !

2025 07 06 22 00 17 integrations torbox — mozilla firefox (ubuntu)
2025 07 06 22 00 29 integrations torbox — mozilla firefox (ubuntu)
2025 07 06 22 00 41 integrations torbox — mozilla firefox (ubuntu)
2025 07 06 22 00 55 integrations torbox — mozilla firefox (ubuntu)
2025 07 06 22 01 06 integrations torbox — mozilla firefox (ubuntu)
2025 07 06 22 01 17 integrations torbox — mozilla firefox (ubuntu)
2025 07 06 22 01 34 integrations torbox — mozilla firefox (ubuntu)
2025 07 06 22 01 45 integrations torbox — mozilla firefox (ubuntu)
2025 07 06 22 01 54 integrations torbox — mozilla firefox (ubuntu)

Moi ce qui m’intéresse là-dedans c’est DebriDav, qui fera l’objet d’un autre article. C’est comme RDT-Client » mais pour BitTorrent et Usenet. Et je veux utiliser TorBox avec Plex ou Jellyfin pour Usenet, avec un fallback BitTorrent au cas où.

Comme je le disais plus haut, ils ont un centre de support très complet, un bot de SAV sur Discord, en sus des utilisateurs qui aident tous les jours.

2025 07 06 22 06 54 sub surface (ubuntu)

On peut également utiliser les liens magnets y compris avec leurs extensions pour navigateurs, comme par exemple pour Firefox (aperçu Reddit).

2025 07 06 22 15 39 tools torbox — mozilla firefox

Il existe aussi une application TorBox Manager à auto-héberger : GitHub / Reddit.

Très bien pourvu en options

2025 07 06 22 17 02 settings torbox — mozilla firefox (ubuntu)
2025 07 06 22 19 14 settings torbox — mozilla firefox (ubuntu)
2025 07 06 22 19 22 settings torbox — mozilla firefox (ubuntu)

Et franchement, c’est top !

Ils proposent plusieurs CDN (US, EU, APAC) pour qu’on dispose du meilleur accès aux fichiers. Nous avons aussi les options pour Stremio.

2025 07 06 22 23 10 settings torbox — mozilla firefox (ubuntu)

Outre les options de base (résolution, langue), on peut sélectionner si l’on veut des fichiers uniquement en cache ou aussi en téléchargement, si on veut seeder ou non les .torrents qu’on ajouterait (pourquoi pas ?!), si on privilégie Usenet ou BitTorrent.

2025 07 06 22 26 40 sub surface (ubuntu)
2025 07 06 22 27 13 sub surface (ubuntu)
2025 07 06 22 27 26 sub surface (ubuntu)
2025 07 06 22 27 36 sub surface (ubuntu)
2025 07 06 22 28 01 sub surface (ubuntu)
2025 07 06 22 28 13 sub surface (ubuntu)
2025 07 06 22 28 28 sub surface (ubuntu)

Pour se faire sa VOD personnelle façon IPTV, Stremio suffirait bien. Et avec ses options, c’est simple !

2025 07 06 22 36 40 settings torbox — mozilla firefox (ubuntu)

Et on peut ajouter des instances Jackett, Prowlarr et NZBHydra. Ils font la pub pour ElfHosted mais on peut aussi ajouter ses propres instances pour utiliser TB comme outil de téléchargement et stockage avec ses sources.

2025 07 06 22 36 49 settings torbox — mozilla firefox (ubuntu)
2025 07 06 22 36 56 sub surface (ubuntu)

Test avec un .nzb. On peut soit envoyer le fichier soit coller son URL (et ça marche avec « YGG »)

2025 07 06 22 41 38 add usenet download torbox — mozilla firefox
2025 07 06 22 43 12 dashboard torbox — mozilla firefox (ubuntu)

Il a dépassé les 500MBs en téléchargement. J’avais demandé le post-processing classique de réparation/décompression/suppression.

2025 07 06 22 46 04 dashboard torbox — mozilla firefox (ubuntu)

Je me fais confirmer par le support que les serveurs sont en cours d’upgrade, sans délai, et que pour l’instant ça peut en effet ramer pour des .nzb de près de 100Go.

large files like 84 gb files take a bit of time to process unfortunately. The Servers are actually being upgraded, and soon it’ll be a lot faster (no eta though)

Ça fait maintenant plus de 15 jours que cet article est en rédaction et c’est bon, les serveurs ont été upgradés, les services revus.

Malgré un SAV géré notamment via un bot, en sus du Staff, TB rencontrait pas mal de soucis

2025 07 08 08 53 50 • discord #support bot wamy's happy dev circle
2025 07 08 21 39 26 • discord #outages wamy's happy dev circle

On peut d’ailleurs suivre les incidents et leurs résolutions via la page dédiée.

Torbox me permet de télécharger un .nzb de 79Go en moins de 10 minutes, avec un débit moyen de téléchargement de 160MBps, auxquels il faut ajouter 4 minutes de post-traitement (il était posté avec archives, ce qui est de moins en moins le cas). C’est bien plus rapide qu’à l’époque ! Malgré une vitesse de DL plus faible.

Je viens de lancer un petit fichier de 4GB postés sans compression. DL à 1GBps et post-traitement en quelques secondes !

2025 07 25 06 42 43 0b s↓0b s↑ torbox — mozilla firefox (ubuntu)

Et le changelog du moment fait la part belle aux animes notamment et ajoute TB comme source de recherche de contenus pour les *arrs. Faut pas s’attendre à trouver de suite beaucoup de contenus FRENCH/MULTi cependant, les francophones étant plus sur AllDebrid/RealDebrid.

In v7.4 we introduce:
Kitsu compatibility (among other popular catalogs compatibility),
Better Voyager Search API metadata (for developers),
Nyaa and Animetosho trackers built in for better anime stream results,
Much faster stream searches with BYOI,
Torznab and Newznab endpoint for searching via Arrs or NZBHydra2,
Over a dozen new filehosters to download from,
Optimized API endpoints with some savings resulting in more than 300% faster start times,
Faster stream start times ^,
More Stremio settings,
More performant dashboard,
Seemingly infinite amount of bug fixes and minor changes.

2025 07 25 07 13 51 root index torbox webdav — mozilla firefox (ubuntu)

Au final, TorBox est un beau projet. Dans la gamme de prix des seedboxes complètes typées Ultra.cc, FeralHosting etc, TB propose un service différenciant et complètement clés en mains pour le streaming facile via Stremio avant tout.
Certes, on ne peut y installer d’application contrairement à certains concurrents mais le service comprend tous les outils pour chercher, télécharger, partager, stocker et consommer des contenus numériques, qu’on soit amateurs de Stremio, Kodi, Jellyfin, Plex… et avec ses propres indexeurs !
Avec une communauté élargie et dynamique, un support réactif et sympathique, TorBox est une belle découverte et j’espère leur voir un avenir au niveau, justement, d’Ultra et Feral.

Loading

  •  

Streaming à la carte sans stockage local : RDT-Client, rClone, Zurg, débrideurs et torrenting

Je me remets doucement dans l’univers des *arrs & médiathèques et je dois dire qu’en 2 ans, des solutions ont poussé comme les champignons en Corrèze en plein automne !

J’en étais resté aux *arrs + Plex/Emby/Jellyfin et le stockage sur NAS, serveurs ou en Cloud via rClone et Dropbox/Telegram (abus). Les hébergeurs du moment sont Uloz, Quotaless et Pikpak. Seulement, depuis 2014/2015 avec rClone + Amazone, on sait bien qu’aucune solution de hoarding de ce genre n’est pérenne. Ou reste au même prix. Ou les deux, coucou Google Workspace.

Il y a toujours la solution des serveurs dédiés type OneProvider, Hetzner ou encore SeedHost mais les prix montent toujours petit à petit et on reste très loin des Po de stockage nécessaires à ce que j’appelle en bon vieux crouton : le P4S.

J’ai aussi profité du streaming depuis Usenet (via rClone) mais ce projet n’est pas abouti, non pas du fait du développeur, mais tout simplement parce que la purge se fait de plus en plus présente sur les newsgroups. Là où on pouvait archiver le contenu de trackers BitTorrent y’a 10-15 ans, on sait maintenant que tout peut être effacé sans prévenir. Faut dire… vu les prix des abonnements et la place nécessaire, y’a un choix à faire.

L’eldorado du moment ce sont les débrideurs. Ce qui était avant plutôt exploité en streaming pour l’IPTV est maintenant « mainstream ». Les *arrs ou autres solutions envoient les fichiers .torrents (AllDebrid, RealDebrid etc) ou .nzb (TorBox notamment) chez un débrideur qui télécharge et met en cache les fichiers cibles. On utilise ensuite Stremio ou un montage (rClone ou autre) pour en profiter via son lecteur favori Plex/Emby/Jellyfin.

Là encore, aucune garantie quant à la pérennité des fichiers ni même des services ou du moins de leur utilisation dans ce contexte :
Fin de vie pour UpToBox,
RealDebrid blacklist certains fichiers, (dont pas mal de YGG, forcément vu qu’ils sont semi-publics),
Débrideurs dans le collimateur des ayant-droits,
AllDebrid et vidage du cache

Et c’est là que c’est la foire d’empoigne niveau outils… L’un remplaçant l’autre, certaines versions sous abonnement (Patreon), outils compatibles uniquement avec certains hébergeurs etc.
Les 2 Discord en vue pour tous ses sujets sont celui de SSDv2 (francophone) et Ragnarok (EN). Et je vous glisse également celui de Whamy qui a monté TorBox chez qui je suis client et que je vais pérenniser vu qu’ils permettent d’utiliser Usenet. Ce sera sans doute mon prochain article.

Ici je teste RealDebrid et RDT-Client. RD étant monté avec rClone et Zurg pour une lecture sur Plex. Un grand MERCI à Wassabi qui m’a bien aidé quant aux foutus méandres des droits sous UNRAID 🙂
Niveau arborescence, tout va se passer dans /mnt/user/RealDebrid


root@HomeBox:/mnt/user/appdata/zurg/scripts# tree /mnt/user/RealDebrid/
/mnt/user/RealDebrid/
├── Medias
│   ├── Concerts
│   ├── Docs
│   ├── Films
│   ├── Series
│   └── Spectacles
├── local
├── rdt
├── seedtime
└── zurg
    ├── __all__
    ├── __unplayable__
    └── version.txt
  • Medias : stockage des médias symlinkés depuis RD
  • local : dossier de téléchargement des symlinks pour RDT-Client, où les *arrs viendront les prendre pour les traiter
  • rdt : dossier de téléchargement des .torrents ajoutés sur RD par RDT afin de les seeder depuis chez moi (via VPN)
  • seedtime : le dossier de téléchargement/seed des .torrents. Je seed 1 mois via qBitTorrent (44000 minutes)
  • Zurg : montage de RD en WebDav. C’est de là que seront faits les symlinks pour /Medias

Commençons par rClone. Je suis sur UNRAID mais ça marche bien entendu sur tout Linux/Unix et j’utilise le plugin de Waseh qu’on trouve dans les Applis. Testé avec rClone normal et en BETA, RàS.
Édifier le fichier de configuration et y placer les remotes pour Zurg.

[zurg]
type = webdav
url = http://localhost:9999/dav
vendor = other
pacer_min_sleep = 0

[zurghttp]
type = http
url = http://localhost:9999/http
no_head = false
no_slash = false

On peut ensuite monter RD avec un petit script rClone dans user-scripts (ou systemd sur un autre OS) :
Comme je suis sur UNRAID, que user-script lance les scripts en root mais que mes Dockers tournent avec l’UID 99 et le GID 100, je les force pour ce script rClone (merci Wassabi).

#!/bin/bash

rclone mount zurg: /mnt/user/RealDebrid/zurg --allow-non-empty --allow-other --dir-cache-time 05s --allow-other --uid 99 --gid 100 --daemon -v

Passons à Zurg(-testing) :
J’utilise la version gratuite (sans DMM).
C’est un WebDav pour RealDebrid qui n’en propose pas et qui permet de le monter dans rClone. AllDebrid par exemple dispose d’un WebDav en standard, c’est pourquoi on peut le monter directement dans rClone. Si c’était simple… 🙂

services:
  zurg:
    image: ghcr.io/debridmediamanager/zurg-testing:latest
    container_name: zurg
    restart: always
    ports:
      - 9999:9999
    volumes:
      - /mnt/user/appdata/zurg/scripts/plex_update.sh:/app/plex_update.sh
      - /mnt/user/appdata/zurg/config.yml:/app/config.yml
      - /mnt/user/appdata/zurg/data:/app/data
    labels:
      - com.centurylinklabs.watchtower.enable=true

Si vous devez mapper d’autres ports pensez à les changer dans la configuration de rClone.

Le script d’update de Plex (en cas de changement de symlinks) :
Il faut y mettre l’URL du serveur Plex et son token ainsi que le dossier de montage de RealDebrid.

#!/bin/bash

# PLEX PARTIAL SCAN script or PLEX UPDATE script
# When zurg detects changes, it can trigger this script IF your config.yml contains
# on_library_update: sh plex_update.sh "$@"

# docker compose exec zurg apk add libxml2-utils
# sudo apt install libxml2-utils

plex_url="https://plex.domain.tld"
token="***" 
zurg_mount="/mnt/user/RealDebrid"

# Get the list of section IDs
section_ids=$(curl -sLX GET "$plex_url/library/sections" -H "X-Plex-Token: $token" | xmllint --xpath "//Directory/@key" - | grep -o 'key="[^"]*"' | awk -F'"' '{print $2}')

for arg in "$@"
do
    parsed_arg="${arg//\\}"
    echo $parsed_arg
    modified_arg="$zurg_mount/$parsed_arg"
    echo "Detected update on: $arg"
    echo "Absolute path: $modified_arg"

    for section_id in $section_ids
    do
        echo "Section ID: $section_id"

        curl -G -H "X-Plex-Token: $token" --data-urlencode "path=$modified_arg" $plex_url/library/sections/$section_id/refresh
    done
done

echo "All updated sections refreshed"

# credits to godver3, wasabipls

Son fichier de configuration :
Pour la version gratuite. Très épuré, selon les recommandations de Wassabi. Y ajouter son token RealDebrid.

root@HomeBox:/mnt/user/appdata/zurg# cat config.yml 
zurg: v1
token: ***
enable_repair: true
auto_delete_rar_torrents: true
retain_rd_torrent_name: false
retain_folder_name_extension: false
serve_from_rclone: false
retries_until_failed: 5
check_for_changes_every_secs: 10
repair_every_mins: 60
rate_limit_sleep_secs: 6
#force_ipv6: false
on_library_update: sh plex_update.sh "$@"

RDT-Client est un outil qui se fait passer pour qBitTorrent auprès des *arrs et permet de télécharger des .torrents via un débrideur, d’en télécharger le symlinks pour que les *arrs puissent faire leur travail et enfin, sur option, de télécharger le .torrent localement afin de le seeder pour respecter à la fois les règles du P2P mais aussi des trackers.

RDT est compatible avec AllDebrid, RealDebrid, TorBox, Premiumize et DebridLink. Il ne peut cependant utiliser qu’un débrideur à la fois. Si vous avez plusieurs comptes il faudra lancer autant d’instances et répartir leur utilisation avec les tags. Plutôt que d’avoir les classiques radarr, sonarr on peut imaginer radarr, sonarr, radarr4k, sonarr4k, radarranimes, sonarranimes etc.

Afin de prévenir tout couac lié aux droits d’accès entre RDT, les *arrs et Plex, remplacer le volume par défaut du Docker pour Downloads et mettre en local comme en container /mnt/user/RealDebrid/

En se rendant sur la WebUI, créer un user:pwd et commencer à configurer en se rendant sur l’onglet GUI Defaults.

Sélectionner Download all files to host. Vu qu’on va utiliser le client de téléchargement « Symlink Downloader », ça va bien rapatrier les symlinks dans le dossier /mnt/user/RealDebrid/local où les *arrs iront les chercher pour les ranger correctement dans les bibliothèques qui sont dans /mnt/user/RealDebrid/Medias

Indiquer les catégories radarr,sonarr qui seront utilisées par les applications éponymes. Et en rajouter selon vos besoins et le nombre d’instances de RDT que vous voulez.

En Post Download Action, choisir de retirer le .torrent du client

Activer (remplacer 0 par 1) Delete download when in error. De cette manière RDT supprimer tout .torrent foireux (pas de téléchargement, blacklisté par RD etc) et donc les *arrs sauront qu’il faut en chercher un autre

Onglet Provider : choisir un débrideur et sa clé API.

Cocher Automatically delete downloads removed from provider pour ne pas avoir de symlink orphelin. Si Radarr ou Sonarr voient un fichier manquant ils le remettront en téléchargement.

Onglet General, vous pouvez désactiver l’authentification en passant si c’est qu’un local chez vous, il faut indiquer le chemin de sauvegarde des .torrents que RDT envoie sur le provider. Comme expliqué plus haut, chez moi c’est /mnt/user/RealDebrid/rdt

Le but étant de seeder correctement ces derniers. Sans parler des 7-8 sites FR/QC privés qu’on quasi tous dans nos Prowlarr/Jackett, même si on ne se sert que de YGGtorrent, ne pas seeder est contre l’esprit du P2P et surtout hors règles des dits trackers BitTorrent et on s’expose à un bannissement en ne jouant pas le jeu.

Si certains utilisent ruTorrent et ses plugins pour gérer finement le seedtime selon la source, je suis venu avec mes gros sabots et utilise qBitTorrent avec un seedtime unique d’1 mois (44000 minutes). Attention en passant, la dernière version de qBit déraille pour la WebUI, restez au max sur la 5.1.2

services:
  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:5.1.2-libtorrentv1
    container_name: qbittorrent-divers-mullvad
    network_mode: container:gluetun-mullvad
    environment:
      - PUID=99
      - PGID=100
      - TZ=Europe/Paris
      - WEBUI_PORT=8011
      - TORRENTING_PORT=45657
    volumes:
      - /mnt/user/appdata/qbittorrent-divers-mullvad:/config
      - /mnt/user/RealDebrid/:/downloads
    restart: always

On continue avec l’onglet Download Client de RDT : sélectionner le Symlink Downloader.

Dans le dossier local /mnt/user/RealDebrid/local et le même en chemin mappé pour les *arrs, comme ça on n’a rien à configurer de leur côté

Et viser aussi le Rclone mount path (only used for the Symlink Downloader) : /mnt/user/RealDebrid/zurg/_all_ (y’a 2 underscores de chaque côté de all, vive le markdown qui transforme all en gras…)

Normalement rien à configurer dans l’onglet qBitTorrent / *darr qui reprend les informations enregistrées dans GUI Defaults.

Je ne me sers pas de Watch, les *arrs s’occupant des films et séries mais ça pourrait pas exemple servir pour des documentaires, qu’on doit souvent récupérer à la main ou via un RSS/API et un REGEX.

Bien que je me doute que vous savez installer Radarr, Sonarr et Plex en 2025, attention encore une fois à bien mettre /mnt/user/RealDebrid/ comme volume local et container.

Pour ajouter RDT-Client comme client de téléchargement aux *arrs, passer par l’ajout du client émulé : qBitTorrent.

Je vous laisse configurer comme vous voulez les profils, tags, qualités etc.

Attention, le root folder est /mnt/user/RealDebrid/Medias/Films et ce sera d’ailleurs là aussi qu’il faudra aller chercher les bibliothèques dans Plex.

Plex indexe tout dès que le téléchargement est signalé complété par un *arrs.

Niveau consommation de ressources c’est peanuts, ça passe très bien sur mon petit NAS UNRAiD LincStation N1 et son CPU… « basse consommation » 🙂

Alors ? Où est le loup ?! Bah y’en n’a pas vraiment. Y’a de tous les avis sur chaque débrideur, encore en plus en cas de panne, sur qui a le plus de contenu VF en cache etc.

De mon côté, très petit consommateur, qui va de toute manière se concentrer sur TorBox parce qu’ils permettent d’utiliser des .nzb, j’ai pas constaté de pépin. Quelques .torrents bogues mais ils sont retirés automatiquement par RDT et un *arr en envoie un autre. J’ai juste dû le faire manuellement pour 1 film où aucune version 20160p ne passait. Mais attention, je n’ai utilisé quasi que YGG pour ce test, avec des trackers privés il n’y a aucun raison que les .torrents soient blacklisté par RealDebrid.

Après… fibré, amateur de Usenet… j’ai un peu tiqué en voyant les vitesses de téléchargement côté RD ^^

Bon, je vous rassure, c’est comme sur son propre serveur, ça fluctue selon les peers, la charge des serveurs du débrideur et le sens du vent. C’est du P2P !

Au final le système est très pratique et RDT-Client s’intègre facilement dans une stack déjà établie. Et utiliser les *arrs permet d’affiner la qualité et les sources, en comparaison avec une solution comme Stremio (en passant par les services mis à disposition publiquement).

Là j’ai testé avec Plex mais c’est aussi fonctionnel avec Emby/Jellyfin puisque si un fichier disparaît de RealDebrid, les *arrs l’identifieront comme manquant et le remettrons en téléchargement.

Loading

  •  

Script Seedbox Docker (SSDv2) et bien plus encore !

Ça fait maintenant quelques années que je suis et parle de « SSDv2 », mené notamment par Laster13 & Merrick puis rejoints au fil du temps par de nombreux développeurs francophones de l’univers du DL/streaming.

Ce script installe de manière assez simple, et pourtant complète, tout un tas d’outils en format Docker, derrière un proxy Traefik, pour créer, gérer et profiter d’une librairie de contenus numériques. Les configurations restent à charge de l’utilisateur bien évidemment.
Je pense confirme que le WiKi n’est pas à jour, mais voici un aperçu de ce qu’il permet d’installer, « c’est pas mal » 🙂
La liste est quasi sans fin puisqu’en plus de pouvoir installer des applications de son choix en parallèle du script, il est très souvent mis à jour.
Il y a des commits très fréquents, les développeurs (staffiens ou non) sont hyper présents et réactifs aux questions, remarques et suggestions. Il n’est pas rare de croiser une demande d’applicatif avec une réponse testée voire envoyée en prod dans les quelques heures. Ça sent la passion et la bienveillance !
Le Discord est très clair et très bien catégorisé et on peut y discuter de tout du moment qu’on ne poste pas d’accès direct à du contenu non autorisé.

Ce script s’adresse d’une part aux débutants sur serveurs Linux, mais qui ont déjà des notions liées aux univers de l’auto-hébergement, du téléchargement et du streaming (ou savent utiliser Google/Reddit) pour savoir ce que sont Traefik, PlexPatrol, Decypharr, RDT-Client, Radarr, Jellyfin etc.
Mais ce script est également destiné aux geeks qui souhaitent juste installer des applications simplement, testées, avec un support, en quelques choix dans un terminal. Sans se prendre le chou.

De mon point de vue, sans compter les applications « tierces » qui servent à faire ses comptes, héberger ses photos ou des serveurs de jeux, ce script couvre les 3 tendances de ces dernières années :
– La création d’une bibliothèque multimédia locale via les *arr, selon son stockage disponible,
– La création d’une bibliothèque distante via les *arr et des débrideurs (leur cache plus précisément),
– L’hébergement d’outils dédiés à Stremio pour se faire sa plateforme personnalisée de streaming.

Les incontournables pour l’installer : savoir lire, un nom de domaine ajouté à Cloudflare et une machine dédiée en fresh install Ubuntu 24 (à date) : VPS, VM, serveur baremetal, vieux PC/portable…
Tout est indiqué dans les prérequis. Et si Linux = martien pour vous, vous êtes guidés tout au long de l’installation, c’est vraiment bien expliqué.

J’installe ça sur un vieux PC avec un i3-6100 @3.70GHz, 8GB de RAM et Ubuntu serveur 24, ce qui correspond au minimum requis.

Si vous hébergez la machine chez vous, le script va interroger ip-api.com qui est bloqué par une liste de filtrage DNS (AdGuardHome, Pi-Hole), anticipez son déblocage.
De même, pensez à rediriger les ports 80 et 443 vers la machine depuis votre box FAI/routeur, pour que le reverse proxy puisse fonctionner. Si vous avez déjà un reverse proxy, comme moi j’ai NPM, soit vous le coupez le temps de tester soit vous migrez vers Traefik soit vous faites tourner les 2 en parallèle (je dois tester ça).

Après MàJ de l’OS et installation de git, cloner le repo SSDv2 dans son /home

Puis lancement du script

On répond à quelques questions pour la configuration : définir un mot de passe, renseigner un email, un nom de domaine

Indiquer si on souhaite utiliser Cloudflare. Comme dit au début de cet article, c’est bien plus pratique, notamment pour la création des sous-domaines utilisés pour les différents services, mais également pour masquer son IP privée (si serveur à la maison) des personnes qui auront accès auxdits services.

On indique alors email et clé API. Là encore, si vous ne savez pas faire, suivre la procédure du WiKi (prérequis).

Puis l’installation suit son cours

À l’installation de Traefik, le reverse proxy Nginx, on peut modifier le sous-domaine par défaut et définir le type d’authentification : basique, oauth ou Authelia (application tierce, renforcée, mais qui fait aussi plus « pro »). Tout est là encore indiqué dans le WiKi.

Et nous arrivons au choix d’installation ou non de Zurg. C’est particulièrement là que le WiKi n’est plus à jour, Zurg et tout cet univers du streaming via les débrideurs étant assez récent.

Car il s’agit en fait d’installer une version modifiée de rClone qui permet d’utiliser RealDebrid via un WebDav pour accéder/indexer/lire leur contenu en cache plutôt que de le télécharger sur son serveur, de manière « classique », que ce soit en BitTorrent ou Usenet.
Attention, comme toujours, cette méthode n’est pas sans risque pour les comptes utilisés sur les trackers BitTorrent (assimilé à de la triche) et non plus infaillible puisque de nombreux utilisateurs se rendent par exemple compte ce matin que beaucoup de contenu en cache sur AllDebrid a été vidé (tout se reDL de manière automatisée, mais ça met un coup à l’instant T aux bibliothèques Emby/JellyFin). Et il se dit également qu’il y a plus de contenu VF en cache chez AD que RD.
Bien entendu, ça suppose d’avoir un compte Real-Debrid et la clé API qui va bien.

On pourra par la suite installer RDT-Client qui permet d’utiliser, entre autres, AllDebrid.

S’ensuit la création des dossiers pour la bibliothèque, je fais simple et me contente de Films et Series

Et l’installation de base est terminée !

Tadaaaaa !!!

De là, on peut suivre les consignes puis de déco/reconnecter à son serveur et relancer le script.

Pour le configurer ou modifier les applis, vous pouvez le relancer
cd /home/aerya/seedbox-compose
./seedbox.sh

Le 1er choix permet d’installer des applications (ou les copier, sauvegarder, etc).

Pour parcourir/installer les applications disponibles dans le script, aller sur Installer / Applications seedbox et <entrée> puis utiliser les flèches haut/bas et la barre espace pour cocher les cases

Une fois le ou les choix fait.s, poursuivre en appuyant sur <entrée>

Dans ce test, je ne personnalise aucun nom de domaine (choix n => tout par défaut => application.domaine.com) et utilise Authelia pour les authentifications.
J’aurais apprécié avoir une option pour sélectionner par défaut, pour l’installation en cours, les choix de sous-domaine et auth, pour ne pas avoir à rester devant le terminal et interagir pendant la suite du processus.

Là je m’installe quelques trucs à tester et de quoi me refaire un setup Stremio personnel. Notez que pour ça (StreamFusion et StremioCatalog/Trakt) il faudra des clés API Alldebrid et/ou Real-Debrid (lien référent si vous voulez vous faire un compte), TMDB, Trakt (client ID et secret).

On peut gérer la seedbox via le choix 2 : sécurisation, changement de domaine, ajout d’un client VPN, de divers outils…

Il ne reste enfin qu’à configurer les outils installés. C’est propre à chacun et dépend de ses abonnements à des débrideurs, de ses comptes sur des sites « sources » et de ses goûts en termes de qualités et langues. Bref, bien trop compliqué de préparer des configurations prêtes à l’emploi.
TRaSH-Guides propose des exemples et profils, par exemple pour les *arr.

Le petit bémol de SSDv2 est qu’il ne propose pas encore de dashboard récapitulatif des applications installées et des sous-domaines. Il semble que ce soit en projet, mais sans ETA. Vu le boulot qu’ils abattent à côté, on ne leur en veut pas 😛

Du coup je me suis fait un petit script qui va chercher les sous-domaines de Traefik, les Dockers créés et mix tout ça dans une récap qui n’est sans doute pas la plus belle mais que je trouve bien pratique. J’ai publié ça sur mon GitHub.

Merci à laster13 pour sa dispo et sa bienveillance, depuis des années 🙂

Loading

  •