# SeaBee's WireGuard Helper Script This Python script simplifies the installation and management of a WireGuard VPN server, including client configuration. ## 🔧 Features - Installs WireGuard and required dependencies - Generates server and peer key pairs - Edits and manages the WireGuard config file (`wg0.conf`) - Stores configuration data in a JSON file for easy reuse - Allows editing the server endpoint - Starts a temporary web admin panel for WireGuard management - Automatically opens port `51820` using UFW (if enabled) ## 📦 Requirements - Python 3 - Flask (`sudo apt install python3-flask` **or** `pip install flask`) - A Linux-based system - Internet connection > ⚠️ Note: This script has been tested on debain and may not work on your machine ## 🚀 Installation & Usage 1. Ensure you have **all** dependencies ```bash sudo apt install curl python3-flask -y ``` 2. Download and run the script ```bash curl -L -o wg_helper.py https://raw.githubusercontent.com/seabee33/wireguard_helper/main/wg_helper.py ``` 3. **Set the admin password** on **line 10** of the file: `ADMIN_PASSWORD = "your_secure_password_here"` 4. **Run the script with sudo or as root** `sudo python3 wg_helper.py` 5. Access the web panel: Open your browser and go to: `http://:5050` and go through the easy setup steps: ## Setup once web panel loaded 1. Install and activate necessary software in **system status** (Install wireguard, autostart wireguard at boot, install iptables, Open Port 51820 *if ufw is installed*) 2. Fill in endpoint in options 3. generate keys 4. Add peers with a unique name 5. download peer config and connect on client device 6. Don't forget to port forward your server on your modem! (port 51820) Preview: ![image](https://github.com/user-attachments/assets/005ca4e2-0569-4605-acd4-0f0961fc2ba5)