Skip to content

Commit

Permalink
fixup! fixup! hide proxy password in server log
Browse files Browse the repository at this point in the history
  • Loading branch information
Karry committed Feb 11, 2025
1 parent 2f238f3 commit 1acd518
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions server/src/session_manager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,8 @@ export class SessionManager {
getProxyDispatcher(proxy: string | undefined): Agent | undefined {
if (!proxy) return undefined;
let protocol: string;
const parsedUrl = new URL(proxy);
try {
const parsedUrl = new URL(proxy);
protocol = parsedUrl.protocol.replace(":", "");
// eslint-disable-next-line @typescript-eslint/no-unused-vars
} catch (e) {
Expand All @@ -110,25 +110,31 @@ export class SessionManager {
proxy = `http://${proxy}`;
}

let logProxyUrl: string = proxy;
if (parsedUrl.password) {
logProxyUrl = proxy.replace(parsedUrl.password, "****");
let loggedProxy: string = proxy;
try {
const parsedUrl = new URL(proxy);
if (parsedUrl.password) {
loggedProxy = proxy.replace(parsedUrl.password, "****");
}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
} catch (e) {
this.logger.warn(`Fail to parse proxy url ${proxy}: ${e}`)
}

switch (protocol) {
case "http":
case "https":
this.logger.log(`Using HTTP/HTTPS proxy: ${logProxyUrl}`);
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: ${logProxyUrl}`);
this.logger.log(`Using SOCKS proxy: ${loggedProxy}`);
return new SocksProxyAgent(proxy);
default:
this.logger.warn(`Unsupported proxy protocol: ${logProxyUrl}`);
this.logger.warn(`Unsupported proxy protocol: ${loggedProxy}`);
return undefined;
}
}
Expand Down

0 comments on commit 1acd518

Please sign in to comment.