--- hide: - navigation ---

WireBuddy Logo WireBuddy Logo

Modern WireGuard VPN Management with Integrated DNS Ad-Blocking

GitHub Release Docker Pulls License

--- ## What is WireBuddy? WireBuddy is a web interface for managing WireGuard VPN servers with built-in DNS ad-blocking. It adds multi-user authentication (roles, passkeys, TOTP) and multi-node clustering on top of plain WireGuard management. ## Key Features
- :material-shield-lock:{ .lg .middle } **Secure VPN Management** --- Multi-interface WireGuard management with automatic keypair generation, routing presets, and QR codes for easy mobile setup. [:octicons-arrow-right-24: WireGuard Features](features/wireguard.md) - :material-earth:{ .lg .middle } **Multi-Node Deployment** --- Deploy WireGuard servers across multiple countries/regions with centralized management, automatic config sync, and per-peer node assignment. [:octicons-arrow-right-24: Multi-Node Guide](features/multi-node.md) - :material-dns:{ .lg .middle } **DNS Ad-Blocking** --- Integrated Unbound resolver with customizable blocklists, DNS-over-TLS, real-time query logging, and per-client custom rules. [:octicons-arrow-right-24: DNS Features](features/dns.md) - :material-chart-line:{ .lg .middle } **Analytics & Monitoring** --- Built-in time-series database with per-peer traffic charts, GeoIP mapping, and traffic analysis by country & ASN. [:octicons-arrow-right-24: Monitoring](features/monitoring.md) - :material-account-lock:{ .lg .middle } **Advanced Authentication** --- Multi-user support with Passkeys (WebAuthn), TOTP, and granular role-based access control. [:octicons-arrow-right-24: User Management](features/users.md) - :material-certificate:{ .lg .middle } **Let's Encrypt Integration** --- Built-in ACME client with HTTP-01 challenge for automatic SSL certificate management. [:octicons-arrow-right-24: ACME](features/acme.md) - :material-palette:{ .lg .middle } **Modern Web UI** --- Responsive Bootstrap 5 interface with dark/light/auto theme and Material Design icons. [:octicons-arrow-right-24: Getting Started](getting-started/quick-start.md)
## Quick Start Get WireBuddy up and running in minutes: ```bash git clone https://github.com/Gill-Bates/wirebuddy.git cd wirebuddy cp .env-example .env # Edit .env and set WIREBUDDY_SECRET_KEY. docker compose --env-file .env -f docker/docker-compose.yml up -d ``` !!! success "Default Access" Navigate to `http://localhost:8000` and login with: - **Username:** `admin` - **Password:** printed once to the console at first startup (not logged, not stored). Read it with `docker logs wirebuddy` !!! warning On first login WireBuddy redirects you to a mandatory password change screen; the temporary password is invalidated once you set a new one. [:material-rocket-launch: Full Installation Guide](getting-started/installation.md){ .md-button .md-button--primary } [:material-book-open-page-variant: Quick Start](getting-started/quick-start.md){ .md-button } ## Screenshots === "Dashboard" ![Dashboard](https://raw.githubusercontent.com/Gill-Bates/wirebuddy/main/.github/img/screen_2.jpeg) === "Traffic" ![Traffic](https://raw.githubusercontent.com/Gill-Bates/wirebuddy/main/.github/img/screen_3.jpeg) === "DNS Ad-Blocker" ![DNS](https://raw.githubusercontent.com/Gill-Bates/wirebuddy/main/.github/img/screen_4.jpeg) ## Security Authentication, secret storage, CSRF and rate-limiting behaviour, and container hardening are described in the [Security Overview](security/overview.md). ## Community & Support
[:fontawesome-brands-github: GitHub Repository](https://github.com/Gill-Bates/wirebuddy){ .md-button } [:fontawesome-brands-docker: Docker Hub](https://hub.docker.com/r/giiibates/wirebuddy){ .md-button } [:material-bug: Report Issues](https://github.com/Gill-Bates/wirebuddy/issues){ .md-button }
## License WireBuddy is licensed under the [MIT License](https://github.com/Gill-Bates/wirebuddy/blob/main/LICENSE). ---

Made with ☕ by Gill-Bates