SSL/SSH multiplexer
sslh accepts HTTPS, SSH, OpenVPN, WireGuard, tinc, XMPP and other protocols on the same port, demultiplexing them based on probes of the first packet. This makes it possible to connect to any of these servers on port 443 (e.g. from inside a corporate firewall, which almost never blocks port 443) while still serving HTTPS on that port. TCP and UDP are supported. TLS probing can use SNI and ALPN. Three binaries are provided: sslh-fork, sslh-select and sslh-ev. -fork has higher overhead, but processes are isolated and restarts don't disrupt active connections. -select and -ev avoid multiple processes: of the two, -ev should be lower overhead but is newer; -select is more well-tested.
Homepage: https://www.rutschle.net/tech/sslh/README.html