feat: добавлена возможность импорта из wg-easy и 3x-ui панелей
Основные изменения:
- Создан класс PanelImporter для парсинга и импорта клиентов
- Добавлена поддержка wg-easy (db.json)
- Добавлена поддержка 3x-ui (export JSON)
- Создана таблица panel_imports для отслеживания истории
- Добавлен UI для загрузки backup файлов при создании сервера
- Добавлены API endpoints: POST /api/servers/{id}/import и GET /api/servers/{id}/imports
- Автоматический импорт после деплоя сервера
- Переводы на всех 6 языках (EN, RU, ES, DE, FR, ZH)
- Обновлена документация в README
Функционал:
- Импорт клиентов с сохранением ключей и IP (wg-easy)
- Импорт клиентов с автогенерацией ключей (3x-ui)
- Поддержка экспирации и лимитов трафика из исходных панелей
- История импортов с информацией о количестве клиентов
- Обработка ошибок с детальным логированием
This commit is contained in:
@@ -5,6 +5,7 @@ Web-based management panel for Amnezia AWG (WireGuard) VPN servers.
|
||||
## Features
|
||||
|
||||
- VPN server deployment via SSH
|
||||
- **Import from existing VPN panels** (wg-easy, 3x-ui)
|
||||
- Client configuration management with **expiration dates**
|
||||
- **Traffic limits** for clients with automatic enforcement
|
||||
- **Server backup and restore** functionality
|
||||
@@ -57,8 +58,13 @@ JWT_SECRET=your-secret-key-change-this
|
||||
|
||||
1. Servers → Add Server
|
||||
2. Enter: name, host IP, SSH port, username, password
|
||||
3. Click Deploy Server
|
||||
4. Wait for deployment
|
||||
3. **(Optional) Enable import from existing panel:**
|
||||
- Check "Import from existing panel"
|
||||
- Select panel type (wg-easy or 3x-ui)
|
||||
- Upload backup file (JSON)
|
||||
4. Click "Create Server"
|
||||
5. Wait for deployment
|
||||
6. Clients will be imported automatically if import was enabled
|
||||
|
||||
### Create Client
|
||||
|
||||
@@ -221,6 +227,13 @@ POST /api/servers/{id}/restore - Restore from backup
|
||||
DELETE /api/backups/{id} - Delete backup
|
||||
```
|
||||
|
||||
### Panel Import
|
||||
```
|
||||
POST /api/servers/{id}/import - Import clients from existing panel
|
||||
Parameters: panel_type (wg-easy|3x-ui), backup_file (multipart/form-data)
|
||||
GET /api/servers/{id}/imports - Get import history for server
|
||||
```
|
||||
|
||||
## Translation
|
||||
|
||||
Add OpenRouter API key in Settings, then run:
|
||||
@@ -244,6 +257,7 @@ inc/ - Core classes
|
||||
Translator.php - Multi-language
|
||||
JWT.php - Token auth
|
||||
QrUtil.php - QR code generation
|
||||
PanelImporter.php - Import from wg-easy/3x-ui
|
||||
templates/ - Twig templates
|
||||
migrations/ - SQL migrations (executed in alphabetical order)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user