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.
- 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 (Windows supported).
- 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
Bifrost comes with a premium Web UI for monitoring and configuration.
Note
Note: UI appearance may vary based on platform and version.
# Build the server
make build-server
# Start with default configuration
./bin/bifrost-server -c server-config.yaml# Build the client
make build-client
# Initialize configuration
./bin/bifrost-client config init --server your-server:7080
# Run the client
./bin/bifrost-client -c client-config.yamlInstall 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
This project is licensed under the MIT License. See the LICENSE file for details.
