tsshd is a UDP-based SSH server designed to keep SSH sessions alive across network interruptions and IP changes (e.g. switching Wi-Fi, mobile networks, sleep/wake).
It works by starting a temporary tsshd process after a normal SSH login, then migrating the session to QUIC or KCP over UDP. From the user's perspective, it behaves like regular SSH, but with roaming and reconnection support similar to mosh.
Unlike mosh, tsshd aims to be fully compatible with OpenSSH features, including port forwarding, agent forwarding, X11 forwarding, tmux/screen, ProxyJump, etc.
The project is written in Go, open source (MIT), and already used in real environments with unstable or high-latency networks.
I'd really appreciate feedback, especially around security, protocol design, or edge cases.
LonnyWong•1h ago
tsshd is a UDP-based SSH server designed to keep SSH sessions alive across network interruptions and IP changes (e.g. switching Wi-Fi, mobile networks, sleep/wake).
It works by starting a temporary tsshd process after a normal SSH login, then migrating the session to QUIC or KCP over UDP. From the user's perspective, it behaves like regular SSH, but with roaming and reconnection support similar to mosh.
Unlike mosh, tsshd aims to be fully compatible with OpenSSH features, including port forwarding, agent forwarding, X11 forwarding, tmux/screen, ProxyJump, etc.
The project is written in Go, open source (MIT), and already used in real environments with unstable or high-latency networks.
I'd really appreciate feedback, especially around security, protocol design, or edge cases.