UNPKG

ludus-mcp

Version:

MCP server for managing Ludus cybersecurity training environments through natural language commands

52 lines 1.46 kB
import type { Logger } from '../utils/logger.js'; export interface SSHTunnelConfig { host: string; port: number; username: string; authMethod: 'key' | 'password'; privateKeyPath?: string | undefined; privateKeyPassphrase?: string | undefined; password?: string | undefined; regularPort: number; primaryPort: number; } export declare class LudusSSHTunnelManager { private sshConfig; private logger; private sshConnection?; private regularTunnelServer?; private primaryTunnelServer?; private instanceId; constructor(sshConfig: SSHTunnelConfig, logger: Logger); connect(): Promise<void>; disconnect(): Promise<void>; /** * Check if tunnels are healthy and responding */ checkTunnelHealth(): Promise<{ regularHealthy: boolean; primaryHealthy: boolean; }>; /** * Attempt to reconnect tunnels if they're not healthy */ ensureTunnelsHealthy(): Promise<void>; /** * Reconnect SSH tunnels */ private reconnectTunnels; private ensureLockDir; private acquireLock; private releaseLock; private readLockFile; private writeLockFile; private isProcessRunning; private isTunnelPortOpen; private startTunnels; private waitForTunnels; private addReference; private removeReference; private readReferences; private writeReferences; } //# sourceMappingURL=sshTunnelManager.d.ts.map