MCPcopy Index your code
hub / github.com/boringproxy/boringproxy

github.com/boringproxy/boringproxy @v0.10.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.10.0 ↗ · + Follow
139 symbols 359 edges 12 files 5 documented · 4%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

boringproxy development is sponsored by TakingNames.io. boringproxy offers full integration with TakingNames.io, providing the simplest way to get up and running with your own domain. More information here, and a demo video of boringproxy working with TakingNames.io here.

Getting Help

If you run into problems running boringproxy, the best place to ask for help is over at the IndieBits community, where we have a dedicated section for boringproxy support. If you think you've found a bug, or want to discuss development, please open an issue.

What is boringproxy?

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

Make the logo image file. It gets baked into the executable so it needs to be available at build time. Note that you don't have to use the official logo for the build. Any PNG will do. It's currently just used for the favicon.

./scripts/generate_logo.sh
cd cmd/boringproxy
go build

To build with version information:

go build -ldflags "-X main.Version=$(git describe --tags)"

Give the executable permission to bind low ports (ie 80/443):

sudo setcap cap_net_bind_service=+ep boringproxy

Running

Server

./boringproxy server

Client

./boringproxy client -server bpdemo.brng.pro -token fKFIjefKDFLEFijKDFJKELJF -client-name demo-client -user demo-user

Core symbols most depended-on inside this repo

alertDialog
called by 25
ui_handler.go
Write
called by 23
sni.go
GetUser
called by 19
database.go
Close
called by 13
sni.go
persist
called by 10
database.go
GetAdminDomain
called by 8
database.go
GetTokenData
called by 7
database.go
GetTunnel
called by 6
api.go

Shape

Method 86
Function 29
Struct 24

Languages

Go100%

Modules by API surface

sni.go28 symbols
database.go27 symbols
ui_handler.go23 symbols
api.go19 symbols
boringproxy.go10 symbols
tunnel_manager.go8 symbols
client.go8 symbols
utils.go5 symbols
auth.go4 symbols
cmd/boringproxy/main.go3 symbols
tls_proxy.go2 symbols
http_proxy.go2 symbols

For agents

$ claude mcp add boringproxy \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact