From b40c448b5c1bf288fe64a36feb45f9e2725ed06b Mon Sep 17 00:00:00 2001 From: Viren070 Date: Sat, 8 Nov 2025 16:12:24 +0000 Subject: [PATCH] fix(proxifier): remove auth in URLs when proxying --- packages/core/src/streams/proxifier.ts | 39 +++++++++++++++++++++----- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/packages/core/src/streams/proxifier.ts b/packages/core/src/streams/proxifier.ts index 02a3d4c3..aa175be6 100644 --- a/packages/core/src/streams/proxifier.ts +++ b/packages/core/src/streams/proxifier.ts @@ -73,14 +73,39 @@ class Proxifier { const proxiedUrls = streamsToProxy.length ? await proxy.generateUrls( - streamsToProxy.map(({ stream }) => ({ - url: stream.url!, - filename: stream.filename, - headers: { - request: stream.requestHeaders, + streamsToProxy.map(({ stream }) => { + let url: string = stream.url!; + let parsedUrl: URL | undefined; + + try { + parsedUrl = new URL(url); + } catch {} + + const headers = { response: stream.responseHeaders, - }, - })) + request: stream.requestHeaders, + }; + if (parsedUrl && parsedUrl.username && parsedUrl.password) { + headers.request = { + ...headers.request, + Authorization: + 'Basic ' + + Buffer.from( + `${decodeURIComponent( + parsedUrl.username + )}:${decodeURIComponent(parsedUrl.password)}` + ).toString('base64'), + }; + parsedUrl.username = ''; + parsedUrl.password = ''; + url = parsedUrl.toString(); + } + return { + url, + filename: stream.filename, + headers, + }; + }) ) : [];