From 43cfb0f4f3eaea2b6de35ba16dfd8a52ea596af0 Mon Sep 17 00:00:00 2001 From: shaw Date: Thu, 18 Sep 2025 17:39:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dopenai=E8=B4=A6?= =?UTF-8?q?=E5=8F=B7=E4=BB=A3=E7=90=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/routes/admin.js | 1 + src/routes/openaiRoutes.js | 1 + src/services/openaiAccountService.js | 7 +++++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/routes/admin.js b/src/routes/admin.js index 162610a2..1b4a93d1 100644 --- a/src/routes/admin.js +++ b/src/routes/admin.js @@ -6076,6 +6076,7 @@ router.post('/openai-accounts/exchange-code', authenticateAdmin, async (req, res const proxyAgent = ProxyHelper.createProxyAgent(sessionData.proxy) if (proxyAgent) { axiosConfig.httpsAgent = proxyAgent + axiosConfig.proxy = false } // 交换 authorization code 获取 tokens diff --git a/src/routes/openaiRoutes.js b/src/routes/openaiRoutes.js index 9c13925c..fb5e7343 100644 --- a/src/routes/openaiRoutes.js +++ b/src/routes/openaiRoutes.js @@ -226,6 +226,7 @@ const handleResponses = async (req, res) => { // 如果有代理,添加代理配置 if (proxyAgent) { axiosConfig.httpsAgent = proxyAgent + axiosConfig.proxy = false logger.info(`🌐 Using proxy for OpenAI request: ${ProxyHelper.getProxyDescription(proxy)}`) } else { logger.debug('🌐 No proxy configured for OpenAI request') diff --git a/src/services/openaiAccountService.js b/src/services/openaiAccountService.js index 74254c90..eeda030f 100644 --- a/src/services/openaiAccountService.js +++ b/src/services/openaiAccountService.js @@ -145,7 +145,7 @@ async function refreshAccessToken(refreshToken, proxy = null) { const proxyAgent = ProxyHelper.createProxyAgent(proxy) if (proxyAgent) { requestOptions.httpsAgent = proxyAgent - requestOptions.proxy = false // 重要:禁用 axios 的默认代理,强制使用我们的 httpsAgent + requestOptions.proxy = false logger.info( `🌐 Using proxy for OpenAI token refresh: ${ProxyHelper.getProxyDescription(proxy)}` ) @@ -671,7 +671,10 @@ async function getAllAccounts() { if (accountData.proxy) { try { accountData.proxy = JSON.parse(accountData.proxy) - // 不屏蔽代理密码,返回明文 + // 屏蔽代理密码 + if (accountData.proxy && accountData.proxy.password) { + accountData.proxy.password = '******' + } } catch (e) { // 如果解析失败,设置为null accountData.proxy = null