Simple tunneling reverse proxy with a fast web UI and auto HTTPS. Designed for self-hosters.
Go to file
Anders Pitman 60fbfac081 Implement first draft of HTML UI
The UI was originally written using fancy HTML checkbox toggle
hacks in order to make the UI very fast. It's cool but complicated
and difficult to change. In order to make updates to the UI more
quickly, I'm changing it to use traditional HTML with full page
reloads for navigation. It's not as fast but much simpler.
2021-12-14 14:06:25 -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 Add freebsd and openbsd builds 2021-12-05 12:59:05 -07:00
systemd corrected project name and fixed docs/systemd files as requested. 2021-01-04 23:24:32 -07:00
templates Implement first draft of HTML UI 2021-12-14 14:06:25 -07:00
webui Implement selecting tunnel port 2021-02-16 18:37:31 -07:00
.dockerignore Use multi stage dockerfile for building 2020-10-31 19:11:11 -04:00
api.go Implement selecting tunnel port 2021-02-16 18:37:31 -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 Don't follow redirects in client HTTP client 2021-10-02 11:04:47 -06: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 Update Dockerfile to build properly 2021-04-01 22:20:17 +01:00
go.mod Implement first draft of HTML UI 2021-12-14 14:06:25 -07:00
go.sum Implement first draft of HTML UI 2021-12-14 14:06:25 -07:00
http_proxy.go Strip connection headers 2021-02-22 23:04:43 -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 2021-03-29 11:13:28 -06: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 Prevent duplicate domains 2021-12-03 17:50:02 -07:00
ui_handler.go Implement first draft of HTML UI 2021-12-14 14:06:25 -07:00
utils.go Strip connection headers 2021-02-22 23:04:43 -07:00

Disclaimer

boringproxy is currently beta-quality software. While I am a big believer in open source, my primary goal at the moment is to build a sustainable business around the code I write. So for the most part I can only afford to spend time fixing problems that arise in my own usage of boringproxy. That said, feel free to create GitHub issues and I'll try to help as I have time.

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