Files

📦 Файлы Обновлений 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):

flutter build apk --release
# Файл: build/app/outputs/flutter-apk/app-release.apk

Windows (EXE):

flutter build windows --release
# Создайте инсталлятор с помощью Inno Setup или MSIX

iOS (IPA):

flutter build ipa --release
# Файл: build/ios/ipa/*.ipa
# ⚠️ Нужен Apple Developer аккаунт

Linux (AppImage/DEB):

flutter build linux --release
# Упакуйте в AppImage или создайте DEB пакет

macOS (DMG):

flutter build macos --release
# Создайте DMG образ

2 Скопируйте файлы в соответствующие папки:

# 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:

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 (мультиплатформенный)

{
  "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 (обязательно для продакшена):

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;
    }
}

⚙️ Автоматизация

Создайте скрипт для автоматической сборки и загрузки:

#!/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 (автоматические)