diff --git a/homelab-ai-bot/savetv_extra_routes.py b/homelab-ai-bot/savetv_extra_routes.py index 8397b4a1..854beace 100644 --- a/homelab-ai-bot/savetv_extra_routes.py +++ b/homelab-ai-bot/savetv_extra_routes.py @@ -21,6 +21,8 @@ JELLYFIN_PASS = _os.environ.get("JELLYFIN_PASS", "astral66") # Direkter Download ohne Cloudflare (Hetzner :9443 → nginx → CT 116) SAVETV_DIRECT_BASE = _os.environ.get("SAVETV_DIRECT_BASE", "http://138.201.84.95:9443") SAVETV_TUNNEL_BASE = _os.environ.get("SAVETV_TUNNEL_BASE", "https://savetv.orbitalo.net") +SAVETV_DIRECT_USER = _os.environ.get("SAVETV_DIRECT_USER", "mike") +SAVETV_DIRECT_PASS = _os.environ.get("SAVETV_DIRECT_PASS", "astral66") def _normalize_film_title(s: str) -> str: @@ -181,7 +183,9 @@ def register_extra_routes(app, progress_lock=None, load_progress_raw=None, save_ clean = name.rsplit(".", 1)[0] esc = _html.escape(name, quote=True) date_str = _dt.fromtimestamp(mtime).strftime("%d.%m.%Y") - href_direct = SAVETV_DIRECT_BASE.rstrip("/") + "/files/" + _urlquote(name) + _b = SAVETV_DIRECT_BASE.split("://", 1) + _auth = _urlquote(SAVETV_DIRECT_USER) + ":" + _urlquote(SAVETV_DIRECT_PASS) + "@" + href_direct = _b[0] + "://" + _auth + _b[1].lstrip("/").rstrip("/") + "/files/" + _urlquote(name) href_tunnel = SAVETV_TUNNEL_BASE.rstrip("/") + "/files/" + _urlquote(name) rows += ( '📁 Gespeicherte Filme' '
' + str(len(files)) + ' Dateien · ' + str(total_gb) + ' GB
' '
' - 'Direkt vom Hetzner (ohne Cloudflare): Download-Links zeigen auf ' - '' + _html.escape(SAVETV_DIRECT_BASE, quote=True) + ' — ' - 'Basic-Auth mit Benutzer mike, Passwort wie in homelab.conf. ' - 'Fallback: Link CF pro Zeile (Cloudflare-Tunnel, ' - '' + _html.escape(SAVETV_TUNNEL_BASE, quote=True) + ').' + 'Direkt vom Hetzner (ohne Cloudflare). ' + 'Credentials sind im Link eingebettet – Browser-Auth-Dialog sollte nicht erscheinen. ' + 'Fallback-Link CF pro Zeile nutzt den Cloudflare-Tunnel ' + '(' + _html.escape(SAVETV_TUNNEL_BASE, quote=True) + ').' '
' '
Sortieren:' ''