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