From c27dfbfba729a2d09407434c6b159ab77a5d5a9d Mon Sep 17 00:00:00 2001 From: Umbrix Developer Date: Mon, 19 Jan 2026 20:40:39 +0300 Subject: [PATCH] Add Windows build cheat sheet Quick reference for building Windows installer: - 4 simple commands to build .exe - Upload to Gitea instructions - Testing auto-update process - Troubleshooting common errors - Links to detailed documentation --- update-server/WINDOWS_BUILD_CHEATSHEET.md | 110 ++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 update-server/WINDOWS_BUILD_CHEATSHEET.md diff --git a/update-server/WINDOWS_BUILD_CHEATSHEET.md b/update-server/WINDOWS_BUILD_CHEATSHEET.md new file mode 100644 index 00000000..f62f48b3 --- /dev/null +++ b/update-server/WINDOWS_BUILD_CHEATSHEET.md @@ -0,0 +1,110 @@ +# 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 +``` + +Всё остальное делается автоматически! 🚀