UNPKG

@push.rocks/smartproxy

Version:

A powerful proxy package that effectively handles high traffic, with features such as SSL/TLS support, port proxying, WebSocket handling, dynamic routing with authentication options, and automatic ACME certificate management.

40 lines (39 loc) 1.66 kB
import * as plugins from './plugins.js'; import type { IPortProxySettings } from './classes.pp.interfaces.js'; import { ConnectionManager } from './classes.pp.connectionmanager.js'; import { SecurityManager } from './classes.pp.securitymanager.js'; import { DomainConfigManager } from './classes.pp.domainconfigmanager.js'; import { TlsManager } from './classes.pp.tlsmanager.js'; import { NetworkProxyBridge } from './classes.pp.networkproxybridge.js'; import { TimeoutManager } from './classes.pp.timeoutmanager.js'; import { PortRangeManager } from './classes.pp.portrangemanager.js'; /** * Handles new connection processing and setup logic */ export declare class ConnectionHandler { private settings; private connectionManager; private securityManager; private domainConfigManager; private tlsManager; private networkProxyBridge; private timeoutManager; private portRangeManager; constructor(settings: IPortProxySettings, connectionManager: ConnectionManager, securityManager: SecurityManager, domainConfigManager: DomainConfigManager, tlsManager: TlsManager, networkProxyBridge: NetworkProxyBridge, timeoutManager: TimeoutManager, portRangeManager: PortRangeManager); /** * Handle a new incoming connection */ handleConnection(socket: plugins.net.Socket): void; /** * Handle a connection that should be forwarded to NetworkProxy */ private handleNetworkProxyConnection; /** * Handle a standard (non-NetworkProxy) connection */ private handleStandardConnection; /** * Sets up a direct connection to the target */ private setupDirectConnection; }