Simple tunneling reverse proxy with a fast web UI and auto HTTPS. Designed for self-hosters.
Go to file
2021-01-04 02:40:17 -07:00
release Fix logo embedding 2020-11-04 09:28:10 -07:00
scripts adding systemd service files and howto docs 2021-01-04 02:40:17 -07:00
webui Implement setting TlsTermination on server 2020-11-27 16:01:40 -07:00
.dockerignore Use multi stage dockerfile for building 2020-10-31 19:11:11 -04:00
api.go Implement setting TlsTermination on server 2020-11-27 16:01:40 -07:00
auth.go Automatically create admin user on first start 2020-10-13 09:48:03 -06:00
boringproxy.go Implement specifying cert directory 2020-11-27 21:20:38 -07:00
client.go Fix client TLS termination bug 2020-11-28 11:48:23 -07:00
database.go Implement client TLS termination 2020-11-27 15:36:07 -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 Add QR code login URLs for tokens 2020-10-18 18:39:30 -06:00
go.sum Update go.sum 2020-10-31 09:52:14 -06:00
http_proxy.go Implement specifying cert directory 2020-11-27 21:20:38 -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
main.go Start implementing remote-controlled clients 2020-10-09 10:05:31 -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 Implement client TLS termination 2020-11-27 15:36:07 -07:00
systemd-integration.md adding systemd service files and howto docs 2021-01-04 02:40:17 -07:00
todo.md Update todo 2020-11-24 19:21:59 -07:00
tunnel_manager.go Avoid unnecessary server certs 2020-11-28 11:53:45 -07:00
ui_handler.go Delete tokens when user is deleted 2020-10-30 18:50:24 -06:00
utils.go Fix client TLS termination bug 2020-11-28 11:48:23 -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