From 96dc17b18e3d3efea900957db67478943b4f8469 Mon Sep 17 00:00:00 2001 From: Suyash Kumar Date: Fri, 12 Oct 2018 01:53:29 -0400 Subject: [PATCH] Update README.md (#5) Update README with icon, expanded information, better layout. --- README.md | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4d98769..3a984b1 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,15 @@ -# ssl-proxy -[![Go Report Card](https://goreportcard.com/badge/github.com/suyashkumar/ssl-proxy)](https://goreportcard.com/report/github.com/suyashkumar/ssl-proxy) [![GoDoc](https://godoc.org/github.com/suyashkumar/ssl-proxy?status.svg)](https://godoc.org/github.com/suyashkumar/ssl-proxy) +

+ +

ssl-proxy

+

Simple single-command SSL reverse proxy with autogenerated certificates (LetsEncrypt, self-signed)

+

+

+

+ +A handy and simple way to add SSL to your thing running on a VM--be it your personal jupyter notebook or your team jenkins instance. `ssl-proxy` autogenerates SSL certs and proxies HTTPS traffic to an existing HTTP server in a single command. -A simple Golang SSL reverse proxy that serves traffic over HTTPS and proxies it to any other web server you might be running. `ssl-proxy` will auto-generate self-signed certificates for you if none are provided to it (useful for things like `jupyter` notebooks in a pinch). Support for autogenerated LetsEncrypt certificates [is coming soon](https://github.com/suyashkumar/ssl-proxy/issues/1). Usage is simple: ## Usage +### With auto self-signed certificates ```sh ssl-proxy -from 0.0.0.0:4430 -to 127.0.0.1:8000 ``` @@ -10,6 +17,12 @@ This will immediately generate self-signed certificates and being proxying HTTPS I know `nginx` is often used for stuff like this, but I got tired of dealing with the boilerplate and wanted to explore something fun. So I ended up throwing this together. +### With auto LetsEncrypt SSL certificates +```sh +ssl-proxy -from 0.0.0.0:443 -to 127.0.0.1:8000 -domain=mydomain.com +``` +This will immediately generate, fetch, and serve real LetsEncrypt certificates for `mydomain.com` and being proxying HTTPS traffic from https://0.0.0.0:443 to http://127.0.0.1:8000. For now, you need to ensure that `ssl-proxy` can bind port `:443` and that `mydomain.com` routes to the server running `ssl-proxy` (as you may have expected, this is not the tool you should be using if you have load-balancing over multiple servers or other deployment configurations). + ### Provide your own certs ```sh ssl-proxy -cert cert.pem -key myKey.pem -from 0.0.0.0:4430 -to 127.0.0.1:8000 @@ -25,4 +38,7 @@ wget -qO- $BINARY_RELEASE_LINK | tar xvz ``` ### Build from source -You must have Golang installed on your system along with `make`. Then simply clone the repository and run `make`. +You must have Golang installed on your system along with `make` and [`dep`](https://github.com/golang/dep). Then simply clone the repository and run `make`. + +## Attribution +Icons made by Those Icons from www.flaticon.com is licensed by CC 3.0 BY