# 🎨 Веб-панель управления обновлениями ## 📋 Что это? Простой веб-интерфейс для управления обновлениями Umbrix без редактирования JSON вручную! ``` ┌──────────────────────────────────────────────┐ │ 🚀 Umbrix Update Manager │ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ │ │ │ 📦 Текущая версия: 2.5.7 │ │ │ │ Версия: [2.5.8____________] │ │ Build: [258______________] │ │ URL: [https://...] │ │ Описание: [Что нового...] │ │ │ │ [🔄 Загрузить] [💾 Сохранить обновление] │ └──────────────────────────────────────────────┘ ``` --- ## 🚀 Установка ### Шаг 1: Загрузите файлы Загрузите на сервер папку `admin/`: ``` update-server/ ├── admin/ ← загрузите эту папку │ ├── index.html ← веб-интерфейс │ ├── save.php ← скрипт сохранения │ └── .htaccess ← защита (опционально) ├── api.php └── latest.json ``` ### Шаг 2: Настройте права доступа ```bash # Права на папку admin chmod 755 admin/ # Права на файлы chmod 644 admin/index.html chmod 644 admin/save.php # latest.json должен быть доступен для записи chmod 666 latest.json ``` ### Шаг 3: Откройте в браузере Перейдите по адресу: ``` https://api.umbrix.net/admin/ ``` --- ## 🎯 Как пользоваться? ### 1. Просмотр текущей версии В верхней части автоматически отображается: - ✅ Текущая версия - ✅ Build number - ✅ Статус (STABLE/BETA) - ✅ Дата публикации ### 2. Создание нового обновления 1. Заполните форму: - **Версия** (обязательно): `2.5.8` - **Build Number** (обязательно): `258` - **URL APK** (обязательно): `https://api.umbrix.net/downloads/umbrix-2.5.8.apk` - **Описание**: Что нового в версии - **Дата**: Автоматически или выберите - **Мин. версия**: С какой версии можно обновляться - **Бета**: Поставьте галочку для предварительных релизов 2. Нажмите **"💾 Сохранить обновление"** 3. Готово! Файл `latest.json` обновлен ### 3. Загрузка существующих данных Нажмите **"🔄 Загрузить текущую"** чтобы заполнить форму данными из `latest.json` --- ## 🔒 Безопасность ### Вариант 1: Защита паролем через .htaccess Создайте файл `admin/.htaccess`: ```apache AuthType Basic AuthName "Umbrix Admin Panel" AuthUserFile /var/www/updates/admin/.htpasswd Require valid-user ``` Создайте пароль: ```bash cd /var/www/updates/admin htpasswd -c .htpasswd admin # Введите пароль ``` ### Вариант 2: Защита через PHP Раскомментируйте строки в `save.php`: ```php // РАСКОММЕНТИРУЙТЕ ЭТИ СТРОКИ: $provided_password = $_SERVER['HTTP_X_ADMIN_PASSWORD'] ?? ''; if ($provided_password !== $admin_password) { http_response_code(403); echo json_encode(['success' => false, 'message' => 'Неверный пароль']); exit(); } ``` Затем в `index.html` добавьте в fetch: ```javascript headers: { 'Content-Type': 'application/json', 'X-Admin-Password': 'umbrix2024' // ваш пароль } ``` ### Вариант 3: Скрыть папку admin Переименуйте папку в что-то секретное: ```bash mv admin secret-panel-f7a8e2b9 ``` Адрес будет: `https://api.umbrix.net/secret-panel-f7a8e2b9/` --- ## 📱 Использование с телефона Интерфейс адаптивный - можно управлять с телефона! 1. Откройте в браузере 2. Сохраните на главный экран 3. Готово - полноценное PWA приложение --- ## 🧪 Тестирование локально ```bash # Запустите PHP сервер cd update-server php -S localhost:8000 # Откройте в браузере: http://localhost:8000/admin/ ``` --- ## ✨ Возможности ✅ **Красивый интерфейс** - современный дизайн ✅ **Без кода** - просто заполните форму ✅ **Валидация** - проверка всех полей ✅ **Автобэкап** - старые версии сохраняются ✅ **Логирование** - все действия записываются ✅ **Мобильный** - работает на телефоне ✅ **Безопасность** - защита паролем --- ## 📝 Пример использования ### Сценарий: Выкатка новой версии 1. **Соберите APK:** ```bash flutter build apk --release ``` 2. **Загрузите APK на сервер** в `downloads/umbrix-2.5.8.apk` 3. **Откройте админ-панель** в браузере 4. **Заполните форму:** - Версия: `2.5.8` - Build: `258` - URL: `https://api.umbrix.net/downloads/umbrix-2.5.8.apk` - Описание: `🎉 Исправлены ошибки, улучшена стабильность` 5. **Нажмите "Сохранить"** 6. **Готово!** Пользователи получат уведомление --- ## 🐛 Решение проблем ### Ошибка "Permission denied" ```bash # Дайте права на запись chmod 666 latest.json chmod 777 logs/ ``` ### Ошибка "Method Not Allowed" Проверьте, что файл `save.php` доступен: ```bash curl -X POST https://api.umbrix.net/admin/save.php ``` ### Не загружается current version Проверьте путь к `latest.json` в `save.php`: ```php $json_file = __DIR__ . '/../latest.json'; ``` --- ## 📊 Структура файлов ``` update-server/ ├── admin/ │ ├── index.html ← Веб-интерфейс │ ├── save.php ← Скрипт сохранения │ ├── .htaccess ← Защита (опционально) │ └── README.md ← Эта инструкция │ ├── api.php ← API для приложения ├── latest.json ← Текущая версия ├── latest.json.backup.* ← Автобэкапы │ ├── downloads/ ← APK файлы │ └── umbrix-*.apk │ └── logs/ ├── access.log ← Логи API └── admin.log ← Логи админки ``` --- ## 🎓 Дополнительные возможности ### Добавить подтверждение В `index.html` перед сохранением: ```javascript if (!confirm('Точно сохранить обновление v' + formData.version + '?')) { return; } ``` ### Показать историю версий Добавьте в `save.php`: ```php // Сохранение в историю $history_file = __DIR__ . '/../history.json'; $history = file_exists($history_file) ? json_decode(file_get_contents($history_file), true) : []; $history[] = array_merge($update_data, ['saved_at' => date('c')]); file_put_contents($history_file, json_encode($history, JSON_PRETTY_PRINT)); ``` --- ## ✅ Готово! Теперь у вас есть удобная панель управления обновлениями! **Не нужно:** - ❌ Редактировать JSON вручную - ❌ Подключаться через SSH - ❌ Помнить формат файлов **Просто:** - ✅ Открыли браузер - ✅ Заполнили форму - ✅ Нажали "Сохранить" --- **🎉 Приятного использования!**