Un desarrollador ha publicado Yagi, un pequeño proxy que se coloca delante de un sintonizador HDHomeRun y lo hace utilizable por un servidor multimedia que se ejecuta en otra red. El anuncio apareció en r/jellyfin buscando testers, y aborda un problema que muchos hemos sufrido: el lineup.json del sintonizador anuncia su propia IP de LAN, así que un servidor Jellyfin remoto no puede emitir desde él aunque llegue sin problema al dispositivo.
El autor compartía antes un sintonizador con su familia a mano, combinando socat, Tailscale y redirecciones manuales por sintonizador. Funcionaba, pero era un pegamento que exigía atención constante. Yagi lo sustituye reescribiendo la dirección que entrega el sintonizador. En el lado de Jellyfin no hace falta nada especial: añádelo como cualquier HDHomeRun en Dashboard → Live TV → Tuner Devices → HDHomeRun, apuntando a host:5004.
Además de reescribir la dirección, Yagi añade controles de acceso: una lista de permitidos, un límite de sintonizadores por espectador, un tope global y sintonizadores siempre reservados para el propietario. Los espectadores que superan un límite reciben el mismo HTTP 503 que devuelve un sintonizador ocupado, así que el servidor ya sabe cómo gestionarlo. Hay una interfaz web con mosaicos en vivo que muestran el canal, el programa actual, quién está viendo, el bitrate y la señal, además de 30 días de historial por espectador. También puede gestionar el propio sintonizador (canales, escaneo, reinicio, firmware) y enviar notificaciones a ntfy, Pushover o un webhook. El sintonizador se localiza por DeviceID, así que un cambio de dirección por DHCP no rompe la configuración.
Funciona por LAN, Tailscale, WireGuard y enlaces similares, y hay una imagen opcional con Tailscale integrado. El stack es un backend en Go con una interfaz React/Tailwind embebida, distribuido como imagen Docker en ghcr.io para amd64 y arm64, con licencia MIT.
El estado real importa aquí: Yagi se creó para Plex y se probó allí en el propio FLEX 4K del autor. Los pasos para Jellyfin están escritos pero aún no se han probado, que es justo por lo que la publicación pide comentarios. El autor también declara una fuerte implicación de IA: Claude Code escribe casi todo el código, las pruebas y la documentación bajo su dirección y revisión, respaldado por más de 25 años de experiencia en ingeniería.
Comentario para self-hosters
Si ya compartes un sintonizador entre sedes, esto ataca la parte incómoda en lugar del transporte. Tailscale o WireGuard llevan los paquetes entre redes; Yagi corrige lo que el sintonizador dice de sí mismo a los clientes. Es una separación más limpia que las reglas de redirección por sintonizador.
Los límites por espectador y globales son la función que probaría primero, porque deciden si un sintonizador compartido sigue siendo usable para el hogar cuando se conectan los familiares. El comportamiento del 503 es una elección sensata: reutiliza un modo de fallo que Jellyfin ya entiende en lugar de inventar uno nuevo.
Trata la ruta de Jellyfin como beta. Levántalo en un laboratorio o junto a tu configuración actual, mantén tu configuración existente hasta que el servidor remoto reproduzca y grabe de forma fiable, y reporta en GitHub lo que falle. Si usas una mezcla de Plex y Jellyfin, recuerda que hasta ahora solo se ha ejercitado la ruta de Plex. Para más herramientas del lado de Jellyfin, consulta nuestros plugins de Jellyfin.