HTTPS SSH

Dependencies

go build github.com/saucelabs/sauceproxy-rest/cmd/sauceproxy_ctl go build github.com/elazarl/goproxy/examples/goproxy-basic go build bitbucket.org/henry/kgp/cmd/kgpdemux

- stunnel
- HTTP forwarding proxy

In this directory (root fo the repo):

$ go get -u github.com/saucelabs/sauceproxy-rest
$ go build github.com/saucelabs/sauceproxy-rest/cmd/sauceproxy_ctl
$ go get -u bitbucket.org/henry/kgp
$ go build bitbucket.org/henry/kgp/cmd/kgpdemux

We’ll use goproxy-basic as our HTTP proxy, because it works out of the box:

$ go get -u github.com/elazarl/goproxy
$ go build github.com/elazarl/goproxy/examples/goproxy-basic

Let’s start our tunnel:

$ export SAUCE_USERNAME=...
$ export SAUCE_ACCESS_KEY=...
$ ./scfs.sh
...
ready
$

Once we have our tunnel started, we’ll start stunnel to connect to the tunnel via SSL:

$ stunnel ./stunnel.conf
...

Now we need to connect the KGP demultiplexer to stunnel’s unix domain socket to start demultiplexing the decrypted traffic in clear:

$ kgpdemux unix:///tmp/scfs_stunnel.sock tcp://localhost:8080

We then start our HTTP proxy on localhost 8080 to forward traffic:

$ ./goproxy-basic

Tada! We now have a working secure forwarding HTTP proxy enterprise ready to rock!