Hi,
I use tezzer daily for my own remote sessions, and have been working on
it as a small terminal transport for keeping remote PTY sessions alive
across connection loss, laptop sleep, and network changes:
https://github.com/kuriyama/tezzer
tezzer is not a terminal multiplexer and is not intended to replace
tmux. A common setup is simply:
local terminal -> tezzer -> tmux on the remote host
tmux continues to handle windows, panes, layouts, and scrollback as
usual. tezzer sits underneath it and reconnects the terminal transport
when the client changes networks or resumes after sleep.
The initial connection and authentication are bootstrapped through SSH;
tezzer adds no authentication scheme of its own. The terminal session
itself is carried over QUIC, so it does require UDP reachability
between client and server -- networks that block UDP will not work.
tezzer forwards terminal byte streams verbatim without maintaining its
own screen model, so terminal extensions such as OSC sequences and
images pass through unchanged. (This is also the main difference from
mosh, which predicts and redraws the screen; docs/mosh-comparison.md
in the repository covers the details.)
It is also possible to use named tezzer sessions directly, for people
who prefer local terminal tabs or panes and use tmux only for session
persistence.
The project is young (pre-1.0; the protocol and CLI may still change),
and I would particularly appreciate feedback from tmux users on:
* terminal behavior that differs from a normal SSH connection
* reconnect behavior with tmux running inside tezzer
* terminals, platforms, or network environments where it fails
Prebuilt binaries for Linux, macOS, and FreeBSD are on the GitHub
releases page, there is a Homebrew tap for macOS, and building from
source requires only Go. tezzer is licensed under Apache-2.0.
Regards,
--
Jun Kuriyama <
kuri...@s2factory.co.jp> // S2 Factory, Inc.