# VPN Gateway Documentation ## Overview This documentation covers the VPN Gateway multi-provider system with permanent killswitch protection. ## Contents - [Quick Start Guide](QUICKSTART.md) - Get up and running in minutes - [Provider Configuration](PROVIDERS.md) - Detailed provider setup - [Security Documentation](SECURITY.md) - Security features and best practices - [API Reference](API.md) - WebUI API endpoints - [Troubleshooting](TROUBLESHOOTING.md) - Common issues and solutions - [FAQ](FAQ.md) - Frequently asked questions ## Architecture ``` ┌─────────────────────────────────────┐ │ Client Devices │ └────────────┬────────────────────────┘ │ ▼ ┌─────────────────────────────────────┐ │ VPN Gateway Container │ │ ┌─────────────────────────────┐ │ │ │ WebUI (Port 80/5000) │ │ │ └──────────┬──────────────────┘ │ │ │ │ │ ┌──────────▼──────────────────┐ │ │ │ Flask Backend (Python) │ │ │ └──────────┬──────────────────┘ │ │ │ │ │ ┌──────────▼──────────────────┐ │ │ │ WireGuard Interface (wg0) │ │ │ └──────────┬──────────────────┘ │ │ │ │ │ ┌──────────▼──────────────────┐ │ │ │ Killswitch (iptables) │ │ │ └──────────┬──────────────────┘ │ └─────────────┼───────────────────────┘ │ ▼ ┌──────────────────┐ │ VPN Provider │ │ • Mullvad │ │ • Custom Server │ │ • Imported Config│ └──────────────────┘ ``` ## Key Components ### 1. Killswitch - Permanent firewall rules - Blocks all non-VPN traffic - Cannot be disabled via UI ### 2. WebUI - Modern responsive interface - Real-time status monitoring - Multi-provider support ### 3. Backend - Flask-based API - Provider management - Connection handling ### 4. Security Monitor - Continuous monitoring - Leak detection - Auto-recovery ## Support - GitHub Issues: https://github.com/yourusername/vpn-gateway/issues - Documentation: https://github.com/yourusername/vpn-gateway/wiki