Yagi : un proxy HDHomeRun pour un serveur Jellyfin distant

Un développeur publie Yagi, un proxy Go qui réécrit l'adresse lineup.json du tuner pour qu'un serveur Jellyfin sur un autre réseau puisse ajouter un HDHomeRun normalement. Le support Jellyfin est documenté mais pas encore testé.

Un développeur a publié Yagi, un petit proxy qui se place devant un tuner HDHomeRun et le rend utilisable par un serveur multimédia exécuté sur un autre réseau. L'annonce a été publiée sur r/jellyfin pour chercher des testeurs, et elle répond à un problème que beaucoup d'entre nous ont rencontré : le lineup.json du tuner annonce sa propre adresse IP sur le LAN, si bien qu'un serveur Jellyfin distant ne peut pas diffuser depuis ce tuner même lorsqu'il joint l'appareil sans difficulté.

L'auteur partageait auparavant un tuner avec sa famille à la main, en combinant socat, Tailscale et une redirection manuelle par tuner. Cela fonctionnait, mais c'était de la colle qui demandait une attention constante. Yagi remplace cela en réécrivant l'adresse que le tuner transmet. Côté Jellyfin, rien de particulier n'est nécessaire : ajoutez-le comme n'importe quel HDHomeRun sous Dashboard → Live TV → Tuner Devices → HDHomeRun, en pointant vers host:5004.

Au-delà de la réécriture d'adresse, Yagi ajoute des contrôles d'accès : une liste d'autorisation, une limite de tuners par spectateur, un plafond global, et des tuners toujours réservés au propriétaire. Les spectateurs au-delà d'une limite reçoivent le même HTTP 503 qu'un tuner occupé, si bien que le serveur sait déjà comment le gérer. Une interface web propose des tuiles en direct affichant la chaîne, l'émission en cours, qui regarde, le débit et le signal, plus 30 jours d'historique par spectateur. Il peut aussi gérer le tuner lui-même (chaînes, scan, redémarrage, firmware) et envoyer des notifications vers ntfy, Pushover ou un webhook. Le tuner est identifié par DeviceID, donc un changement d'adresse DHCP ne casse pas l'installation.

Cela fonctionne sur le LAN, Tailscale, WireGuard et des liens similaires, et une image optionnelle intègre Tailscale. La pile est un backend Go avec une interface React/Tailwind embarquée, distribuée sous forme d'image Docker sur ghcr.io pour amd64 et arm64, sous licence MIT.

Le statut réel compte ici : Yagi a été conçu pour Plex et testé là-dessus sur le FLEX 4K de l'auteur. Les étapes Jellyfin sont rédigées mais pas encore testées, ce qui explique précisément l'appel aux retours. L'auteur indique aussi une forte implication de l'IA — Claude Code écrit la quasi-totalité du code, des tests et de la documentation sous sa direction et sa relecture, appuyée sur plus de 25 ans d'expérience en ingénierie.

Commentaire pour les auto-hébergeurs

Si vous partagez déjà un tuner entre plusieurs sites, cette solution cible la partie délicate plutôt que le transport. Tailscale ou WireGuard fait circuler les paquets entre les réseaux ; Yagi corrige ce que le tuner dit de lui-même aux clients. C'est une séparation plus propre que des règles de redirection par tuner.

Les limites par spectateur et globale sont la fonctionnalité que je testerais en premier, car elles décident si un tuner partagé reste utilisable pour le foyer quand des proches se connectent. Le comportement 503 est un choix judicieux — il réutilise un mode d'échec que Jellyfin comprend déjà au lieu d'en inventer un nouveau.

Traitez le parcours Jellyfin comme une bêta. Lancez-le dans un labo ou à côté de votre installation actuelle, conservez votre configuration existante jusqu'à ce que le serveur distant lise et enregistre de façon fiable, et signalez sur GitHub ce qui casse. Si vous combinez Plex et Jellyfin, rappelez-vous que seul le parcours Plex a été exercé jusqu'ici. Pour davantage d'outils côté Jellyfin, voir nos plugins Jellyfin.

Cet article a été rédigé avec l’aide de l’IA à partir de la documentation de nos produits ou des sources indiquées et vérifié automatiquement avant publication.

À lire ensuite

Vous utilisez Emby, Jellyfin ou Nextcloud ?

Nos plugins et applications ajoutent la TV en direct, les sous-titres, l’inscription et la sécurité à votre propre serveur, avec un essai gratuit.