UNPKG

webssh2-server

Version:

A Websocket to SSH2 gateway using xterm.js, socket.io, ssh2

35 lines (34 loc) 1.36 kB
import { EventEmitter } from 'events'; import type { Server as IOServer } from 'socket.io'; import type { Config } from './types/config.js'; import type { ClientToServerEvents, ServerToClientEvents, InterServerEvents, SocketData } from './types/contracts/v1/socket.js'; export type SSHCtor = new (config: Config) => { connect: (creds: Record<string, unknown>) => Promise<unknown>; shell: (options: { term?: string | null; rows?: number; cols?: number; width?: number; height?: number; }, env?: Record<string, string> | null) => Promise<EventEmitter & { write?: (d: unknown) => void; end?: () => void; stderr?: EventEmitter; }>; exec: (command: string, options: { pty?: boolean; term?: string; rows?: number; cols?: number; width?: number; height?: number; }, env?: Record<string, string>) => Promise<EventEmitter & { write?: (d: unknown) => void; stderr?: EventEmitter; signal?: (s: string) => void; close?: () => void; }>; resizeTerminal?: (rows: number | null, cols: number | null) => void; end?: () => void; }; export default function init(io: IOServer<ClientToServerEvents, ServerToClientEvents, InterServerEvents, SocketData>, config: Config, SSHConnectionClass: SSHCtor): void;