EPG endpoint
All three paths are equivalent:| Method | Path |
|---|---|
GET | /xmltv.php |
GET | /epg |
GET | /update/epg.php |
Parameters
The username defined in
api-proxy.yml.The password for the user.
Token credential. Accepted in place of
username + password.Response
Returns atext/xml streaming response in XMLTV format.
tuliprox applies the following transformations before serving:
- Time-shifting: If the user has
epg_timeshiftconfigured, all programme start and stop times are shifted accordingly. - URL rewriting: If
epg_timeshiftis set or URL rewriting is enabled, icon/logo URLs in the EPG are rewritten to proxy through tuliprox.
Error responses
| Condition | Response |
|---|---|
| Invalid credentials | HTTP 403 (or configured auth_error_status) |
| User permission denied | HTTP 403 Forbidden |
| No EPG configured for target | Empty XMLTV document (HTTP 200) |
Examples
- xmltv.php
- /epg alias
- Save to file
- Token auth
XMLTV document structure
The response is a standard XMLTV document. Each channel with at least one programme entry is included.EPG resource proxy
When URL rewriting is enabled, icon URLs in the EPG are rewritten to route through this endpoint, which obscures the original provider URL and proxies the image through tuliprox.The authenticated username.
The authenticated password.
The obfuscated resource identifier (generated internally by tuliprox). Not intended to be constructed manually.
EPG time-shifting
Per-user EPG time-shifting lets you offset programme times. This is useful when a provider’s EPG times are in the wrong timezone for your users. Configure it inapi-proxy.yml:
"+60"or"-60"— shift by ±N minutes- A timezone name such as
"Europe/Berlin"— express times in the target timezone