# ========================================== # 🗑️ UNINSTALL ALL (CLEANUP) # ========================================== $ScriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path . "$ScriptDir\lib\Common.ps1" . "$ScriptDir\lib\System.ps1" Write-Header "ПОЛНОЕ УДАЛЕНИЕ" Ensure-Admin Write-Warning "Это действие удалит весь установленный софт:" Write-Host " - Sing-box (Служба и файлы)" -ForegroundColor Gray Write-Host " - ProxiFyre (Служба и файлы)" -ForegroundColor Gray Write-Host " - Драйвер WinPacketFilter" -ForegroundColor Gray Write-Host "" if ((Read-Host "Вы уверены? (y/n)") -ne 'y') { exit } Write-Step "Удаление Sing-box..." Manage-ScheduledTask -Name "SingBoxProxy" -Action "Stop" Manage-ScheduledTask -Name "SingBoxProxy" -Action "Uninstall" if (Test-Path "C:\Tools\sing-box") { Remove-Item "C:\Tools\sing-box" -Recurse -Force -ErrorAction SilentlyContinue Write-Success "Файлы удалены" } Write-Step "Удаление Discrod Proxy (ProxiFyre)..." $pfDir = "C:\Tools\ProxiFyre" if (Test-Path "$pfDir\ProxiFyre.exe") { Start-Process "$pfDir\ProxiFyre.exe" -ArgumentList "uninstall" -Wait -NoNewWindow Start-Sleep -Seconds 2 } if (Test-Path $pfDir) { Remove-Item $pfDir -Recurse -Force -ErrorAction SilentlyContinue Write-Success "Файлы удалены" } Write-Step "Удаление драйвера..." # Тут сложно удалить MSI тихо без GUID, но попробуем через known path или пропустим, т.к. драйвер может быть нужен другим Write-Info "Драйвер WinPacketFilter оставлен (он может использоваться другим ПО)." Write-Info "Если нужно, удалите его через 'Установка и удаление программ'." Write-Success "Очистка завершена!" Start-Sleep -Seconds 3