mirror of
https://github.com/boringproxy/boringproxy.git
synced 2025-02-25 18:55:29 -06:00
Simple tunneling reverse proxy with a fast web UI and auto HTTPS. Designed for self-hosters.
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 |
||
---|---|---|
release | ||
scripts | ||
webui | ||
.dockerignore | ||
api.go | ||
auth.go | ||
boringproxy.go | ||
client.go | ||
database.go | ||
docker-compose.yml | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
LICENSE | ||
logo_concept.svg | ||
logo.svg | ||
main.go | ||
notes.md | ||
README.md | ||
todo.md | ||
tunnel_manager.go | ||
ui_handler.go | ||
utils.go |
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