Files
umbrix/update-server/downloads/README.md
Umbrix Developer 76a374950f feat: mobile-like window size and always-visible stats
- 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
2026-01-17 13:09:20 +03:00

238 lines
6.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📦 Файлы Обновлений 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` (автоматические)