@echo off
setlocal EnableDelayedExpansion

REM ============================================================
REM  setup-mytelegram.bat
REM  Добавляет my.telegram.org в hosts для получения api_id
REM  Запуск: правой кнопкой - "Запуск от имени администратора"
REM ============================================================

set "HOSTS=%SystemRoot%\System32\drivers\etc\hosts"
set "DOMAIN=my.telegram.org"
set "TG_IP=149.154.167.220"
set "MARKER=# OKAN-TELEGRAM-API"

echo.
echo ==========================================
echo  Настройка доступа к my.telegram.org
echo ==========================================
echo.

REM --- Проверка прав администратора ---
net session >nul 2>&1
if %errorLevel% neq 0 (
    echo [ОШИБКА] Нужны права администратора.
    echo         Закрой окно, нажми правой кнопкой на файл
    echo         и выбери "Запуск от имени администратора".
    echo.
    pause
    exit /b 1
)

REM --- Шаг 1. Проверка VPN ---
echo [1/6] Проверка VPN...
ipconfig | findstr /i "tun tap ppp pptp l2tp wireguard openvpn" >nul
if %errorLevel% equ 0 (
    echo [ВНИМАНИЕ] Обнаружен VPN-интерфейс.
    echo           Для получения api_id нужен российский IP.
    echo           Отключи VPN и запусти скрипт снова.
    echo.
    pause
    exit /b 1
)
echo       VPN не найден. OK.
echo.

REM --- Шаг 2. Бэкап hosts ---
echo [2/6] Бэкап hosts...
set "BACKUP=%HOSTS%.backup-%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%-%TIME:~0,2%%TIME:~3,2%"
set "BACKUP=%BACKUP: =0%"
copy /y "%HOSTS%" "%BACKUP%" >nul
if exist "%BACKUP%" (
    echo       Сохранено: %BACKUP%
) else (
    echo [ОШИБКА] Не удалось создать бэкап.
    pause
    exit /b 1
)
echo.

REM --- Шаг 3. Проверка существующей записи ---
echo [3/6] Проверка hosts...
findstr /i /c:"%DOMAIN%" "%HOSTS%" >nul
if %errorLevel% equ 0 (
    echo [ИНФО] Запись для %DOMAIN% уже есть.
    echo        Пропускаю добавление.
) else (
    echo       Записи нет. Добавляю...
    echo. >> "%HOSTS%"
    echo %MARKER% >> "%HOSTS%"
    echo %TG_IP% %DOMAIN% >> "%HOSTS%"
    echo       Добавлено: %TG_IP% %DOMAIN%
)
echo.

REM --- Шаг 4. Сброс DNS-кэша ---
echo [4/6] Сброс DNS-кэша...
ipconfig /flushdns >nul
echo       Кэш очищен.
echo.

REM --- Шаг 5. Проверка доступности ---
echo [5/6] Проверка доступности %DOMAIN%...
powershell -Command "try { $r = Invoke-WebRequest -Uri 'https://%DOMAIN%' -Method Head -TimeoutSec 10 -UseBasicParsing; Write-Host '       HTTP' $r.StatusCode '- OK' } catch { Write-Host '       [ОШИБКА]' $_.Exception.Message }"
echo.

REM --- Шаг 6. Инструкция ---
echo [6/6] Что делать дальше:
echo.
echo   1. Полностью закрой браузер и открой заново.
echo   2. Зайди на https://my.telegram.org
echo   3. Введи номер телефона и код из Telegram.
echo   4. Выбери "API development tools".
echo   5. Создай приложение (название без слов parser, scraper, bot).
echo   6. Сохрани App api_id и App api_hash.
echo.
echo ==========================================
echo  ВАЖНО: после получения api_id удали запись
echo ==========================================
echo.
echo   Запусти: remove-mytelegram.bat
echo   Или удали строку вручную из:
echo   %HOSTS%
echo.
echo   Если не удалить, при смене IP Telegram
echo   сайт перестанет открываться.
echo.
pause
