Install the plugin in a self-hosted Jellyfin to get HDHomeRun guide data
Add tuners through the dashboard with automatic network discovery or a subnet scan
Enable the paid 14-day SiliconDust guide for a DVR subscription account
Schedule background refreshes of the M3U and XMLTV files
Requires a working Jellyfin server, the .NET SDK to build, and an HDHomeRun tuner reachable on the local network.
This repository is a Jellyfin plugin that keeps Live TV guide data working for SiliconDust HDHomeRun tuners. Jellyfin is an open-source media server, and HDHomeRun is a network-attached TV tuner that lets you watch over-the-air channels through your home network. The plugin runs inside the Jellyfin server, downloads the official XMLTV guide feed from SiliconDust, and writes the channel and listing files that Jellyfin needs to show a working TV guide. Earlier versions of the plugin used a render-oriented API, but at SiliconDust's request the project was changed to use only the official XMLTV endpoint. SiliconDust provides 2 days of guide data for everyone and 14 days for accounts with a paid DVR guide subscription. The plugin reads a fresh DeviceAuth token from the tuner each time it runs, so it does not need to store any SiliconDust account details. An optional email-plus-DeviceID access path is also supported for users who prefer it. On the Jellyfin admin dashboard, the plugin adds its own settings page. An Add My Tuners button uses Jellyfin's built-in HDHomeRun discovery to find tuners on the network, with an optional subnet scan as a fallback. There are checkboxes for the paid 14-day guide request, a field for SiliconDust account email, and a refresh interval. Saving the page triggers an immediate refresh, and the plugin also exposes a manual scheduled task called Refresh HDHomeRun Guide. Behind the scenes, the plugin keeps Jellyfin's Live TV M3U and XMLTV paths in sync, clears stale guide cache entries before each import, and reports the correct tuner count to Jellyfin. The refresh runs in the background on a randomized schedule, defaulting to 36 hours in free mode and 68 hours in paid mode. The DeviceAuth token is never written to plugin settings or logs. The repository is C# code that builds with the .NET SDK, and the README walks through the dotnet build command, the files to copy into Jellyfin's plugin directory, and typical plugin paths on Linux and macOS. A legacy Python script and an example macOS LaunchAgent are also included for users who do not want to run the plugin inside Jellyfin. The project is MIT licensed.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.