feat: professional multi-format build system

- Added build-all-packages.sh for automated builds
- Support for DEB, RPM, and AppImage formats
- Custom libcore (49MB) integration in all packages
- Professional desktop integration files
- Build report with verification steps
- All packages tested and working

Package sizes:
- DEB: 28MB
- RPM: 35MB
- AppImage: 37MB (portable, no installation)
This commit is contained in:
Umbrix Developer
2026-01-17 13:22:43 +03:00
parent 76a374950f
commit 4184970607
5 changed files with 361 additions and 0 deletions

159
BUILD_REPORT.md Normal file
View File

@@ -0,0 +1,159 @@
# 📦 Umbrix v1.7.0 - Professional Build Report
**Дата сборки:** 17 января 2026
**Версия:** 1.7.0+170
**LibCore:** Custom v1.7.0 (49MB) с полным FFI интерфейсом
---
## ✅ Собранные пакеты
### 📱 Portable Bundle
- **Расположение:** `build/linux/x64/release/bundle/`
- **Запуск:** `./run-umbrix.sh` или `./bundle/umbrix`
- **Размер:** ~52MB (распакованный)
- **Компоненты:**
- ✓ umbrix (24KB) - исполняемый файл
- ✓ libcore.so (49MB) - кастомный с parse() функцией
- ✓ HiddifyCli (1.5MB) - CLI утилита
- ✓ umbrix.png (296KB) - иконка приложения
- ✓ data/ - директория для БД и конфигов
- ✓ lib/ - все Flutter и plugin библиотеки
### 📦 DEB Package (Debian/Ubuntu)
- **Файл:** `dist/1.7.0+170/umbrix-1.7.0+170-linux.deb`
- **Размер:** 28MB
- **Установка:** `sudo dpkg -i umbrix-*.deb`
- **Расположение после установки:** `/usr/share/umbrix/`
- **Десктоп файл:** `/usr/share/applications/umbrix.desktop`
- **Проверка libcore:** ✅ 49MB (кастомный)
### 📦 RPM Package (Fedora/RedHat/CentOS)
- **Файл:** `dist/1.7.0+170/umbrix-1.7.0+170-linux.rpm`
- **Размер:** 35MB
- **Установка:** `sudo rpm -i umbrix-*.rpm`
- **Расположение:** `/usr/share/umbrix/`
- **Проверка libcore:** ✅ 49MB (кастомный)
### 📦 AppImage (Универсальный)
- **Файл:** `dist/1.7.0+170/umbrix-1.7.0+170-linux.AppImage`
- **Размер:** 37MB
- **Запуск:** `chmod +x umbrix-*.AppImage && ./umbrix-*.AppImage`
- **Преимущества:**
- Один файл
- Не требует установки
- Работает на любом Linux с FUSE
- **Проверка libcore:** ✅ 49MB (кастомный)
---
## 🔧 Технические детали
### Кастомный LibCore
- **Источник:** Собран из `libcore/` v1.7.0
- **Функции:** parse(), parseCli() - полный FFI интерфейс
- **Интеграция:** Автоматически заменяется во всех пакетах
- **Проверка:** `strings libcore.so | grep -i "parse\|ffi"`
### База данных
- **Расположение:** `~/.local/share/umbrix/` (при первом запуске)
- **ExtensionData:** Опциональная (не вызывает ошибок при отсутствии)
- **Структура:** LevelDB формат
### Иконка и Desktop Entry
- **Иконка:** ic_launcher_playstore.png (512x512)
- **Desktop файл:** umbrix.desktop
- **Категории:** Network
- **MIME типы:** x-scheme-handler/clash, x-scheme-handler/sing-box
---
## 🚀 Способы установки
### 1. Portable (без установки)
```bash
cd ~/dorod/hiddify-umbrix-v1.7.0
./run-umbrix.sh
```
### 2. DEB (Ubuntu/Debian)
```bash
sudo dpkg -i dist/1.7.0+170/umbrix-1.7.0+170-linux.deb
umbrix
```
### 3. RPM (Fedora/RedHat)
```bash
sudo rpm -i dist/1.7.0+170/umbrix-1.7.0+170-linux.rpm
umbrix
```
### 4. AppImage (любой Linux)
```bash
chmod +x dist/1.7.0+170/umbrix-1.7.0+170-linux.AppImage
./umbrix-1.7.0+170-linux.AppImage
```
---
## ✨ Особенности сборки
### Профессиональная упаковка
- ✅ Кастомный libcore во всех форматах
- ✅ Правильная структура директорий
- ✅ Desktop integration (иконка, MIME types)
- ✅ Опциональная БД (без ошибок при отсутствии)
- ✅ Скрипт автозапуска (run-umbrix.sh)
### UI Improvements
- ✅ Мобильный размер окна (400×800)
- ✅ Статистика трафика всегда видна
- ✅ Phone-like вертикальный layout
### Исправленные проблемы
- ✅ "undefined symbol: parse" - решено через кастомный libcore
- ✅ ExtensionData спам (100 retry) - сделано опциональным
- ✅ Отсутствие статистики - всегда отображается
- ✅ Широкое окно - изменено на узкое (телефон)
---
## 📋 Команды для разработчиков
### Пересборка всех пакетов
```bash
./build-all-packages.sh
```
### Только Flutter bundle
```bash
flutter build linux --release
```
### Проверка libcore в пакетах
```bash
# DEB
dpkg-deb -x dist/1.7.0+170/*.deb /tmp/test && du -h /tmp/test/usr/share/umbrix/lib/libcore.so
# RPM
rpm2cpio dist/1.7.0+170/*.rpm | cpio -idm && du -h usr/share/umbrix/lib/libcore.so
# AppImage
dist/1.7.0+170/*.AppImage --appimage-extract && du -h squashfs-root/lib/libcore.so
```
---
## 🎯 Итог
**Все форматы собраны профессионально:**
- ✅ DEB - 28MB - готов к установке
- ✅ RPM - 35MB - готов к установке
- ✅ AppImage - 37MB - готов к запуску
- ✅ Portable Bundle - готов к запуску
**Кастомный libcore 49MB интегрирован во все пакеты!**
**База данных создаётся автоматически при первом запуске.**
**Запуск без установки:** `./run-umbrix.sh` или AppImage