How it works

From a Docker container to live TV on every screen

Rebel IPTV is a single agent you host: it scrapes your sources and builds your guide. An optional relay steps in only when a source is blocked in your region.

1

Deploy the agent

Pull the container and bring it up with Docker Compose. On first boot it connects to Rebel's curated channel directory and sets up its dashboard.

2

It builds your guide

The agent scrapes its sources — plus any M3U files or URLs you add — matches them to the channel directory, validates each feed and drops the ones that are offline, then renders one M3U and a full XMLTV EPG.

3

It serves & stays online

Your instance serves the playlist, guide and streams, with stream-health filtering dropping dead channels. Flip on relay mode and it pulls feeds through the Rebel IPTV relay instead — so you can still watch sources that are blocked or geo-restricted where you are.

4

Watch anywhere

Open the dashboard to watch in-browser, or point any IPTV app — or your Jellyfin / Plex tuner — at your M3U + EPG URLs.

Architecture

The pieces, and what each one does

The agent

A single Docker container you host. It scrapes its sources — plus any M3U files or URLs you add — validates each feed, renders one M3U + XMLTV, serves the dashboard, exposes a tuner for media servers, and updates itself in place when you click Update now.

The relay (optional)

Rebel IPTV's servers, used only in relay mode. They proxy each feed in pass-through mode — pulling a source from a region where it's reachable so you can watch channels that are blocked or geo-restricted where you are. No streams are stored.

The channel directory

A curated, canonical directory your agent matches against — the naming and logos that turn raw scraped sources into one clean, de-duplicated guide.

Logos & artwork

Every logo the guide and EPG reference, plus composited team, league and live-event matchup cards, served straight into your guide.


Local sources
or Rebel relay
Agent · curate, render & serveM3U + XMLTV + streamsYour players

Your players always connect to your own instance. In relay mode the feeds come from the Rebel IPTV relay instead of local scraping — the player side never changes.

Two ways to get your feeds

Run it local, or lean on the relay

A per-instance toggle in the dashboard (Settings → Source mode), switchable live — scrape everything yourself, or let the Rebel IPTV relay servers serve the feeds for you.

Local mode · Default

Scrape it all on your box

By default, the agent scrapes channels and live events directly on your own machine, builds your M3U + guide locally, and proxies the streams itself. Fully self-contained — the only things leaving your network are the upstream fetches you configure.

  • Channels and events scraped on-device
  • No dependency on Rebel infrastructure
  • You choose and manage the sources
Relay mode

Let the relay fetch the feeds

Flip Settings → Source mode to Use Rebel IPTV playlist and your instance stops scraping — it pulls ready-made channels, guide and events from the Rebel IPTV relay in pass-through mode. The relay fetches each source from a region where it's reachable, so you keep watching even when those sources are blocked or geo-restricted in your country.

  • Live toggle in the dashboard — no local scraping
  • Reaches sources blocked or geo-restricted in your region
  • Same lineup & stable channel IDs — bookmarks survive

Ready to wire it up?

The setup guide walks you through Docker Compose, the dashboard, and pointing your first player at the playlist.