@echo off
chcp 65001 >nul
title Установка техподдержки Энергия...

REM === ЗАПРОС ПРАВ АДМИНИСТРАТОРА ===
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
    echo Запрашиваем права Администратора...
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
    "%temp%\getadmin.vbs"
    del "%temp%\getadmin.vbs"
    exit /B
)

echo [1/5] Загрузка RustDesk...
set "temp_exe=%TEMP%\rustdesk_setup.exe"
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" (
    curl -s -L -o "%temp_exe%" "https://desk.energy56.ru/rustdesk-1.4.6-x86_64.exe"
) else (
    curl -s -L -o "%temp_exe%" "https://desk.energy56.ru/rustdesk-1.4.6-x86-sciter.exe"
)

echo [2/5] Установка...
"%temp_exe%" --silent-install
timeout /t 8 >nul

echo [3/5] Жесткая очистка и настройка...
REM Убиваем всё, что связано с RustDesk, чтобы снять блокировки файлов
taskkill /F /IM rustdesk.exe >nul 2>&1
net stop RustDesk >nul 2>&1
timeout /t 2 >nul

set "EXE_PATH=C:\Program Files\RustDesk\rustdesk.exe"
if exist "C:\Program Files (x86)\RustDesk\rustdesk.exe" set "EXE_PATH=C:\Program Files (x86)\RustDesk\rustdesk.exe"

REM ШАГ "ХИРУРГ": Устанавливаем пароль и конфиг ПРЯМО через службу
REM Сначала запускаем службу обратно
net start RustDesk >nul 2>&1
timeout /t 2 >nul

REM Передаем настройки. Если --config не жрется, используем альтернативный метод
"%EXE_PATH%" --config "=0nI9gjZ59GOCFHZpRUcZtibJtET0IFellkYWRUQKBlRNZXRvdUSOhFSJVTOyImI6ISeltmIsISdy5iN1k3ZyVmbl5yazVGZv8iOzBHd0hmI6ISawFmIsISdy5iN1k3ZyVmbl5yazVGZiojI5FGblJnIsISdy5iN1k3ZyVmbl5yazVGZiojI0N3boJye"
timeout /t 1 >nul
"%EXE_PATH%" --password "Energy2026"
timeout /t 1 >nul

echo [4/5] Фиксация настроек...
REM На случай, если Win10 блокирует изменения, прописываем сервер в реестр (Hurd-метод)
reg add "HKLM\SOFTWARE\RustDesk" /v "id-server" /t REG_SZ /d "desk.energy56.ru" /f >nul 2>&1
reg add "HKLM\SOFTWARE\RustDesk" /v "relay-server" /t REG_SZ /d "desk.energy56.ru" /f >nul 2>&1

REM Перезапускаем службу еще раз, чтобы она увидела реестр и новые ключи
net stop RustDesk >nul 2>&1
net start RustDesk >nul 2>&1

REM Запускаем интерфейс для пользователя
start "" "%EXE_PATH%"
timeout /t 3 >nul

echo [5/5] Регистрация в адресной книге...
for /f "usebackq delims=" %%i in (`"%EXE_PATH%" --get-id`) do set RUSTDESK_ID=%%i

set "VPS_URL=http://193.39.208.118:56056/telegram_proxy"
set "CHAT_ID=238501210"
set "MSG=✅ Установлен RustDesk! ПК: %COMPUTERNAME%. ID: %RUSTDESK_ID%"

REM Отправка на VPS. Таймауты спасут от зависания окна.
curl.exe --connect-timeout 5 --max-time 10 -s -X POST "%VPS_URL%" -d chat_id=%CHAT_ID% -d rustdesk_id="%RUSTDESK_ID%" -d pc_name="%COMPUTERNAME%" -d text="%MSG%" >nul

echo Завершено.
del "%temp_exe%" >nul 2>&1
exit