Secure Client for exposing TLS (aka SSL) secured services as plain-text connections locally, and for multiplexing a single port with multiple protocols using SNI
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 1.4 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. sclient.go
  2. ==========
  3. Secure Client for exposing TLS (aka SSL) secured services as plain-text connections locally.
  4. Also ideal for multiplexing a single port with multiple protocols using SNI.
  5. Unwrap a TLS connection:
  6. ```bash
  7. $ sclient whatever.com:443 localhost:3000
  8. > [listening] telebit.cloud:443 <= localhost:3000
  9. ```
  10. Connect via Telnet
  11. ```bash
  12. $ telnet localhost 3000
  13. ```
  14. Connect via netcat (nc)
  15. ```bash
  16. $ nc localhost 3000
  17. ```
  18. A poor man's (or Windows user's) makeshift replacement for `openssl s_client`, `stunnel`, or `socat`.
  19. Install
  20. =======
  21. ### macOS, Linux, Windows
  22. For the moment you'll have to install go and compile `sclient` yourself:
  23. * <https://golang.org/doc/install#install>
  24. ```bash
  25. git clone
  26. go build sclient*.go
  27. rsync -av sclient-cli /usr/local/bin/sclient
  28. ```
  29. ```bash
  30. go run sclient*.go example.com:443 localhost:3000
  31. ```
  32. Usage
  33. =====
  34. ```bash
  35. sclient <remote> <local> [-k | --insecure]
  36. ```
  37. * remote
  38. * must have servername (i.e. example.com)
  39. * port is optional (default is 443)
  40. * local
  41. * address is optional (default is localhost)
  42. * must have port (i.e. 3000)
  43. Examples
  44. ========
  45. Bridge between `telebit.cloud` and local port `3000`.
  46. ```bash
  47. sclient telebit.cloud 3000
  48. ```
  49. Same as above, but more explicit
  50. ```bash
  51. sclient telebit.cloud:443 localhost:3000
  52. ```
  53. Ignore a bad TLS/SSL/HTTPS certificate and connect anyway.
  54. ```bash
  55. sclient badtls.telebit.cloud:443 localhost:3000 -k
  56. ```