# 📦 Файлы Обновлений Umbrix ## 📁 Структура папок ``` downloads/ ├── android/ # APK файлы для Android │ └── umbrix-2.5.8.apk ├── windows/ # EXE/MSI файлы для Windows │ └── umbrix-2.5.8-setup.exe ├── ios/ # IPA файлы для iOS (через TestFlight или Enterprise) │ └── umbrix-2.5.8.ipa ├── linux/ # AppImage, DEB, RPM для Linux │ ├── umbrix-2.5.8.AppImage │ ├── umbrix-2.5.8.deb │ └── umbrix-2.5.8.rpm └── macos/ # DMG файлы для macOS └── umbrix-2.5.8.dmg ``` ## 🚀 Как добавить обновление ### 1️⃣ Соберите приложение для нужных платформ: **Android (APK):** ```bash flutter build apk --release # Файл: build/app/outputs/flutter-apk/app-release.apk ``` **Windows (EXE):** ```bash flutter build windows --release # Создайте инсталлятор с помощью Inno Setup или MSIX ``` **iOS (IPA):** ```bash flutter build ipa --release # Файл: build/ios/ipa/*.ipa # ⚠️ Нужен Apple Developer аккаунт ``` **Linux (AppImage/DEB):** ```bash flutter build linux --release # Упакуйте в AppImage или создайте DEB пакет ``` **macOS (DMG):** ```bash flutter build macos --release # Создайте DMG образ ``` ### 2️⃣ Скопируйте файлы в соответствующие папки: ```bash # Android cp build/app/outputs/flutter-apk/app-release.apk \ update-server/downloads/android/umbrix-2.5.8.apk # Windows cp build/windows/Umbrix-Setup.exe \ update-server/downloads/windows/umbrix-2.5.8-setup.exe # iOS cp build/ios/ipa/Umbrix.ipa \ update-server/downloads/ios/umbrix-2.5.8.ipa # Linux cp build/linux/Umbrix.AppImage \ update-server/downloads/linux/umbrix-2.5.8.AppImage # macOS cp build/macos/Umbrix.dmg \ update-server/downloads/macos/umbrix-2.5.8.dmg ``` ### 3️⃣ Залейте файлы на ваш сервер: **Через SCP:** ```bash scp -r downloads/ user@your-server.com:/path/to/update-server/ ``` **Через FTP/SFTP:** - Используйте FileZilla, WinSCP или другой FTP клиент - Загрузите папку `downloads` на сервер ### 4️⃣ Обновите latest.json через веб-панель: Откройте **http://localhost:8000/admin/** и укажите правильные URL: **Android:** ``` https://your-server.com/update-server/downloads/android/umbrix-2.5.8.apk ``` **Windows:** ``` https://your-server.com/update-server/downloads/windows/umbrix-2.5.8-setup.exe ``` **iOS:** ``` https://your-server.com/update-server/downloads/ios/umbrix-2.5.8.ipa ``` **Linux:** ``` https://your-server.com/update-server/downloads/linux/umbrix-2.5.8.AppImage ``` **macOS:** ``` https://your-server.com/update-server/downloads/macos/umbrix-2.5.8.dmg ``` ## 📝 Формат latest.json (мультиплатформенный) ```json { "version": "2.5.8", "build_number": "258", "published_at": "2026-01-17T08:00:00Z", "is_prerelease": false, "min_required_version": "2.0.0", "release_notes": "🎉 Что нового:\n- Улучшена стабильность\n- Исправлены ошибки", "downloads": { "android": { "url": "https://your-server.com/update-server/downloads/android/umbrix-2.5.8.apk", "size": 52428800, "checksum": "sha256:abc123..." }, "windows": { "url": "https://your-server.com/update-server/downloads/windows/umbrix-2.5.8-setup.exe", "size": 73400320, "checksum": "sha256:def456..." }, "ios": { "url": "https://your-server.com/update-server/downloads/ios/umbrix-2.5.8.ipa", "size": 67108864, "checksum": "sha256:ghi789..." }, "linux": { "url": "https://your-server.com/update-server/downloads/linux/umbrix-2.5.8.AppImage", "size": 94371840, "checksum": "sha256:jkl012..." }, "macos": { "url": "https://your-server.com/update-server/downloads/macos/umbrix-2.5.8.dmg", "size": 83886080, "checksum": "sha256:mno345..." } } } ``` ## 🔒 Безопасность ### Настройка HTTPS (обязательно для продакшена): ```nginx server { listen 443 ssl; server_name your-server.com; ssl_certificate /etc/letsencrypt/live/your-server.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your-server.com/privkey.pem; location /update-server/downloads/ { alias /path/to/update-server/downloads/; autoindex off; } location /update-server/api.php { include fastcgi_params; fastcgi_pass unix:/run/php/php8.3-fpm.sock; } } ``` ## ⚙️ Автоматизация Создайте скрипт для автоматической сборки и загрузки: ```bash #!/bin/bash # build-and-upload.sh VERSION="2.5.8" SERVER="user@your-server.com" SERVER_PATH="/path/to/update-server/downloads" # Сборка для всех платформ flutter build apk --release flutter build windows --release flutter build linux --release # Копирование на сервер scp build/app/outputs/flutter-apk/app-release.apk \ $SERVER:$SERVER_PATH/android/umbrix-$VERSION.apk scp build/windows/Umbrix-Setup.exe \ $SERVER:$SERVER_PATH/windows/umbrix-$VERSION-setup.exe scp build/linux/Umbrix.AppImage \ $SERVER:$SERVER_PATH/linux/umbrix-$VERSION.AppImage echo "✅ Файлы загружены! Обновите latest.json через веб-панель." ``` ## 📊 Рекомендации по размеру файлов - **Android APK**: 30-70 MB (с Flutter обычно 40-60 MB) - **Windows EXE**: 50-100 MB - **iOS IPA**: 50-80 MB - **Linux AppImage**: 70-120 MB - **macOS DMG**: 60-100 MB ## 🎯 Пример рабочего процесса 1. **Разработка** → Изменения в коде 2. **Тестирование** → Проверка на эмуляторе/устройстве 3. **Сборка** → `flutter build apk/windows/ios/linux/macos` 4. **Загрузка** → Копирование файлов в `downloads/` 5. **Публикация** → Обновление `latest.json` через панель 6. **Уведомление** → Пользователи получают обновление ## 💡 Советы - Всегда используйте HTTPS для скачивания файлов - Храните старые версии (минимум 2-3 последние) - Используйте CDN для больших файлов - Тестируйте обновление перед публикацией - Делайте бэкапы `latest.json` (автоматические)