@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
TypeScript
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;
}