@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.
32 lines (31 loc) • 1.08 kB
TypeScript
import * as plugins from './plugins.js';
import { ProxyRouter } from './smartproxy.classes.router.js';
export interface INetworkProxyOptions {
port: number;
}
export declare class NetworkProxy {
options: INetworkProxyOptions;
proxyConfigs: plugins.tsclass.network.IReverseProxyConfig[];
httpsServer: plugins.https.Server;
router: ProxyRouter;
socketMap: plugins.lik.ObjectMap<plugins.net.Socket>;
defaultHeaders: {
[key: string]: string;
};
heartbeatInterval: NodeJS.Timeout;
private defaultCertificates;
alreadyAddedReverseConfigs: {
[hostName: string]: plugins.tsclass.network.IReverseProxyConfig;
};
constructor(optionsArg: INetworkProxyOptions);
start(): Promise<void>;
/**
* Internal async handler for processing HTTP/HTTPS requests.
*/
private handleRequest;
updateProxyConfigs(proxyConfigsArg: plugins.tsclass.network.IReverseProxyConfig[]): Promise<void>;
addDefaultHeaders(headersArg: {
[key: string]: string;
}): Promise<void>;
stop(): Promise<void>;
}