Bifrost is a production-grade proxy system designed for high-performance traffic routing, deep inspection, and seamless tunnel integration. It bridges your local environment with remote networks through WireGuard, OpenVPN, and intelligent domain-based routing.
📚 Full documentation: https://bifrost.docs.renner.dev/
- Multi-Protocol Support: HTTP, HTTPS (CONNECT), and SOCKS5.
- VPN Integration: Native WireGuard (userspace) and OpenVPN support.
- TUN Mode: Full-system traffic capture with advanced split-tunneling (App, Domain, and CIDR rules).
- Auto-Updates: Built-in GitHub-based update mechanism with channel support (stable/prerelease).
- Service Management: Native system service installation for Windows (SCM), macOS (launchd), and Linux (systemd).
- System Proxy: OS-level proxy configuration on Windows (registry/WinINET), macOS (
networksetup), and Linux/GNOME (gsettings). On unsupported desktops it returnsErrNotSupportedrather than silently succeeding.
- Intelligent Routing: Route traffic through different backends based on sophisticated domain patterns.
- Health Checks: TCP, HTTP, and Ping-based health monitoring with automatic failover.
- Rich Analytics: Prometheus metrics, structured JSON logging, and interactive Web UI.
The Bifrost ecosystem consists of a Server for central routing and a Client for local traffic handling.
graph TD
subgraph "Local Environment"
App[Browser / Application] --> Client[Bifrost Client]
end
subgraph "Bifrost Client"
Client --> Debug[Traffic Debugger]
Debug --> Router[Router / Matcher]
end
Router -- "Direct Action" --> Internet[Public Internet]
Router -- "Server Action" --> Server[Bifrost Server]
subgraph "Bifrost Server"
Server --> SRouter[Server Router]
SRouter --> WG[WireGuard Tunnel]
SRouter --> OVP[OpenVPN Tunnel]
SRouter --> Fwd[Forward Proxy]
SRouter --> SDirect[Direct Connection]
end
WG --> TInternet[Target Internet]
OVP --> TInternet
Fwd --> TInternet
SDirect --> TInternet
Both the client and the server ship a Web UI for monitoring and configuration. The UIs live in
web/client and web/server (React + Vite + Tailwind) and are built and embedded into the Go
binaries by the make build targets — no separate web server to run.
Beyond the browser UI there are dedicated frontends in this repository:
desktop/— Wails-based desktop app (Windows, macOS, Linux) with tray integration.mobile/— React Native / Expo app (iOS, Android).openwrt/— packaging for running the client on OpenWrt routers.
Note
UI appearance may vary based on platform and version.
Requirements for building from source: Go 1.25+, Node.js (the Web UIs are compiled and
embedded during the build) and make. Prebuilt nightly archives are also published on the
Releases page.
# Build the server (also builds and embeds the server Web UI)
make build-server
# Start from a copy of the example configuration
cp configs/server-config.example.yaml server-config.yaml
./bin/bifrost-server -c server-config.yaml# Build the client (also builds and embeds the client Web UI)
make build-client
# Generate a client configuration
./bin/bifrost-client config init --server your-server:7080
# Validate it, then run
./bin/bifrost-client validate -c client-config.yaml
./bin/bifrost-client -c client-config.yamlconfigs/ contains ready-made examples for the server, the client, Docker and OpenWrt.
Install Bifrost as a system service to ensure it runs in the background.
# Install as service
sudo bifrost-client service install --config /path/to/config.yaml
# Check status
bifrost-client service statusExplore our comprehensive guides for advanced setups:
- 🚀 Getting Started
- ⚙️ Configuration Guide
- 🔒 Authentication Modes
- 🌐 VPN & Split Tunneling
- 📊 API Reference
- 🤝 Contributing · 📝 Changelog
The rendered version of these docs is at https://bifrost.docs.renner.dev/.
| Layer | Technology |
|---|---|
| Server & client | Go 1.25 (Cobra CLI, userspace WireGuard, OpenVPN, TUN) |
| Web UIs | React 19, TypeScript, Vite, Tailwind CSS (embedded into the binaries) |
| Desktop app | Wails (Go + web frontend) |
| Mobile app | React Native / Expo |
| Observability | Prometheus metrics, structured JSON logs |
| Build & release | Make, GoReleaser, Docker, GitHub Actions |
| Docs site | Astro Starlight (docs/) |
This project is licensed under the MIT License. See the LICENSE file for details.