From 2c9ae104b4beba6bd83e4a57faa5a5e5cc433dd4 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Tue, 7 Oct 2025 16:41:44 -0400 Subject: [PATCH] Fix CSP --- src/main/csp/index.ts | 9 ++++++++- src/main/index.ts | 15 --------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/main/csp/index.ts b/src/main/csp/index.ts index 813e47010..1c8287428 100644 --- a/src/main/csp/index.ts +++ b/src/main/csp/index.ts @@ -131,7 +131,7 @@ const patchCsp = (headers: PolicyMap) => { }; export function initCsp() { - session.defaultSession.webRequest.onHeadersReceived(({ responseHeaders, resourceType }, cb) => { + session.defaultSession.webRequest.onHeadersReceived(({ responseHeaders, resourceType, url }, cb) => { if (responseHeaders) { if (resourceType === "mainFrame") patchCsp(responseHeaders); @@ -143,6 +143,13 @@ export function initCsp() { if (header) responseHeaders[header] = ["text/css"]; } + + const parsedUrl = new URL(url); + if (parsedUrl.hostname === "cdn.discordapp.com" && parsedUrl.pathname.startsWith("/attachments")) { + responseHeaders["Access-Control-Allow-Origin"] = ["*"]; + responseHeaders["Access-Control-Allow-Methods"] = ["*"]; + responseHeaders["Access-Control-Allow-Headers"] = ["*"]; + } } cb({ cancel: false, responseHeaders }); diff --git a/src/main/index.ts b/src/main/index.ts index abf385ea9..80ad5e5c8 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -96,19 +96,6 @@ if (!IS_VANILLA && !IS_EXTENSION) { } }); - protocol.handle("https", async req => { - const res = await net.fetch(req, { bypassCustomProtocolHandlers: true }); - const headers = new Headers(res.headers); - headers.set("Access-Control-Allow-Origin", "*"); - headers.set("Access-Control-Allow-Methods", "*"); - headers.set("Access-Control-Allow-Headers", "*"); - - return new Response(res.body, { - ...res, - headers, - }); - }); - try { if (RendererSettings.store.enableReactDevtools) installExt("fmkadmapgofadopljbjfkapdkoienihi") @@ -116,10 +103,8 @@ if (!IS_VANILLA && !IS_EXTENSION) { .catch(err => console.error("[Equicord] Failed to install React Developer Tools", err)); } catch { } - initCsp(); }); - } if (IS_DISCORD_DESKTOP) {