@echo off
setlocal

echo Configuring RustDesk server...
echo.

powershell -NoProfile -ExecutionPolicy Bypass -Command ^
"$ErrorActionPreference = 'SilentlyContinue';" ^
"$IdServer = '91.206.17.183';" ^
"$RelayServer = '91.206.17.183';" ^
"$Key = 'ryGBzbo2NH23mr36yoXgN0p3J8q04MghWkdAhgw6gfU=';" ^
"Stop-Process -Name 'RustDesk' -Force;" ^
"$Service = Get-Service | Where-Object { $_.Name -like '*rustdesk*' -or $_.DisplayName -like '*RustDesk*' } | Select-Object -First 1;" ^
"if ($Service) { Stop-Service -Name $Service.Name -Force };" ^
"Start-Sleep -Seconds 2;" ^
"$ConfigDir = Join-Path $env:APPDATA 'RustDesk\config';" ^
"New-Item -ItemType Directory -Force -Path $ConfigDir | Out-Null;" ^
"$ConfigPath = Join-Path $ConfigDir 'RustDesk2.toml';" ^
"$Content = @\";" ^
"rendezvous_server = '$IdServer'" ^
"nat_type = 2" ^
"serial = 0" ^
"unlock_pin = ''" ^
"trusted_devices = ''" ^
"" ^
"[options]" ^
"custom-rendezvous-server = '$IdServer'" ^
"relay-server = '$RelayServer'" ^
"key = '$Key'" ^
"\"@;" ^
"Set-Content -Path $ConfigPath -Value $Content -Encoding UTF8;" ^
"if ($Service) { Start-Service -Name $Service.Name };" ^
"$RustDeskExe = @($env:ProgramFiles + '\RustDesk\rustdesk.exe', ${env:ProgramFiles(x86)} + '\RustDesk\rustdesk.exe', $env:LOCALAPPDATA + '\Programs\RustDesk\rustdesk.exe') | Where-Object { Test-Path $_ } | Select-Object -First 1;" ^
"if ($RustDeskExe) { Start-Process $RustDeskExe };" ^
"Write-Host 'RustDesk configured:' $ConfigPath;"

echo.
echo Done.
echo If RustDesk did not start automatically, open it manually.
pause
