RetroIPTVGuide is a web-based IPTV guide and tuner management platform designed to provide a retro television guide experience for modern IPTV environments.
It aggregates IPTV playlists and EPG metadata and presents them through a browser-based interface optimized for desktops, mobile devices, and television displays.
RetroIPTVGuide follows a server–client architecture.
IPTV Sources (.m3u / .xml) | v RetroIPTVGuide Flask Server | v Web Browser Interface
The application acts as a middle layer between IPTV providers and the user interface.
The backend is built using Flask.
Primary entry point: app.py
Responsibilities:
- HTTP request handling
- playlist ingestion
- EPG parsing
- tuner configuration
- virtual channel generation
- admin tools
- UI rendering
RetroIPTVGuide consumes two main data formats.
Playlists:
- .m3u
- .m3u8
Electronic Program Guide:
- XMLTV (.xml)
- compressed XML (.xml.gz)
Tuner Management Defines IPTV data sources including playlist URLs and EPG feeds.
Playlist Parser Extracts channel metadata and stream URLs from playlists.
EPG Processor Parses XMLTV files and indexes program schedules.
Virtual Channel Engine Creates synthetic channels (news, weather, traffic, etc).
Playback Layer Relies on browser-compatible HLS streams.
Frontend components live in:
static/ templates/
Technologies used:
- HTML
- CSS
- JavaScript
- Flask Jinja templates
Typical storage components:
- SQLite database
- cached EPG files
- configuration files
Supported deployment models:
Linux install: /opt/retroiptvguide
Docker container
Raspberry Pi installations
Default web interface:
http://:5000
Current protections:
- admin authentication
- server-side validation
- restricted admin actions
Future improvements include stronger validation and automated security scanning.