You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.2 KiB
TypeScript
34 lines
1.2 KiB
TypeScript
8 months ago
|
/// <reference types="node" />
|
||
|
import { SocksProxy } from 'socks';
|
||
|
import { Agent, ClientRequest, RequestOptions } from 'agent-base';
|
||
|
import { AgentOptions } from 'agent-base';
|
||
|
import { Url } from 'url';
|
||
|
import net from 'net';
|
||
|
import tls from 'tls';
|
||
|
interface BaseSocksProxyAgentOptions {
|
||
|
host?: string | null;
|
||
|
port?: string | number | null;
|
||
|
username?: string | null;
|
||
|
tls?: tls.ConnectionOptions | null;
|
||
|
}
|
||
|
interface SocksProxyAgentOptionsExtra {
|
||
|
timeout?: number;
|
||
|
}
|
||
|
export interface SocksProxyAgentOptions extends AgentOptions, BaseSocksProxyAgentOptions, Partial<Omit<Url & SocksProxy, keyof BaseSocksProxyAgentOptions>> {
|
||
|
}
|
||
|
export declare class SocksProxyAgent extends Agent {
|
||
|
private readonly shouldLookup;
|
||
|
private readonly proxy;
|
||
|
private readonly tlsConnectionOptions;
|
||
|
timeout: number | null;
|
||
|
constructor(input: string | SocksProxyAgentOptions, options?: SocksProxyAgentOptionsExtra);
|
||
|
/**
|
||
|
* Initiates a SOCKS connection to the specified SOCKS proxy server,
|
||
|
* which in turn connects to the specified remote host and port.
|
||
|
*
|
||
|
* @api protected
|
||
|
*/
|
||
|
callback(req: ClientRequest, opts: RequestOptions): Promise<net.Socket>;
|
||
|
}
|
||
|
export {};
|