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

93 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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/)