Josh Soref 40ddc4900a spelling: command
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-07-30 01:43:12 -04:00
2023-07-30 01:15:36 -04:00
2022-04-10 08:45:01 +02:00
2023-07-30 01:43:12 -04:00
2013-09-16 22:02:29 +02:00
2023-07-30 01:43:12 -04:00
2022-09-04 15:26:39 +02:00
2022-09-11 22:15:14 +02:00
2022-04-24 18:35:09 +02:00
2014-03-30 18:09:16 +02:00
2023-06-05 22:50:06 +02:00
2022-04-10 09:03:53 +02:00
2023-07-30 01:43:12 -04:00
2022-04-30 09:56:08 +02:00
2021-11-07 13:13:05 +01:00
2022-08-14 10:42:58 +02:00
2023-07-30 01:15:36 -04:00
2022-04-10 08:45:01 +02:00
2022-04-10 08:45:01 +02:00
2023-05-13 22:51:04 +02:00
2022-04-28 15:19:18 +02:00
2022-10-20 12:04:02 -05:00
2022-09-11 21:51:06 +02:00
2023-06-05 22:50:06 +02:00
2023-07-30 01:43:12 -04:00
2022-09-11 21:51:06 +02:00
2023-01-08 22:32:17 +01:00
2023-05-13 23:00:26 +02:00
2022-08-26 12:27:44 +02:00
2023-05-13 22:57:08 +02:00
2022-09-11 21:51:06 +02:00
2022-11-20 18:26:20 +01:00
2013-10-06 12:09:52 +02:00
2023-07-30 01:43:12 -04:00
2020-12-06 15:50:08 +01:00

sslh -- A ssl/ssh multiplexer

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.

Hence sslh acts as a protocol demultiplexer, or a switchboard. With the SNI and ALPN probe, it makes a good front-end to a virtual host farm hosted behind a single IP address.

sslh has the bells and whistles expected from a mature daemon: privilege and capabilities dropping, inetd support, systemd support, transparent proxying, chroot, logging, IPv4 and IPv6, TCP and UDP, a fork-based and a select-based model, and more.

Install

Please refer to the install guide.

Configuration

Please refer to the configuration guide.

Docker image

How to use


docker run \
  --cap-add CAP_NET_RAW \
  --cap-add CAP_NET_BIND_SERVICES \
  --rm \
  -it \
  ghcr.io/yrutschle/sslh:latest \
  --foreground \
  --listen=0.0.0.0:443 \
  --ssh=hostname:22 \
  --tls=hostname:443

docker-compose example

version: "3"

services:
  sslh:
    image: sslh:latest
    hostname: sslh
    ports:
      - 443:443
    command: --foreground --listen=0.0.0.0:443 --tls=nginx:443 --openvpn=openvpn:1194
    depends_on:
      - nginx
      - openvpn

  nginx:
    image: nginx

  openvpn:
    image: openvpn

Comments? Questions?

You can subscribe to the sslh mailing list here: https://lists.rutschle.net/mailman/listinfo/sslh

This mailing list should be used for discussion, feature requests, and will be the preferred channel for announcements.

Of course, check the FAQ first!

Description
No description provided
Readme 4 MiB
Languages
C 91.6%
Perl 4.7%
Shell 2.3%
Makefile 0.8%
Scilab 0.3%
Other 0.3%