Simple tunneling reverse proxy with a fast web UI and auto HTTPS. Designed for self-hosters.
Go to file
Anders Pitman 58e38d7f19 Implement HTTPS requests from client to upstreams
Can now put "https://" in front of Client Address to force it to
use TLS. It doesn't do any verification of the upstream cert. This
is intended to work similarly to the way ngrok does it:

https://ngrok.com/docs#http-local-https
2020-11-22 13:49:48 -07:00
release Fix logo embedding 2020-11-04 09:28:10 -07:00
scripts Add android builds 2020-11-20 18:29:12 -07:00
webui Fix more security holes 2020-10-27 15:21:56 -06:00
.dockerignore Use multi stage dockerfile for building 2020-10-31 19:11:11 -04:00
api.go Delete tokens when user is deleted 2020-10-30 18:50:24 -06:00
auth.go Automatically create admin user on first start 2020-10-13 09:48:03 -06:00
boringproxy.go Fix Jellyfin 2020-11-03 10:24:41 -07:00
client.go Implement HTTPS requests from client to upstreams 2020-11-22 13:49:48 -07:00
database.go Make client selection a dropdown 2020-10-24 16:48:53 -06: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
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 Add build and run instructions to readme 2020-10-31 15:13:09 -06:00
todo.md Update todo 2020-11-03 14:09:11 -07:00
tunnel_manager.go Implement using custom SSH keys 2020-10-23 20:56:55 -06:00
ui_handler.go Delete tokens when user is deleted 2020-10-30 18:50:24 -06:00
utils.go Automatically create admin user on first start 2020-10-13 09:48:03 -06: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.

You can learn more at boringproxy.io.

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