Feature: SSH gateway — server-side TUI client over SSH (ssh.chat-style) #8
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Idea (from Zach, 2026-10-16)
Inspired by ssh.chat: run an SSH server as a zero-install client gateway. Users connect with
ssh user@example.com -p 10022and get a full rechat TUI rendered server-side through the SSH PTY — no client install needed.Design
rechat-serverusinggolang.org/x/crypto/ssh(pure Go, no cgo — fits the stack).&auth; on SSH connect the server looks up the key, resolves the account, drops into the chat TUI. The SSH key IS the client credential.rechatTUI (Limoni) running server-side, with terminal I/O wired to the SSH session PTY instead of a local terminal.Architectural implication for Stage 2
The official
rechatclient MUST be built with terminal I/O behind an interface (reader/writer + resize events), not hardcoded to stdin/stdout. Backends:local: real terminal (normal client use)ssh: SSH channel PTY (this gateway)This keeps one TUI codebase serving both.
Scope
rechat-server(default port 10022, configurable; keep within the 10000-10500 test range).&authcommand to link an SSH public key to the account (or reuse the client-key registration from #6 — SSH keys and client keys are the same Ed25519 keys).Out of scope
Open questions
Session vs device semantics (Zach, 2026-10-16)
audit.dbor a table in users.db; decide at implementation).internal/uipackage from #2.