1. Portal laden und auswählen
• Liest aus portal.txt die verfügbaren Portale und ihre MAC-Adressen.
• Der Nutzer wählt das gewünschte Portal aus.
2. Verbindung zum Portal
• Erstellt eine requests-Session mit dem Portal.
• Holt einen Token für die Authentifizierung (Handshake).
3. Gruppen laden
• Lädt die TV-Genres/Gruppen (z.B. “DE Sport”, “AT News”) vom Portal.
• Speichert die Gruppen als JSON (X_groups.json).
4. Channels laden
• Lädt alle Channels des Portals seitenweise (mit Fortschrittsanzeige).
• Speichert die Rohdaten als JSON (X_channels.json).
5. M3U-Dateien erzeugen (build_m3u)
• Filtert Channels nach den gewählten Ländern (DE, AT, CH) anhand der Gruppen-ID.
• Erstellt eine allgemeine M3U (X_channels.m3u) nur mit den gefilterten DE/AT/CH-Channels.
• Erstellt separate M3Us für jedes Land (X_DE_channels.m3u, X_AT_channels.m3u, X_CH_channels.m3u).
• Für jede M3U wird auch eine JSON-Ausgabe mit den Stream-Links erstellt (X_*_channels_output.json).
• Fortschrittsanzeigen zeigen Ladefortschritt pro Channel und pro Land.
6. Stream-Link auflösen
• Für jeden Channel wird der eigentliche Stream-Link vom Portal abgerufen (get_stream).
Ausgaben
• JSON-Dateien: Rohdaten der Channels und der nach Land gefilterten Channels.
• M3U-Dateien:
• X_channels.m3u → alle DE/AT/CH Channels
• X_DE_channels.m3u, X_AT_channels.m3u, X_CH_channels.m3u → nur Channels des jeweiligen Landes
Voraussetzungen:
- funktionierendes Portal URL/MAC
- Python3
Zusätzliche Python Module:
- pip install requests tqdm
Formate in portal.txt
Code:
http://portal.live:8080/c/ 00:1A:79:6B:BD:BC
http://portal.xyz:8080 00:1A:79:20:4F:00