Ultimate Backend (Kodi Add-on)
Ultimate Backend is a background service for Kodi that provides a local API for live TV streaming, EPG data, and manifest management from supported online TV providers.
It acts as the bridge between streaming services and Kodi’s PVR system, designed specifically to work together with the official PVR IPTV Simple Client.
🎯 Purpose
This add-on runs a small local web service inside Kodi.
It:
- Logs in to supported streaming providers
- Retrieves live channel lists and EPG data
- Rewrites DASH manifests for Kodi playback
- Generates M3U playlists compatible with PVR IPTV Simple
Once configured, your live TV channels from streaming platforms appear directly in Kodi’s TV section — complete with EPG, logos, and DRM handling.
📺 Supported Providers
Currently supported:
- 🇩🇪 Joyn (DE)
- 🇦🇹 Joyn (AT)
- 🇨🇭 Joyn (CH)
- 🇪🇺 RTL+
More providers will be added in future versions.
✨ Key Features
- 📡 Automatic Provider Integration – Unified access to multiple streaming services
- 🔁 Manifest Proxying & Rewriting – For seamless DASH playback via InputStream Adaptive
- 🔐 DRM Support – Handles Widevine, PlayReady, and ClearKey license data
- 🗓️ EPG Data – XMLTV-compatible program guide per provider
- 🎵 M3U Playlist Generation – One-click generation for Kodi PVR clients
- ⚡ Caching System – Caches manifests and playlists for fast reloads
- 🌍 Regional Support – Separate configurations for Germany, Austria, and Switzerland
🧩 Installation
-
Copy or clone this addon into your Kodi
addonsdirectory:~/.kodi/addons/script.service.ultimate -
Required dependencies (Kodi installs these automatically):
xbmc.python≥ 3.0.0script.module.bottle≥ 0.12.25script.module.requests≥ 2.25.1script.module.pycryptodome≥ 3.4.3
-
Restart Kodi — the Ultimate Backend service starts automatically on login.
⚙️ Configuration
Go to:
Settings → Add-ons → Ultimate Backend → Configure
General Settings
| Setting | Description | Default |
|---|---|---|
| Server Port | Port of the local API | 7777 |
| Default Country | Default region (DE, AT, CH, EU) | DE |
| API Key | Optional global API key | empty |
| Enable EPG Caching | Cache EPG data locally | ✅ On |
| Cache Duration (hours) | Cache lifetime | 6 |
Provider Settings
Each provider (Joyn DE/AT/CH, RTL+) can be configured individually:
- Enable or disable provider
- Enter login credentials (username/password)
- Configure proxy settings if needed (host and port)
Example for Joyn (DE):
- Enable Joyn (DE)
- Enter your credentials
- Optionally enable and configure proxy
🧠 Using with PVR IPTV Simple Client
The Ultimate Backend add-on is designed to work together with
➡️ PVR IPTV Simple Client
Setup Steps
-
In Kodi, go to:
Add-ons → My Add-ons → PVR Clients → PVR IPTV Simple Client → Configure -
Under General → Location, select:
🟢 Remote Path (Internet address) -
Enter these URLs:
M3U Playlist URL:
http://localhost:7777/api/m3uEPG XMLTV URL (example for Joyn DE):
http://localhost:7777/api/providers/joyn_de/epg -
Save and restart Kodi’s PVR subsystem (or Kodi itself).
Your live TV channels and EPG will now appear in Kodi’s TV section.
💡 Tip:
To regenerate and cache the latest M3U playlist manually, open this in your browser:
http://localhost:7777/api/m3u/generate
This forces the backend to rebuild and cache the playlist for faster future loading.
🌐 API Overview
Once running, the addon exposes a local API:
http://localhost:7777/
Common Endpoints
| Endpoint | Description |
|---|---|
/api/providers |
List all configured providers |
/api/providers/<provider>/channels |
Get available channels |
/api/providers/<provider>/channels/<id>/manifest |
Get or rewrite manifest |
/api/providers/<provider>/channels/<id>/stream |
Direct stream redirect |
/api/providers/<provider>/epg |
Get EPG in XMLTV format |
/api/m3u |
Cached combined playlist |
/api/m3u/generate |
Force regeneration and caching of playlist |
/api/cache/mpd/clear |
Clear MPD cache |
/api/cache/mpd/clear-expired |
Clear expired cache entries |
🧼 Cache Management
Ultimate Backend automatically caches:
- DASH Manifests
- EPG Data
- M3U Playlists
Manual cache actions:
| Purpose | URL |
|---|---|
| Clear all MPD cache | /api/cache/mpd/clear |
| Remove expired entries | /api/cache/mpd/clear-expired |
| Force M3U regeneration | /api/m3u/generate |
| Force provider-specific M3U regeneration | /api/providers/<provider>/m3u/generate |