- Changed window size to mobile phone format (400x800) - Removed width condition for ActiveProxyFooter - now always visible - Added run-umbrix.sh launch script with icon copying - Stats cards now display on all screen sizes
175 lines
11 KiB
Plaintext
175 lines
11 KiB
Plaintext
═══════════════════════════════════════════════════════════════
|
||
🚀 ШПАРГАЛКА - Система Обновлений Umbrix
|
||
═══════════════════════════════════════════════════════════════
|
||
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 📖 ШАГ 1: ПРОЧИТАЙТЕ ИНСТРУКЦИИ │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
|
||
📄 UPDATE_SERVER_GUIDE.md ← НАЧНИТЕ ЗДЕСЬ
|
||
📂 update-server/
|
||
├── QUICK_START.md ← Быстрый старт (5 минут)
|
||
├── README.md ← Полная инструкция
|
||
└── TESTING.md ← Тестирование
|
||
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 🧪 ШАГ 2: ПРОТЕСТИРУЙТЕ ЛОКАЛЬНО │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
|
||
$ cd update-server
|
||
$ ./start_test_server.sh
|
||
|
||
➜ Сервер запустится на http://localhost:8000
|
||
➜ Для эмулятора: http://10.0.2.2:8000/api.php
|
||
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ ⚙️ ШАГ 3: НАСТРОЙТЕ КОД │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
|
||
Файл: lib/core/model/constants.dart
|
||
|
||
┌──────────────────────────────────────────────────────┐
|
||
│ // Для ТЕСТИРОВАНИЯ: │
|
||
│ static const customUpdateServerUrl = │
|
||
│ "http://10.0.2.2:8000/api.php"; │
|
||
│ │
|
||
│ // Для ПРОДАКШЕНА: │
|
||
│ static const customUpdateServerUrl = │
|
||
│ "https://api.umbrix.net/api/latest"; │
|
||
│ │
|
||
│ // ВКЛЮЧИТЬ собственный сервер: │
|
||
│ static const useCustomUpdateServer = true; │
|
||
└──────────────────────────────────────────────────────┘
|
||
|
||
⚠️ ВАЖНО: Пересоберите после изменений!
|
||
$ flutter build apk --release
|
||
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 🎯 ШАГ 4: ПРОВЕРЬТЕ В ПРИЛОЖЕНИИ │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
|
||
1. Запустите приложение в эмуляторе
|
||
2. Откройте: Настройки → О программе
|
||
3. Нажмите: "Проверить обновления"
|
||
4. Должно появиться окно с новой версией
|
||
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 🌐 ШАГ 5: ЗАГРУЗИТЕ НА СЕРВЕР (ПРОДАКШЕН) │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
|
||
Загрузите через FTP/панель хостинга:
|
||
|
||
📁 /var/www/updates/
|
||
├── api.php ← главный скрипт
|
||
├── latest.json ← информация о версии
|
||
├── .htaccess ← настройки Apache
|
||
└── downloads/ ← создайте пустую папку
|
||
└── (APK файлы будут здесь)
|
||
|
||
Настройте домен: api.umbrix.net → /var/www/updates
|
||
Включите SSL (Let's Encrypt бесплатно)
|
||
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 📦 КАК ВЫКАТИТЬ НОВОЕ ОБНОВЛЕНИЕ? │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
|
||
🎨 СПОСОБ 1: Через веб-панель (рекомендуется)
|
||
|
||
1. Откройте: https://api.umbrix.net/admin/
|
||
2. Заполните форму (версия, URL, описание)
|
||
3. Нажмите "Сохранить обновление"
|
||
4. Готово! 🎉
|
||
|
||
📝 СПОСОБ 2: Вручную (старый способ)
|
||
|
||
1. Соберите APK:
|
||
$ flutter build apk --release
|
||
|
||
2. Переименуйте:
|
||
app-release.apk → umbrix-2.5.8.apk
|
||
|
||
3. Загрузите в папку downloads/ на сервере
|
||
|
||
4. Обновите latest.json:
|
||
{
|
||
"version": "2.5.8",
|
||
"build_number": "258",
|
||
"download_url": "https://api.umbrix.net/downloads/umbrix-2.5.8.apk",
|
||
"release_notes": "🎉 Что нового...",
|
||
"published_at": "2026-01-17T12:00:00Z"
|
||
}
|
||
|
||
5. Готово! Пользователи получат уведомление
|
||
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ ✅ ПРОВЕРОЧНЫЙ СПИСОК │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
|
||
Перед запуском убедитесь:
|
||
|
||
□ PHP 7.4+ установлен на сервере
|
||
□ Файлы загружены: api.php, latest.json, .htaccess
|
||
□ Папка downloads/ создана (права 755)
|
||
□ Домен настроен с HTTPS
|
||
□ URL в constants.dart правильный
|
||
□ useCustomUpdateServer = true
|
||
□ Приложение пересобрано
|
||
□ API отвечает в браузере: https://api.umbrix.net/api/latest
|
||
□ APK скачивается: https://api.umbrix.net/downloads/umbrix-X.X.X.apk
|
||
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 🔧 ПОЛЕЗНЫЕ КОМАНДЫ │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
|
||
# Проверить API в браузере:
|
||
https://api.umbrix.net/api/latest
|
||
|
||
# Проверить через curl:
|
||
$ curl https://api.umbrix.net/api/latest
|
||
|
||
# Собрать APK:
|
||
$ flutter build apk --release
|
||
|
||
# Запустить в эмуляторе:
|
||
$ flutter run
|
||
|
||
# Установить APK в эмулятор:
|
||
$ flutter install
|
||
|
||
# Посмотреть логи:
|
||
$ adb logcat | grep -i umbrix
|
||
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ ❓ ЧАСТЫЕ ПРОБЛЕМЫ │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
|
||
❌ "Обновления не приходят"
|
||
✅ Проверьте: useCustomUpdateServer = true
|
||
✅ Проверьте: URL правильный (с https://)
|
||
✅ Пересоберите приложение
|
||
✅ Версия в latest.json должна быть БОЛЬШЕ текущей
|
||
|
||
❌ "API не отвечает"
|
||
✅ Откройте URL в браузере - должен показать JSON
|
||
✅ Проверьте PHP логи на сервере
|
||
✅ Проверьте, что файлы загружены
|
||
|
||
❌ "Не скачивается APK"
|
||
✅ Проверьте, что файл существует в downloads/
|
||
✅ Проверьте права: chmod 644 file.apk
|
||
✅ Проверьте URL в latest.json
|
||
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ 📞 ДОКУМЕНТАЦИЯ │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
|
||
📄 UPDATE_SERVER_GUIDE.md - главная инструкция
|
||
📂 update-server/INDEX.md - навигация
|
||
📂 update-server/README.md - полное руководство
|
||
📂 update-server/QUICK_START.md - быстрый старт
|
||
📂 update-server/TESTING.md - тестирование
|
||
|
||
═══════════════════════════════════════════════════════════════
|
||
🎉 Готово! Удачи с обновлениями! 🚀
|
||
═══════════════════════════════════════════════════════════════
|