Mosh

Mosh is an SSH wrapper that uses a custom UDP protocol after a handshake conducted via SSH. It's claim to fame with low latency typing feedback, including a predictive mode where your input is echoed in the local terminal even before it has been transmitted to the server.

Mosh is purely an interactive tool, port forwarding and file transfers would still be done with SSH.

Mosh requires a unique open UDP port for every session. Firewalls typically forbid this, and for good reasons. Tere looks like regular web traffic, and servers can be behind any HTTP reverse proxy that supports WebSockets over TLS.

Similarities

  • survive temporary network failures and IP address changes

Tere current limitations

These might be lifted with work, later, but for now, Tere definitely cannot do these things:

  • we don't even attempt to do predictive input

Tere architectural limitations

We probably won't (be able to) do anything about these, but external factors might change:

  • no UDP low latency tricks

    We're aiming to support browser clients, and thus use WebSocket as transport, not a custom UDP protocol, and this puts some limits on our latency. HTTP/3 may help with this, later. A standalone client could avoid browser restrictions, but that doesn't seem worth the effort.