diff --git a/server/index.ts b/server/index.ts index 091180a7..4ed2a5df 100644 --- a/server/index.ts +++ b/server/index.ts @@ -97,7 +97,10 @@ app // Register HTTP proxy if (settings.network.proxy.enabled) { - await createCustomProxyAgent(settings.network.proxy); + await createCustomProxyAgent( + settings.network.proxy, + settings.network.forceIpv4First + ); } // Migrate library types diff --git a/server/utils/customProxyAgent.ts b/server/utils/customProxyAgent.ts index 970edfd5..321aa904 100644 --- a/server/utils/customProxyAgent.ts +++ b/server/utils/customProxyAgent.ts @@ -11,7 +11,8 @@ export let requestInterceptorFunction: ( ) => InternalAxiosRequestConfig; export default async function createCustomProxyAgent( - proxySettings: ProxySettings + proxySettings: ProxySettings, + forceIpv4First?: boolean ) { const defaultAgent = new Agent({ keepAliveTimeout: 5000 }); @@ -78,6 +79,7 @@ export default async function createCustomProxyAgent( maxFreeSockets: 10, timeout: 5000, scheduling: 'lifo' as const, + family: forceIpv4First ? 4 : undefined, }; axios.defaults.httpAgent = new HttpProxyAgent(proxyUrl, agentOptions); axios.defaults.httpsAgent = new HttpsProxyAgent(proxyUrl, agentOptions);