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