2022-01-05 22:58:14 -06:00
|
|
|
boringproxy development is sponsored by [TakingNames.io](https://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](https://takingnames.io/blog/introducing-takingnames-io),
|
|
|
|
and a demo video of boringproxy working with TakingNames.io [here](https://youtu.be/9hf72-fYTts).
|
|
|
|
|
2022-01-11 16:37:20 -06:00
|
|
|
<a href='https://takingnames.io/blog/introducing-takingnames-io'>
|
2022-01-05 22:58:14 -06:00
|
|
|
<img src='https://user-images.githubusercontent.com/7820200/148330003-5f8062ff-22b2-423d-b945-3db87abf10e5.png' width='400'></img>
|
|
|
|
</a>
|
|
|
|
|
2022-01-14 16:28:19 -06:00
|
|
|
# Getting Help
|
|
|
|
|
|
|
|
If you run into problems running boringproxy, the best place to ask for help is
|
|
|
|
over at the [IndieBits][0] community, where we have a [dedicated section][1]
|
|
|
|
for boringproxy support. If you think you've found a bug, or want to discuss
|
|
|
|
development, please [open an issue][2].
|
|
|
|
|
2022-01-05 22:58:14 -06:00
|
|
|
|
|
|
|
# What is boringproxy?
|
2020-09-23 11:28:18 -05:00
|
|
|
|
|
|
|
If you have a webserver running on one computer (say your development laptop),
|
2020-09-29 16:53:10 -05:00
|
|
|
and you want to expose it securely (ie HTTPS) via a public URL, boringproxy
|
2020-09-23 11:28:18 -05:00
|
|
|
allows you to easily do that.
|
2020-10-31 16:13:09 -05:00
|
|
|
|
2020-11-25 19:42:40 -06:00
|
|
|
**NOTE:** For information on downloading and running boringproxy, it's best to
|
|
|
|
start on the website, [boringproxy.io](https://boringproxy.io/). The information
|
|
|
|
in this README is just for building from source.
|
2020-10-31 16:13:09 -05:00
|
|
|
|
|
|
|
|
|
|
|
# Building
|
|
|
|
|
|
|
|
```bash
|
|
|
|
git clone https://github.com/boringproxy/boringproxy
|
|
|
|
```
|
|
|
|
|
|
|
|
```bash
|
|
|
|
cd boringproxy
|
|
|
|
```
|
|
|
|
|
|
|
|
If you don't already have golang installed:
|
|
|
|
|
|
|
|
```bash
|
|
|
|
./install_go.sh
|
|
|
|
source $HOME/.bashrc
|
|
|
|
```
|
|
|
|
|
2021-12-29 22:54:59 -06:00
|
|
|
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.
|
|
|
|
|
|
|
|
```bash
|
|
|
|
./scripts/generate_logo.sh
|
|
|
|
```
|
|
|
|
|
2020-10-31 16:13:09 -05:00
|
|
|
```bash
|
2021-12-29 22:54:59 -06:00
|
|
|
cd cmd/boringproxy
|
2020-10-31 16:13:09 -05:00
|
|
|
go build
|
|
|
|
```
|
|
|
|
|
2022-01-07 15:36:16 -06:00
|
|
|
To build with version information:
|
|
|
|
```bash
|
|
|
|
go build -ldflags "-X main.Version=$(git describe --tags)"
|
|
|
|
```
|
|
|
|
|
2021-12-29 22:54:59 -06:00
|
|
|
Give the executable permission to bind low ports (ie 80/443):
|
|
|
|
|
|
|
|
```bash
|
|
|
|
sudo setcap cap_net_bind_service=+ep boringproxy
|
|
|
|
```
|
|
|
|
|
2020-10-31 16:13:09 -05:00
|
|
|
# Running
|
|
|
|
|
|
|
|
## Server
|
|
|
|
|
|
|
|
```bash
|
2021-12-29 22:54:59 -06:00
|
|
|
./boringproxy server
|
2020-10-31 16:13:09 -05:00
|
|
|
```
|
|
|
|
|
|
|
|
## Client
|
|
|
|
|
|
|
|
```bash
|
2021-12-29 22:54:59 -06:00
|
|
|
./boringproxy client -server bpdemo.brng.pro -token fKFIjefKDFLEFijKDFJKELJF -client-name demo-client -user demo-user
|
2020-10-31 16:13:09 -05:00
|
|
|
```
|
2022-01-03 01:13:48 -06:00
|
|
|
|
|
|
|
[0]: https://forum.indiebits.io
|
|
|
|
|
|
|
|
[1]: https://forum.indiebits.io/c/boringproxy-support/9
|
|
|
|
|
|
|
|
[2]: https://github.com/boringproxy/boringproxy/issues
|