UNPKG

@push.rocks/smartproxy

Version:

A powerful proxy package with unified route-based configuration for high traffic management. Features include SSL/TLS support, flexible routing patterns, WebSocket handling, advanced security options, and automatic ACME certificate management.

45 lines (44 loc) 1.29 kB
/** * PROXY Protocol Parser * Implementation of HAProxy PROXY protocol v1 (text format) * Spec: https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt */ import type { IProxyInfo, IProxyParseResult, TProxyProtocol } from './types.js'; /** * PROXY protocol parser */ export declare class ProxyProtocolParser { static readonly PROXY_V1_SIGNATURE = "PROXY "; static readonly MAX_HEADER_LENGTH = 107; static readonly HEADER_TERMINATOR = "\r\n"; /** * Parse PROXY protocol v1 header from buffer * Returns proxy info and remaining data after header */ static parse(data: Buffer): IProxyParseResult; /** * Generate PROXY protocol v1 header */ static generate(info: IProxyInfo): Buffer; /** * Validate IP address format */ static isValidIP(ip: string, protocol: TProxyProtocol): boolean; /** * Check if string is valid IPv4 */ static isIPv4(ip: string): boolean; /** * Check if string is valid IPv6 */ static isIPv6(ip: string): boolean; /** * Create a connection ID string for tracking */ static createConnectionId(connectionInfo: { sourceIp?: string; sourcePort?: number; destIp?: string; destPort?: number; }): string; }