@echo off
setlocal
chcp 65001 >nul
title Chessnawk - настройка доступа
set "HOSTS=%SystemRoot%\System32\drivers\etc\hosts"
set "DOMAIN=chessnawk.vercel.app"

fltmc >nul 2>&1
if errorlevel 1 (
  powershell -NoProfile -Command "Start-Process -FilePath '%~f0' -Verb RunAs"
  exit /b
)

echo.
echo ============================================
echo   Chessnawk - быстрый доступ к сайту
echo ============================================
echo.

findstr /c:"%DOMAIN%" "%HOSTS%" >nul 2>&1
if not errorlevel 1 goto already

>>"%HOSTS%" echo 64.29.17.195 %DOMAIN%
>>"%HOSTS%" echo 216.198.79.195 %DOMAIN%
echo [Готово] Адреса записаны в hosts
goto flush

:already
echo [Готово] Настройка уже была сделана ранее, ничего не меняю

:flush
ipconfig /flushdns >nul
echo [Готово] Кэш DNS очищен
echo.
echo Проверяю доступ к сайту...
echo.

where curl >nul 2>&1
if errorlevel 1 goto nocurl

echo   Результат замера (ASCII-вывод curl):
curl -s -o NUL --connect-timeout 10 --max-time 25 -w "code=%%{http_code}  connect=%%{time_connect}s  tls=%%{time_appconnect}s  total=%%{time_total}s`n" "https://%DOMAIN%/"
echo.
echo   Ожидается code=307 и connect меньше 1 секунды
goto done

:nocurl
echo   Проверка недоступна: в системе нет curl
echo.

:done
echo.
echo Готово. Перезапустите браузер и откройте https://%DOMAIN%/
echo.
echo В Chrome дополнительно выключите:
echo   Настройки - Конфиденциальность и безопасность - Безопасность
echo   - переключатель "Использовать безопасный DNS-сервер"
echo.
echo Как отменить настройку вручную:
echo   1. Откройте C:\Windows\System32\drivers\etc\hosts в Блокноте
echo   2. Удалите две строки, где IP идёт первым, а не %DOMAIN% - вторым
echo   3. В командной строке выполните: ipconfig /flushdns
echo.
pause
exit /b