Инициализация проекта
Всем привет :)
This commit is contained in:
93
README.md
Normal file
93
README.md
Normal file
@@ -0,0 +1,93 @@
|
||||
# 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/)
|
Reference in New Issue
Block a user