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.

76 lines (75 loc) 1.79 kB
/** * Interfaces for NfTablesProxy */ /** * Represents a port range for forwarding */ export interface PortRange { from: number; to: number; } export type IPortRange = PortRange; /** * Settings for NfTablesProxy. */ export interface NfTableProxyOptions { fromPort: number | PortRange | Array<number | PortRange>; toPort: number | PortRange | Array<number | PortRange>; toHost?: string; preserveSourceIP?: boolean; deleteOnExit?: boolean; protocol?: 'tcp' | 'udp' | 'all'; enableLogging?: boolean; ipv6Support?: boolean; logFormat?: 'plain' | 'json'; ipAllowList?: string[]; ipBlockList?: string[]; useIPSets?: boolean; forceCleanSlate?: boolean; tableName?: string; maxRetries?: number; retryDelayMs?: number; useAdvancedNAT?: boolean; qos?: { enabled: boolean; maxRate?: string; priority?: number; markConnections?: boolean; }; netProxyIntegration?: { enabled: boolean; redirectLocalhost?: boolean; sslTerminationPort?: number; }; } export type INfTableProxySettings = NfTableProxyOptions; /** * Interface for status reporting */ export interface NfTablesStatus { active: boolean; ruleCount: { total: number; added: number; verified: number; }; tablesConfigured: { family: string; tableName: string; }[]; metrics: { forwardedConnections?: number; activeConnections?: number; bytesForwarded?: { sent: number; received: number; }; }; qosEnabled?: boolean; ipSetsConfigured?: { name: string; elementCount: number; type: string; }[]; } export type INfTablesStatus = NfTablesStatus;