forked from Yara724/api
update the fanavaran for both tejarat no and parsian clients , dont forget about the env files
This commit is contained in:
26
src/core/config/http-proxy.factory.ts
Normal file
26
src/core/config/http-proxy.factory.ts
Normal file
@@ -0,0 +1,26 @@
|
||||
import { ConfigService } from "@nestjs/config";
|
||||
import { HttpModuleOptions } from "@nestjs/axios";
|
||||
import { SocksProxyAgent } from "socks-proxy-agent";
|
||||
|
||||
/**
|
||||
* Shared HttpModule.registerAsync factory that applies the SOCKS proxy
|
||||
* when SOCKS_PROXY_HOST + SOCKS_PROXY_PORT env vars are set.
|
||||
* Used by every module that imports HttpModule.
|
||||
*/
|
||||
export function createHttpModuleOptions(
|
||||
configService: ConfigService,
|
||||
): HttpModuleOptions | Promise<HttpModuleOptions> {
|
||||
const socksHost = configService.get<string>("SOCKS_PROXY_HOST");
|
||||
const socksPort = configService.get<string>("SOCKS_PROXY_PORT");
|
||||
|
||||
if (socksHost && socksPort) {
|
||||
const proxyUrl = `socks5://${socksHost}:${socksPort}`;
|
||||
const agent = new SocksProxyAgent(proxyUrl);
|
||||
return {
|
||||
httpsAgent: agent,
|
||||
httpAgent: agent,
|
||||
proxy: false,
|
||||
};
|
||||
}
|
||||
return {};
|
||||
}
|
||||
Reference in New Issue
Block a user