tsshd is a UDP-based SSH server (and Go library) designed for unreliable networks, providing seamless client roaming and auto-reconnect. It works in conjunction with the tssh client (trzsz-ssh). The architecture is session-based: a standard SSH login spawns a tsshd process that listens on a UDP port (using KCP or QUIC transport), then the client switches to UDP communication, surviving network changes and temporary disconnections. The codebase implements a full-featured SSH replacement: session management, port forwarding (TCP/UDP), X11 and agent forwarding, terminal attach/detach, and a middleware system for custom session handlers. It also includes a reusable client library (SshUdpClient) for building custom SSH applications with roaming support. The project is well-maintained with extensive test coverage, CI/CD, and multi-platform support (Linux, macOS, Windows, FreeBSD).
sshportal is a transparent SSH bastion/jump host implemented in Go. It allows users to connect to remote hosts through a single point of entry, managing users, hosts, keys, and ACLs. The system features session logging, an interactive administrative shell, support for multi-hop connections, and various SSH features (port forwarding, X11, etc.). It uses a database (SQLite3 by default, MySQL/PostgreSQL supported) for persistence and provides a health check endpoint. The architecture is monolithic with clear separation of concerns: core bastion logic in pkg/bastion/, database models in pkg/dbmodels/, cryptographic utilities in pkg/crypto/, and utilities in pkg/utils/. The code demonstrates good use of interfaces and modular design, though some internal coupling exists between components.
This is a Go application that runs an SSH server at jobs.hackclub.com, presenting Hack Club's open job positions as a virtual filesystem. Users connect via SSH and interact with a terminal-based shell supporting commands like `ls`, `cat`, `help`, and `exit`. Job listings are fetched from Polymer's hire API, converted from HTML to Markdown, and rendered in the terminal with support for light/dark themes, autocomplete, paging, and an animated intro sequence. The project is a playful developer-facing tool rather than a traditional web app or data pipeline.