# WG_SERF - WireGuard Server Panel Современная веб-панель для управления WireGuard VPN серверами. Всё в одном файле. ## 🎯 Что умеет - 🌐 **Создавайте VPN серверы** - несколько серверов на одной машине (wg0, wg1...) - 👥 **Управляйте клиентами** - добавляйте пользователей в пару кликов - 📱 **QR коды** - клиент отсканирует и подключится за 10 секунд - 🔀 **Проброс портов** - открывайте порты клиентам (SSH, RDP, игры) - 📊 **Мониторинг в реальном времени** - кто онлайн, сколько трафика - 🌓 **Темная и Светлая тема** - приятно работать ночью и днём - ⚙️ **Автонастройка** - подсети, порты, IP - всё автоматически ## 🚀 Быстрый старт **Скачайте и установите одной командой:** 1. Нужно зайти на сервер под root ```bash wget https://vserf.ru/download/wgserf/wg_serf && chmod +x wg_serf && ./wg_serf ``` ## 📋 Команды ```bash wg_serf # Показать информацию и статус wg_serf install # Установить (только один раз) wg_serf start # Запустить wg_serf stop # Остановить wg_serf restart # Перезапустить wg_serf status # Статус сервиса wg_serf delete # Полностью удалить ``` ## 🔧 Разработка **Структура проекта:** ``` WG_Serv/ ├── main.go # Точка входа + CLI ├── go.mod / go.sum ├── build/ │ └── wg_serf # Скомпилированный бинарник └── internal/ ├── server/ # HTTP + handlers + embed HTML ├── wireguard/ # Логика WireGuard + iptables └── database/ # БД, конфиг, типы, утилиты ``` **Компиляция:** ```bash # PowerShell (Windows) $env:GOOS="linux"; $env:GOARCH="amd64"; go build -ldflags="-s -w" -o build/wg_serf . # Bash (Linux/Mac) GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o build/wg_serf . ``` **Зависимости:** - `github.com/skip2/go-qrcode` - генерация QR кодов - Всё остальное - встроенные библиотеки Go ## 🔄 Как это работает 1. **Синхронизация:** При запуске БД синхронизируется с WireGuard (удаляет лишние интерфейсы, создает нужные) 2. **Статистика:** Обновляется каждые 5 секунд 3. **Онлайн/офлайн:** Клиент онлайн если handshake < 30 секунд (PersistentKeepalive = 10 сек) 4. **Автоперезапуск:** При сбое systemd автоматически перезапустит 5. **Пробросы портов:** Применяются автоматически через iptables 6. **Автоматический IPtables** Автоматически очищает и заполняет при старте сервера IpTables ## 📁 Файлы После установки в `/opt/wg_serf/`: - `wg_serf` - бинарник - `config.json` - настройки (порт, логин, пароль) - `db.json` - база данных (серверы, клиенты) - `wg_serf.pid` - PID запущенного процесса ## 🛡️ Безопасность - Cookie-based авторизация (24 часа) - Проверка уникальности портов и подсетей - Безопасные имена файлов - Работает только под root ## 👨‍💻 Автор Создано для удобного управления WireGuard VPN **Разработчик:** [voxsel.com](https://voxsel.com/) **Отличный WebServer для Windows:** [vserf.ru](https://vserf.ru/)