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.

58 lines (57 loc) 1.8 kB
import * as plugins from './plugins.js'; import { NetworkProxy } from './networkproxy/classes.np.networkproxy.js'; import { Port80Handler } from './port80handler/classes.port80handler.js'; import type { IConnectionRecord, IPortProxySettings } from './classes.pp.interfaces.js'; /** * Manages NetworkProxy integration for TLS termination */ export declare class NetworkProxyBridge { private settings; private networkProxy; private port80Handler; constructor(settings: IPortProxySettings); /** * Set the Port80Handler to use for certificate management */ setPort80Handler(handler: Port80Handler): void; /** * Initialize NetworkProxy instance */ initialize(): Promise<void>; /** * Handle certificate issuance or renewal events */ private handleCertificateEvent; /** * Get the NetworkProxy instance */ getNetworkProxy(): NetworkProxy | null; /** * Get the NetworkProxy port */ getNetworkProxyPort(): number; /** * Start NetworkProxy */ start(): Promise<void>; /** * Stop NetworkProxy */ stop(): Promise<void>; /** * Register domains with Port80Handler */ registerDomainsWithPort80Handler(domains: string[]): void; /** * Forwards a TLS connection to a NetworkProxy for handling */ forwardToNetworkProxy(connectionId: string, socket: plugins.net.Socket, record: IConnectionRecord, initialData: Buffer, customProxyPort?: number, onError?: (reason: string) => void): void; /** * Synchronizes domain configurations to NetworkProxy */ syncDomainConfigsToNetworkProxy(): Promise<void>; /** * Request a certificate for a specific domain */ requestCertificate(domain: string): Promise<boolean>; }