Simple tunneling reverse proxy with a fast web UI and auto HTTPS. Designed for self-hosters.
Go to file
Martin Tournoij 384b42ef54 Use "fmt.Print()" instead of "log.Print()" when asking for admin domain
When using "boringproxy server" it asks for the admin domain. All grand,
but it looks rather strange:

	2021/01/05 22:11:05 Starting up
	2021/01/05 22:11:05 Enter Admin Domain:
	[cursor is here]

It wasn't really clear to me this was asking a question, as it includes
the date like a log message and the cursor is on the next line.

So, change it to just fmt.Print()

Maybe the "starting up" should also be moved a bit further down, but
that would conflict with my other PR 🙃
2021-01-05 22:12:25 +08:00
release Fix logo embedding 2020-11-04 09:28:10 -07:00
scripts Add build_arch.sh script 2020-11-28 10:07:02 -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 Use "fmt.Print()" instead of "log.Print()" when asking for admin domain 2021-01-05 22:12:25 +08: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
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