Download
BareProxy 0.1 Alpha is open source under the Apache License 2.0. The code is on GitHub, and the release carries Linux binaries for amd64 and arm64, with SHA-256 checksums. macOS and Windows come later.
| What | Where |
|---|---|
| Source code | github.com/BareProxy/bareproxy |
| Release | v0.1.0-alpha: Linux binaries for amd64 and arm64, with SHA-256 checksums |
| License | Apache License 2.0, Copyright 2026 BareProxy.com |
| Platform | Linux. macOS and Windows come later |
| Built and tested with | Go 1.27.1 |
Install and First Run for a Hugo Site
This takes a Linux machine, the public folder of a built Hugo site and, for HTTPS, a certificate and key for your domain. The Alpha loads certificate files. Automatic certificates are on the roadmap.
1. Download the binary and the checksums. The release has one file for each machine: bareproxy-0.1.0-alpha-linux-amd64.tar.gz for amd64 and bareproxy-0.1.0-alpha-linux-arm64.tar.gz for arm64. These commands use the amd64 file. The binaries are static, so nothing else needs installing. The amd64 file is tested; the arm64 file is built but not yet tested on hardware.
REL=https://github.com/BareProxy/bareproxy/raw/main/releases/v0.1.0-alpha
curl -LO $REL/bareproxy-0.1.0-alpha-linux-amd64.tar.gz
curl -LO $REL/SHA256SUMS
2. Check the checksum. It should print OK next to the file you downloaded. If it doesn’t, stop and download again.
sha256sum --check --ignore-missing SHA256SUMS
3. Unpack it and put the binary on your path. The archive holds a folder with the bareproxy binary, the README, the LICENSE and the NOTICE.
tar -xzf bareproxy-0.1.0-alpha-linux-amd64.tar.gz
sudo install -m 0755 bareproxy-0.1.0-alpha-linux-amd64/bareproxy /usr/local/bin/bareproxy
bareproxy version
4. Write the config. Three lines serve a Hugo site over HTTPS. Save them as /etc/bareproxy/bareproxy.conf, with your own name and paths:
site example.com
tls /etc/bareproxy/example.com.crt /etc/bareproxy/example.com.key
route /* -> files /var/www/example/public
To try it first on plain HTTP, with no certificate, write site http://localhost:8080 and leave out the tls line.
5. Check it. check reads the whole file and names the line of every problem. It needs no running server.
$ bareproxy check
/etc/bareproxy/bareproxy.conf: ok, 1 site, 0 pools, 1 rule; listening on :80 (http), :443 (https)
6. Run it. run starts the server in the foreground. Ports 80 and 443 need root. Plain HTTP on a high port such as 8080 doesn’t.
sudo bareproxy run
7. Ask it what it would do. In a second terminal, ask about a page of your site. explain names the rule that matched, the file it would send and the precompressed copies next to it, without sending anything.
bareproxy explain GET https://example.com/about/
The demo shows what that prints, and lets you try it in your browser first.
When you change the config, bareproxy plan says what the change will do, bareproxy apply makes it live and bareproxy rollback takes it back. All three are in the config reference.
Build From Source
BareProxy uses only Go’s standard library, so a build downloads nothing. Use Go 1.27.1 or newer, the version the Alpha was built and tested with.
git clone https://github.com/BareProxy/bareproxy
cd bareproxy/src
go build -o ../bin/bareproxy ./cmd/bareproxy
go test ./...
What the Alpha Doesn’t Have Yet
- Automatic certificates. A site that serves HTTPS needs
tlswith a certificate file and a key file.bareproxy checksays so when they’re missing. - The modules. None of the eight add-on modules is built. The Alpha is the core alone.
- macOS and Windows. The binaries are for Linux, and nothing has been tested on other systems yet.
The roadmap has the order.
Tell Us What Breaks
An alpha is for finding what’s wrong. If you try BareProxy on a site or next to an nginx config, write to [email protected] and say what you run today, what you tried and what happened. A config that check rejects and shouldn’t, or accepts and shouldn’t, is just as useful as a crash.