multiplexer
A ssl/ssh multiplexer.
Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port).
sslh accepts connections on specified ports, and forwards them further based on tests performed on the first data packet sent by the remote client.
Probes for HTTP, TLS/SSL (including SNI and ALPN), SSH, OpenVPN, tinc, XMPP, SOCKS5, are implemented, and any other protocol that can be tested using a regular expression, can be recognised. A typical use case is to allow serving several services on port 443 (e.g. to connect to SSH from inside a corporate firewall, which almost never block port 443) while still serving HTTPS on that port.
Related contents:
Think tmux, then aim... lower.
shpool is a service that enables session persistence by allowing the creation of named shell sessions owned by shpool so that the session is not lost if the connection drops. shpool can be thought of as a lighter weight alternative to tmux or GNU screen. While tmux and screen take over the whole terminal and provide window spitting and tiling features, shpool only provides persistent sessions. The biggest advantage of this approach is that shpool does not break native scrollback or copy-paste.
- [shpool - much preferred over tmux and screen @ Peter V. Mørch's Blog](https://www.morch.com/posts/2025-03-22-shpool/
A terminal workspace with batteries included.
Zellij is a workspace aimed at developers, ops-oriented people and anyone who loves the terminal. At its core, it is a terminal multiplexer (similar to tmux and GNU Screen), but this is merely its infrastructure layer.
sslh accepts connections on specified ports, and forwards them further based on tests performed on the first data packet sent by the remote client.
Instant terminal sharing.
Tmate is a fork of tmux. It provides an instant pairing solution.
For the 6 months or so I’ve been quietly porting tmux from C to Rust. I’ve recently reached a big milestone: the code base is now 100% (unsafe) Rust. I’d like to share the process of porting the original codebase from ~67,000 lines of C code to ~81,000 lines of Rust (excluding comments and empty lines). You might be asking: why did you rewrite tmux in Rust? And yeah, I don’t really have a good reason. It’s a hobby project. Like gardening, but with more segfaults.