From ffcb42dcc6f585e451027d0579c617d7ee406560 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Karas?= Date: Wed, 12 Feb 2025 19:52:24 +0100 Subject: [PATCH] hide proxy password in server log (#50) * hide proxy password in server log * fixup! hide proxy password in server log * fixup! fixup! hide proxy password in server log * fixup! fixup! fixup! hide proxy password in server log * fixup! fixup! fixup! fixup! hide proxy password in server log * fixup! fixup! fixup! fixup! fixup! hide proxy password in server log --- server/src/session_manager.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/server/src/session_manager.ts b/server/src/session_manager.ts index e759f6d..4f93be3 100644 --- a/server/src/session_manager.ts +++ b/server/src/session_manager.ts @@ -110,20 +110,31 @@ export class SessionManager { proxy = `http://${proxy}`; } + let loggedProxy: string = proxy; + try { + const parsedUrl = new URL(proxy); + if (parsedUrl.password) { + loggedProxy = proxy.replace(parsedUrl.password, "****"); + } + } catch (e) { + this.logger.warn(`Fail to parse proxy url ${proxy}: ${e}`); + return undefined; + } + switch (protocol) { case "http": case "https": - this.logger.log(`Using HTTP/HTTPS proxy: ${proxy}`); + this.logger.log(`Using HTTP/HTTPS proxy: ${loggedProxy}`); return new HttpsProxyAgent(proxy); case "socks": case "socks4": case "socks4a": case "socks5": case "socks5h": - this.logger.log(`Using SOCKS proxy: ${proxy}`); + this.logger.log(`Using SOCKS proxy: ${loggedProxy}`); return new SocksProxyAgent(proxy); default: - this.logger.warn(`Unsupported proxy protocol: ${proxy}`); + this.logger.warn(`Unsupported proxy protocol: ${loggedProxy}`); return undefined; } }