Version 0.6.1: four plugins out, 17 more on the way

The operating system for your web traffic

BareProxy is a small kernel with a stream of plugins on top. The kernel is a web server and reverse proxy: TLS, routing, files straight from a folder, health checks, and config changes that drop nothing. Everything else is a plugin, a sandboxed WebAssembly app you add with one config line: AI crawler control, prerendering for bots, caching, logins, analytics and more, twenty-one on the way. Whatever runs, BareProxy tells you what happened to every request and why. Open source under the Apache License 2.0, for Linux, macOS and Windows.

5,437

Lines of Go in the core and its command, plugin hook-ups included

11.6 MB

The stripped, static Linux amd64 binary with the plugin host, measured

151

Tests in the repository, unit and acceptance

2

Modules outside the standard library: x/crypto from the Go team, and wazero for plugins

The binary is the 0.3.0 build for Linux amd64, made with Go 1.27.1, with the plugin host. Lines and tests are counted on the current source, lines without tests, comments or blank lines. The test logs and the benchmark results are in the results folder of the GitHub repository.

Articles

All posts →

release

BareProxy 0.1 Alpha Adds Plan, Apply and Rollback

BareProxy 0.1 Alpha is out. It adds the part of the design that makes a config change safe: plan says which requests a change will hand to a different place, apply makes …

Try the kernel on your own site

Download BareProxy from GitHub and point it at a Hugo build, or at an nginx config you'd like to shrink. Then write and say which plugin you'd want first.

Download from GitHub