Simple tunneling reverse proxy with a fast web UI and auto HTTPS. Designed for self-hosters.
Go to file
Anders Pitman ffc8e45e85 Make Client Name options less ambiguous
Choosing client "Any" is confusing, as it suggests any client
can connect to the tunnel. In reality this options means no client
can connect to the tunnel. Changed it to "No client" in the UI and
"none" in the database.
2021-02-16 18:12:34 -07:00
cmd/boringproxy Remove more log.Fatals 2021-01-23 11:16:50 -07:00
docs Add readme file for the docs 2021-02-07 07:57:03 -05:00
release Fix logo embedding 2020-11-04 09:28:10 -07:00
scripts Forget some stuff 2021-02-15 12:24:12 -07:00
systemd corrected project name and fixed docs/systemd files as requested. 2021-01-04 23:24:32 -07:00
webui Make Client Name options less ambiguous 2021-02-16 18:12:34 -07:00
.dockerignore Use multi stage dockerfile for building 2020-10-31 19:11:11 -04:00
api.go Fix invalid method HTTP error code 2021-02-15 11:50:27 -07:00
auth.go Move executable into separate package 2020-12-07 21:41:45 -07:00
boringproxy.go Merge branch 'update-master' into merge-upstream 2021-01-06 10:22:11 -07:00
client.go Pass context down 2021-01-23 11:25:29 -07:00
database.go Rename instances of BoringProxy 2020-12-07 21:50:33 -07:00
docker-compose.yml Use multi stage dockerfile for building 2020-10-31 19:11:11 -04:00
Dockerfile Use multi stage dockerfile for building 2020-10-31 19:11:11 -04:00
go.mod Move executable into separate package 2020-12-07 21:41:45 -07:00
go.sum Update go.sum 2020-10-31 09:52:14 -06:00
http_proxy.go Switch to streaming requests 2020-12-22 14:47:03 -07:00
LICENSE Create LICENSE 2020-11-04 07:55:43 -07:00
logo_concept.svg Add logo concept svg 2020-10-21 09:50:12 -06:00
logo.svg Improve shadows on logo 2020-10-22 10:08:20 -06:00
notes.md Update notes and todo 2020-10-26 11:11:14 -06:00
README.md Update README.md 2020-11-25 18:42:40 -07:00
sni.go Move executable into separate package 2020-12-07 21:41:45 -07:00
todo.md Update todo 2020-11-24 19:21:59 -07:00
tunnel_manager.go Create authorized_keys file if it doesn't exist 2021-02-15 12:24:54 -07:00
ui_handler.go Rename instances of BoringProxy 2020-12-07 21:50:33 -07:00
utils.go Move executable into separate package 2020-12-07 21:41:45 -07:00

What is it?

If you have a webserver running on one computer (say your development laptop), and you want to expose it securely (ie HTTPS) via a public URL, boringproxy allows you to easily do that.

NOTE: For information on downloading and running boringproxy, it's best to start on the website, boringproxy.io. The information in this README is just for building from source.

Building

git clone https://github.com/boringproxy/boringproxy
cd boringproxy

If you don't already have golang installed:

./install_go.sh
source $HOME/.bashrc
go build

To embed the web UI into the executable:

go get github.com/GeertJohan/go.rice/rice
rice embed-go
go build

Running

Server

boringproxy server -admin-domain bpdemo.brng.pro

Client

boringproxy client -server bpdemo.brng.pro -token fKFIjefKDFLEFijKDFJKELJF -client-name demo-client -user demo-user