diff --git a/tools/chatgui/build.sh b/tools/chatgui/build.sh index 3d516dfb..34ac9301 100755 --- a/tools/chatgui/build.sh +++ b/tools/chatgui/build.sh @@ -79,6 +79,7 @@ for d in /ucrt64/share/qt5/plugins /ucrt64/lib/qt5/plugins; do cp "$d/platforms/qwindows.dll" "$BUILD_DIR/platforms/" 2>/dev/null && break done cp "$SRC_DIR/rlottie_build/librlottie.dll" "$BUILD_DIR/" 2>/dev/null && log " OK: librlottie.dll" || log " WARN: librlottie.dll not found" +cp "$SRC_DIR/setup_firewall.bat" "$BUILD_DIR/" 2>/dev/null && log " OK: setup_firewall.bat" || log " WARN: setup_firewall.bat not found" log "" log "[4/4] Verifying..." diff --git a/tools/chatgui/setup_firewall.bat b/tools/chatgui/setup_firewall.bat new file mode 100644 index 00000000..27041c99 --- /dev/null +++ b/tools/chatgui/setup_firewall.bat @@ -0,0 +1,33 @@ +@echo off +setlocal EnableExtensions + +rem ── Проверка прав администратора ── +net session >nul 2>&1 +if %errorlevel% neq 0 ( + echo Требуются права администратора. Запрос UAC... + powershell -NoProfile -Command "Start-Process -FilePath '%~f0' -Verb RunAs" + exit /b %errorlevel% +) + +rem ── Каталог скрипта = каталог vibechat.exe ── +cd /d "%~dp0" + +set "EXE=%~dp0vibechat.exe" +if not exist "%EXE%" ( + echo [ОШИБКА] Не найден: %EXE% + echo Запустите скрипт из папки с vibechat.exe + pause + exit /b 1 +) + +rem ── Идемпотентно: удалить старое правило, добавить новое ── +netsh advfirewall firewall delete rule name="vibechat" >nul 2>&1 +netsh advfirewall firewall add rule name="vibechat" dir=in action=allow program="%EXE%" enable=yes profile=any + +if %errorlevel% equ 0 ( + echo [OK] Правило "vibechat" добавлено: входящие подключения разрешены. + echo %EXE% +) else ( + echo [ОШИБКА] Не удалось добавить правило (код %errorlevel%). +) +pause