M3U / XMLTV → HDHomeRun tuner

One small binary turns your IPTV playlists and XMLTV guide data into an HDHomeRun tuner, so Plex DVR, Emby and Jellyfin treat IPTV like cable. A modernized, actively maintained fork of the original xTeVe — faster, safer, and kept current.

Works with Plex, Emby and Jellyfin · Linux, Windows, macOS, Docker · single binary, ~6 MB

Why Reborn

Upstream xTeVe was abandoned in 2020. This fork keeps what worked and fixes what didn't.

Streaming

Failover that knows your provider

Up to 3 backup URLs per channel. A healthy, idle source wins; busy sources share viewers by lowest load. For Xtream providers the account's own connection status is read too, so a source whose account is full elsewhere is never treated as idle. One click auto-fills backups from your other providers by matching channel names, and a preview shows what would change before it does.

Providers

Your provider metadata, intact

Per-stream directives — #KODIPROP, #EXTVLCOPT, #EXTHTTP — are carried through into the M3U this serves, so a mandated user agent, custom headers or DRM licence metadata still reach Kodi, TiviMate and VLC.

Insight

See what can actually fail over

The dashboard counts how many active channels have a backup, and whether each playlist and guide source is healthy on its last check. Channel limits are settings you can raise — no code edit, no dummy filter to force a big lineup active.

Guide

EPG that stays current

Sources are re-checked every hour with conditional requests, so guide changes reach Plex the same hour — not the next day. Only changed files are re-downloaded.

Security

Safe by default

Authentication, session fixation fixes, and none of upstream's unauthenticated paths that exposed configuration and logs.

Stability

Hangs and crashes fixed

Data races under -race, FD leaks, deadlocks and panic paths fixed — with regression tests so they stay fixed.

Docker

Container done right

Non-root by default (PUID/PGID), multi-arch images, and a real HEALTHCHECK that CI verifies reaches healthy.

Setup

Gentle onboarding

A setup wizard for first-run configuration, a rebuilt light web UI, and Jellyfin support verified by an end-to-end CI test against a real server.

What's new in 3.0.4

Released as v3.0.4 — a drop-in upgrade from 3.0.x; the in-app updater offers it automatically.

  • Provider metadata passthrough. #KODIPROP, #EXTVLCOPT, #EXTHTTP and #EXTGRP are kept and re-emitted in the M3U you serve, in the order your provider wrote them.
  • Xtream account limits in failover. A source on an account that is full elsewhere is no longer treated as idle, and the provider with more free connections wins between equally loaded sources.
  • 15-second probe cache. A channel with backups probes each source at most once per 15s instead of once per play request.
  • Visibility. Backups on: N of M and a per-source health summary on the dashboard.
  • Channel limits are settings. plex.channel.limit and unfiltered.channel.limit, default 480 as before.
  • Fixed: auto-fill backups silently did nothing after a guide rebuild, and two leftovers in the buffered streaming path declared a body length after the headers had been sent.

Three steps to live TV

Full details and Windows/macOS binaries are in the README and the releases page.

  1. Get the latest release — a single binary for linux/amd64, linux/arm64, Windows and macOS, or pull the container. docker run -d --name xteve-reborn -p 34400:34400 -v xteve-config:/config ghcr.io/theantipopau/xteve-reborn:latest
  2. Add your sources — open the web UI, run the setup wizard, and point it at your provider's M3U playlist and XMLTV guide. http://localhost:34400/web/
  3. Point your DVR at the tuner — Plex, Emby and Jellyfin discover it like an HDHomeRun on your network. http://your-server-ip:34400

Credits

  • c0y0t3d3n/iptv — two ideas: load-aware source selection (prefer the provider with the most free connections) and merging lineups across providers by matching channel names.
  • chtugha/xTeVe-dietpi — a user's suggestion of this fork (and the per-stream metadata their own build added) is where 3.0.4's #KODIPROP/#EXTVLCOPT passthrough started.
  • Threadfin — backup/failover channels and Jellyfin support.
  • xTeVe by saroxan — the original project. Reborn inherits its MIT license.