# Windows Build Cheat Sheet ## 🚀 Быстрая сборка (на Windows машине) ```powershell # 1. Клонировать репозиторий git clone --recursive https://update.umbrix.net/vodorod/umbrix.git cd umbrix # 2. Скачать и заменить libcore.dll curl -L -o libcore.tar.gz "https://update.umbrix.net/vodorod/umbrix-libcore/releases/download/v1.7.0-umbrix/libcore-windows-amd64-umbrix.tar.gz" tar -xzf libcore.tar.gz Copy-Item libcore.dll -Destination libcore\bin\libcore.dll -Force # 3. Установить flutter_distributor (один раз) dart pub global activate flutter_distributor # 4. СОБРАТЬ УСТАНОВЩИК dart run flutter_distributor:main package --platform windows --targets exe --skip-clean # ✅ Результат: dist\1.7.3+173\umbrix-setup-x64.exe (~60MB) ``` ## 📦 Что получается? **Один .exe файл** который содержит: - umbrix.exe (основное приложение) - Flutter runtime - libcore.dll (45MB VPN ядро) - WebUI - Все зависимости - Установщик Inno Setup ## 📤 Загрузка в Gitea ```powershell # Переименовать для релиза $version = "1.7.3" $file = "dist\$version+173\umbrix-setup-x64.exe" $newName = "umbrix-$version-windows-setup-x64.exe" Copy-Item $file $newName # Загрузить $token = "YOUR_GITEA_TOKEN" $releaseId = 1 curl -X POST "https://update.umbrix.net/api/v1/repos/vodorod/umbrix/releases/$releaseId/assets?name=$newName" ` -H "Authorization: token $token" ` -H "Content-Type: application/octet-stream" ` --data-binary "@$newName" ``` ## ✅ Тестирование автообновлений ```powershell # 1. Установить старую версию (например 1.7.0) .\umbrix-1.7.0-windows-setup-x64.exe # 2. Запустить приложение # Через 5 секунд появится уведомление об обновлении # 3. Нажать "Обновить" # Автоматически скачается, установится, перезапустится # 4. Проверить версию # Должна быть 1.7.3 ``` ## 🔧 Требования - Windows 10/11 - Flutter 3.24.0+ - Visual Studio 2022 с C++ - Inno Setup 6.x+ (https://jrsoftware.org/isdl.php) ## 📚 Документация - **Полная инструкция:** [WINDOWS_DISTRIBUTOR_BUILD.md](WINDOWS_DISTRIBUTOR_BUILD.md) - **Подпись кода:** [CODE_SIGNING_WINDOWS.md](CODE_SIGNING_WINDOWS.md) - **Ручная сборка:** [WINDOWS_BUILD_INSTRUCTIONS.md](WINDOWS_BUILD_INSTRUCTIONS.md) ## ⚠️ Частые ошибки **"Failed to lookup symbol 'changeHiddifyOptions'"** → Используйте libcore.dll из umbrix-libcore, НЕ из оригинального Hiddify **"Inno Setup not found"** → Установите Inno Setup и добавьте в PATH **"flutter_distributor command not found"** → `dart pub global activate flutter_distributor` → Добавьте `C:\Users\YOUR_NAME\AppData\Local\Pub\Cache\bin` в PATH ## 💡 Сертификат кода **Не обязателен для работы!** - Без сертификата: Windows показывает предупреждение, но приложение работает - С сертификатом: Нет предупреждений, "Проверенный издатель" - Цена: $299-799/год (DigiCert, Sectigo, Certum) - Подробности: [CODE_SIGNING_WINDOWS.md](CODE_SIGNING_WINDOWS.md) ## 🎯 Итого **Одна команда → Один .exe файл → Готово к релизу** ```powershell dart run flutter_distributor package --platform windows --targets exe ``` Всё остальное делается автоматически! 🚀