123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- /// <reference types="node" />
- /// <reference types="node" />
- /// <reference types="node" />
- import { Duplex } from 'stream';
- import { Socket, SocketConnectOpts } from 'net';
- declare const DEFAULT_TIMEOUT = 30000;
- type SocksProxyType = 4 | 5;
- declare const ERRORS: {
- InvalidSocksCommand: string;
- InvalidSocksCommandForOperation: string;
- InvalidSocksCommandChain: string;
- InvalidSocksClientOptionsDestination: string;
- InvalidSocksClientOptionsExistingSocket: string;
- InvalidSocksClientOptionsProxy: string;
- InvalidSocksClientOptionsTimeout: string;
- InvalidSocksClientOptionsProxiesLength: string;
- InvalidSocksClientOptionsCustomAuthRange: string;
- InvalidSocksClientOptionsCustomAuthOptions: string;
- NegotiationError: string;
- SocketClosed: string;
- ProxyConnectionTimedOut: string;
- InternalError: string;
- InvalidSocks4HandshakeResponse: string;
- Socks4ProxyRejectedConnection: string;
- InvalidSocks4IncomingConnectionResponse: string;
- Socks4ProxyRejectedIncomingBoundConnection: string;
- InvalidSocks5InitialHandshakeResponse: string;
- InvalidSocks5IntiailHandshakeSocksVersion: string;
- InvalidSocks5InitialHandshakeNoAcceptedAuthType: string;
- InvalidSocks5InitialHandshakeUnknownAuthType: string;
- Socks5AuthenticationFailed: string;
- InvalidSocks5FinalHandshake: string;
- InvalidSocks5FinalHandshakeRejected: string;
- InvalidSocks5IncomingConnectionResponse: string;
- Socks5ProxyRejectedIncomingBoundConnection: string;
- };
- declare const SOCKS_INCOMING_PACKET_SIZES: {
- Socks5InitialHandshakeResponse: number;
- Socks5UserPassAuthenticationResponse: number;
- Socks5ResponseHeader: number;
- Socks5ResponseIPv4: number;
- Socks5ResponseIPv6: number;
- Socks5ResponseHostname: (hostNameLength: number) => number;
- Socks4Response: number;
- };
- type SocksCommandOption = 'connect' | 'bind' | 'associate';
- declare enum SocksCommand {
- connect = 1,
- bind = 2,
- associate = 3
- }
- declare enum Socks4Response {
- Granted = 90,
- Failed = 91,
- Rejected = 92,
- RejectedIdent = 93
- }
- declare enum Socks5Auth {
- NoAuth = 0,
- GSSApi = 1,
- UserPass = 2
- }
- declare const SOCKS5_CUSTOM_AUTH_START = 128;
- declare const SOCKS5_CUSTOM_AUTH_END = 254;
- declare const SOCKS5_NO_ACCEPTABLE_AUTH = 255;
- declare enum Socks5Response {
- Granted = 0,
- Failure = 1,
- NotAllowed = 2,
- NetworkUnreachable = 3,
- HostUnreachable = 4,
- ConnectionRefused = 5,
- TTLExpired = 6,
- CommandNotSupported = 7,
- AddressNotSupported = 8
- }
- declare enum Socks5HostType {
- IPv4 = 1,
- Hostname = 3,
- IPv6 = 4
- }
- declare enum SocksClientState {
- Created = 0,
- Connecting = 1,
- Connected = 2,
- SentInitialHandshake = 3,
- ReceivedInitialHandshakeResponse = 4,
- SentAuthentication = 5,
- ReceivedAuthenticationResponse = 6,
- SentFinalHandshake = 7,
- ReceivedFinalResponse = 8,
- BoundWaitingForConnection = 9,
- Established = 10,
- Disconnected = 11,
- Error = 99
- }
- /**
- * Represents a SocksProxy
- */
- interface SocksProxy {
- ipaddress?: string;
- host?: string;
- port: number;
- type: SocksProxyType;
- userId?: string;
- password?: string;
- custom_auth_method?: number;
- custom_auth_request_handler?: () => Promise<Buffer>;
- custom_auth_response_size?: number;
- custom_auth_response_handler?: (data: Buffer) => Promise<boolean>;
- }
- /**
- * Represents a remote host
- */
- interface SocksRemoteHost {
- host: string;
- port: number;
- }
- /**
- * SocksClient connection options.
- */
- interface SocksClientOptions {
- command: SocksCommandOption;
- destination: SocksRemoteHost;
- proxy: SocksProxy;
- timeout?: number;
- existing_socket?: Duplex;
- set_tcp_nodelay?: boolean;
- socket_options?: SocketConnectOpts;
- }
- /**
- * SocksClient chain connection options.
- */
- interface SocksClientChainOptions {
- command: 'connect';
- destination: SocksRemoteHost;
- proxies: SocksProxy[];
- timeout?: number;
- randomizeChain?: false;
- }
- interface SocksClientEstablishedEvent {
- socket: Socket;
- remoteHost?: SocksRemoteHost;
- }
- type SocksClientBoundEvent = SocksClientEstablishedEvent;
- interface SocksUDPFrameDetails {
- frameNumber?: number;
- remoteHost: SocksRemoteHost;
- data: Buffer;
- }
- export { DEFAULT_TIMEOUT, ERRORS, SocksProxyType, SocksCommand, Socks4Response, Socks5Auth, Socks5HostType, Socks5Response, SocksClientState, SocksProxy, SocksRemoteHost, SocksCommandOption, SocksClientOptions, SocksClientChainOptions, SocksClientEstablishedEvent, SocksClientBoundEvent, SocksUDPFrameDetails, SOCKS_INCOMING_PACKET_SIZES, SOCKS5_CUSTOM_AUTH_START, SOCKS5_CUSTOM_AUTH_END, SOCKS5_NO_ACCEPTABLE_AUTH, };
|