Files
wgServer/README.md
2025-10-16 16:27:36 +07:00

4.2 KiB
Raw Permalink Blame History

WG_SERF - WireGuard Server Panel

Современная веб-панель для управления WireGuard VPN серверами. Всё в одном файле.

🎯 Что умеет

  • 🌐 Создавайте VPN серверы - несколько серверов на одной машине (wg0, wg1...)
  • 👥 Управляйте клиентами - добавляйте пользователей в пару кликов
  • 📱 QR коды - клиент отсканирует и подключится за 10 секунд
  • 🔀 Проброс портов - открывайте порты клиентам (SSH, RDP, игры)
  • 📊 Мониторинг в реальном времени - кто онлайн, сколько трафика
  • 🌓 Темная и Светлая тема - приятно работать ночью и днём
  • ⚙️ Автонастройка - подсети, порты, IP - всё автоматически

🚀 Быстрый старт

Скачайте и установите одной командой:

  1. Нужно зайти на сервер под root
wget https://vserf.ru/download/wgserf/wg_serf && chmod +x wg_serf && ./wg_serf

📋 Команды

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/            # БД, конфиг, типы, утилиты

Компиляция:

# 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
Отличный WebServer для Windows: vserf.ru