From 8747f887f86daad01fd1fe09b0e60e454a2405e4 Mon Sep 17 00:00:00 2001 From: Dominik Polakovics Date: Wed, 12 Nov 2025 22:48:48 +0100 Subject: [PATCH] fix: invidious --- hosts/fw/modules/web/invidious.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/hosts/fw/modules/web/invidious.nix b/hosts/fw/modules/web/invidious.nix index 0cf88a0..baaabc4 100644 --- a/hosts/fw/modules/web/invidious.nix +++ b/hosts/fw/modules/web/invidious.nix @@ -52,6 +52,10 @@ with lib; default_home = "Popular"; feed_menu = [ "Popular" "Trending" "Subscriptions" ]; + # HTTPS configuration for proper URL generation + external_port = mkForce 443; + https_only = mkForce true; + # YouTube compatibility settings use_quic = true; force_resolve = "ipv4"; @@ -190,6 +194,21 @@ EOF proxy_hide_header Cache-Control; proxy_hide_header etag; proxy_hide_header "alt-svc"; + proxy_hide_header Access-Control-Allow-Origin; + proxy_hide_header Access-Control-Allow-Methods; + proxy_hide_header Access-Control-Allow-Headers; + proxy_hide_header Access-Control-Expose-Headers; + + # CORS headers for iOS clients like Yattee + add_header Access-Control-Allow-Origin * always; + add_header Access-Control-Allow-Methods "GET, HEAD, OPTIONS" always; + add_header Access-Control-Allow-Headers "Range, Content-Type" always; + add_header Access-Control-Expose-Headers "Content-Length, Content-Range" always; + + # Handle preflight requests + if ($request_method = OPTIONS) { + return 204; + } # Optimize for large file transfers sendfile on;