diff --git a/README.md b/README.md index 5dd860e..e2c6510 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,31 @@ 5. Положить секреты в keyring: `bash init.sh `. 6. Запуск: `python launch_vpn_gui.py` (запросит права администратора). +Ярлык без окна консоли — `launch_vpn.bat`: ищет `pythonw.exe` сначала в `.venv` проекта, затем в PATH, затем через `pyw.exe -3`. + +## Автозапуск при входе в систему + +Через Планировщик заданий, а не папку «Автозагрузка»: оттуда процесс стартует непривилегированным, и `ensure_admin()` дёргает UAC-окно при каждом входе. Задача с «Запускать с наивысшими правами» отдаёт админский токен сразу — промпта нет. + +Регистрация (один раз, нужен админ): + +``` +schtasks /create /tn VPN-TOTP-Tray /xml vpn_tray_task.xml /f +``` + +`vpn_tray_task.xml` лежит в корне репозитория (в UTF-16 — этого требует `schtasks /xml`). Пути к `launch_vpn.bat` и имя пользователя в нём захардкожены абсолютными — при переносе проекта или на другой машине правь ``, `` и оба ``. + +Управление: + +``` +schtasks /query /tn VPN-TOTP-Tray /v /fo list # статус +schtasks /run /tn VPN-TOTP-Tray # запустить сейчас +schtasks /change /tn VPN-TOTP-Tray /disable # временно выключить автозапуск +schtasks /delete /tn VPN-TOTP-Tray /f # снести (нужен админ) +``` + +Или через GUI: `taskschd.msc` → Библиотека планировщика → `VPN-TOTP-Tray`. + ## Индикатор в трее - 🔘 серый — openvpn не запущен; @@ -17,6 +42,8 @@ Проверку связи можно отключить (`"ping_check_enabled": false`) — тогда только серый/зелёный. +Картинки берутся из `icons/` (`v-gray-256.png`, `v-yellow-256.png`, `v-green-256.png`). Если файла нет — рисуется кружок того же цвета. + ## Настройки (`vpn_config.json`) Правятся вручную или через пункт меню «Открыть настройки»; перечитываются на лету.