Zeroserve: Zero-config web server scriptable with eBPF
Original: Zeroserve: A zero-config web server you can script with eBPF
Why This Matters
Introduces novel approach to web server configuration using eBPF scripting
Zeroserve is a new zero-configuration HTTPS web server that can be scripted with eBPF programs. It serves websites from single tar files with hot reload, runs eBPF middleware in userspace for each request, and claims to outperform nginx on most workloads while using io_uring throughout.
Zeroserve is a fast, zero-config HTTPS server that serves websites directly from tar files without unpacking to disk. The server supports HTTP/2, TLS 1.3, and hot reloading via SIGHUP signals. Its key innovation is eBPF-based scripting - any .c files in .zeroserve/scripts/ are compiled to eBPF bytecode and run on every request in userspace. The eBPF programs are JIT-compiled to native code using async-ebpf runtime, enabling request routing, authentication, rate limiting, and reverse proxying. The server uses io_uring for all network and disk operations and runs as single-threaded event loops. Zeroserve positions itself as an alternative to nginx and Caddy, eliminating traditional config files in favor of programmable eBPF-based configuration. Sites are deployed as atomic tar file swaps with no dropped connections during reloads.