ssl unwrapper for Windows, Mac, and Linux
a poor man's alternative to openssl s_client
, stunnel
, socat
for the simple use case of connecting a client application that doesn't support tls+sni
through a secure connection, https proxy, or sni multiplexer
(think telnet
, netcat
, ssh
, openvpn
, etc).
$ sclient [flags] <remote> <local>
$ sclient example.com:443 localhost:3000
-
may be used to read from stdin (like netcat)$ ssh -o ProxyCommand="sclient %h" jon.telebit.io
This is useful to be able to connect to SSH even from behind a corporate packet-inspection firewall. It can also be used to multiplex and relay multiple ssh connections through a single host.
$ sclient whatever.com:443 localhost:3000
> [listening] whatever.com:443 <= localhost:3000
$ telnet localhost 3000
$ sclient smtp.gmail.com:465 localhost:2525
> [listening] smtp.gmail.com:465 <= localhost:2525
$ telnet localhost 2525
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 smtp.gmail.com ESMTP c79-v6sm37968282pfb.147 - gsmtp
$ sclient whatever.com -
> (connected to whatever.com:443 and reading from stdin)
Use just like netcat or telnet. A manual HTTP request, for example:
> GET / HTTP/1.1
> Host: whatever.com
> Connection: close
>
$ printf "GET / HTTP/1.1\r\nHost: telebit.cloud\r\n\r\n" | sclient telebit.cloud
sclient
is maintained simultaneously in go and node.js