From fa90d09793749f1ec43128a63e85fd343d143c4f Mon Sep 17 00:00:00 2001 From: Dokril Date: Mon, 29 Dec 2025 14:12:05 +0300 Subject: [PATCH] =?UTF-8?q?chore:=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=20=D1=83?= =?UTF-8?q?=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B8.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install.ps1 | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/install.ps1 b/install.ps1 index dac3551..8d6ae26 100644 --- a/install.ps1 +++ b/install.ps1 @@ -5,6 +5,8 @@ # Использование: # iwr https://git.dokops.ru/dokril/vpn-proxy/raw/branch/master/install.ps1 | iex +# Исправляем кодировку (кириллицу) +[Console]::OutputEncoding = [System.Text.Encoding]::UTF8 $ErrorActionPreference = "Stop" # --- 1. Проверка прав администратора --- @@ -34,6 +36,9 @@ $TempZip = "$env:TEMP\vpn-proxy-install.zip" Write-Host "🚀 Начинаем установку VPN Proxy..." -ForegroundColor Green Write-Host "📂 Путь установки: $InstallDir" -ForegroundColor Gray +# Переходим во временную папку, чтобы не блокировать удаление, если мы уже в C:\Tools\vpn-proxy +Set-Location $env:TEMP + # --- 3. Подготовка папки --- if (-not (Test-Path $InstallRoot)) { New-Item -ItemType Directory -Path $InstallRoot -Force | Out-Null @@ -52,10 +57,25 @@ catch { # --- 5. Распаковка --- Write-Host "📦 Распаковка..." -ForegroundColor Cyan -# Если папка уже есть, удаляем старую (делаем бэкап конфигов если нужно, но пока просто clean install) +# Если папка уже есть, удаляем старую if (Test-Path $InstallDir) { - # Можно добавить логику сохранения client.json, если нужно - Remove-Item $InstallDir -Recurse -Force + try { + Remove-Item $InstallDir -Recurse -Force -ErrorAction Stop + } + catch { + Write-Warning "⚠️ Не удалось удалить старую папку $InstallDir" + Write-Warning " Ошибка: $($_.Exception.Message)" + Write-Warning " Убедитесь, что файлы не открыты в других программах и вы не находитесь в этой папке." + + $retry = Read-Host " Нажмите Enter чтобы попробовать снова (или Ctrl+C для отмены)" + try { + Remove-Item $InstallDir -Recurse -Force -ErrorAction Stop + } + catch { + Write-Error "❌ Так и не удалось удалить папку. Установка прервана." + exit 1 + } + } } Expand-Archive -Path $TempZip -DestinationPath $InstallRoot -Force