238 lines
6.8 KiB
Markdown
238 lines
6.8 KiB
Markdown
|
|
# 📦 Файлы Обновлений 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` (автоматические)
|