Skip to content

Getting Started with Bifrost

This guide will help you get Bifrost up and running quickly.

  • Go 1.24+ (for building from source)
  • Docker (optional, for containerized deployment)

Download the latest release from the releases page.

Terminal window
# Linux (amd64)
curl -LO https://github.com/rennerdo30/bifrost-proxy/releases/latest/download/bifrost_linux_amd64.tar.gz
tar -xzf bifrost_linux_amd64.tar.gz
# macOS (arm64)
curl -LO https://github.com/rennerdo30/bifrost-proxy/releases/latest/download/bifrost_darwin_arm64.tar.gz
tar -xzf bifrost_darwin_arm64.tar.gz
Terminal window
git clone https://github.com/rennerdo30/bifrost-proxy.git
cd bifrost
make build
Terminal window
docker pull ghcr.io/bifrost-proxy/bifrost/server:latest
docker pull ghcr.io/bifrost-proxy/bifrost/client:latest
  1. Create a configuration file server-config.yaml:
server:
http:
listen: ":7080"
socks5:
listen: ":7180"
backends:
- name: direct
type: direct
enabled: true
routes:
- domains: ["*"]
backend: direct
metrics:
enabled: true
listen: ":7090"
  1. Start the server:
Terminal window
./bifrost-server -c server-config.yaml
  1. Verify it’s running:
Terminal window
curl http://localhost:7090/metrics
Terminal window
# Generate a config file with your server address
./bifrost-client config init -s your-server:7080
# Or with custom options
./bifrost-client config init \
-s your-server:7080 \
-p socks5 \
--http-listen 127.0.0.1:8888 \
-o my-config.yaml

Option 2: Generate Config from Web Dashboard

Section titled “Option 2: Generate Config from Web Dashboard”
  1. Open your server’s web dashboard (e.g., http://your-server:7081)
  2. Click “Config Generator” tab
  3. Fill in the form and download the configuration

Create a configuration file client-config.yaml:

proxy:
http:
listen: "127.0.0.1:7380"
server:
address: "your-server:7080"
routes:
- domains: ["*"]
action: server
Terminal window
./bifrost-client -c client-config.yaml

See the Setup Guide tab in the web dashboard for detailed instructions, or use these common methods:

Browser:

  • Configure your browser to use 127.0.0.1:7380 as HTTP proxy

Environment Variables:

Terminal window
export HTTP_PROXY=http://127.0.0.1:7380
export HTTPS_PROXY=http://127.0.0.1:7380

Command Line:

Terminal window
curl -x http://127.0.0.1:7380 https://example.com

Test with curl:

Terminal window
# HTTP proxy
curl -x http://127.0.0.1:7380 http://httpbin.org/ip
# SOCKS5 proxy
curl --socks5 127.0.0.1:7381 http://httpbin.org/ip