diff --git a/README.md b/README.md index 9d4ac0d..ac3d6be 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,23 @@ -0. запустить `bash show_tuns.sh` и обновить имя адаптера (выводится до GUID) в конфиге vpn в строке после `dev tun` -1. расшифровать QR, вынуть secret -2. запустить `bash init.sh ` -3. поменять юзернейм в `launch_vpn_gui.py` -4. запуск `python launch_vpn_gui.py` +# VPN с TOTP-аутентификацией и индикатором в трее + +## Запуск + +1. Установить зависимости: `pip install pyotp keyring pystray pillow` +2. Узнать имя сетевого адаптера: `bash show_tuns.sh` — вписать имя (выводится до GUID) в `.ovpn`-профиль в строку после `dev tun`. +3. Создать конфиг: скопировать `vpn_config.example.json` → `vpn_config.json` и указать свои значения (`username`, пути `ovpn_config` / `openvpn_bin`, `ping_host` — IP сервера для проверки связи). Если пропустить — файл создастся с дефолтами при первом запуске. +4. Расшифровать QR, вынуть `secret`. +5. Положить секреты в keyring: `bash init.sh `. +6. Запуск: `python launch_vpn_gui.py` (запросит права администратора). + +## Индикатор в трее + +- 🔘 серый — openvpn не запущен; +- 🟡 жёлтый — запущен, но пинги до `ping_host` не проходят; +- 🟢 зелёный — запущен, связь с сервером есть. + +Проверку связи можно отключить (`"ping_check_enabled": false`) — тогда только серый/зелёный. + +## Настройки (`vpn_config.json`) + +Правятся вручную или через пункт меню «Открыть настройки»; перечитываются на лету. +Секреты (`secret`, `static`) в конфиге не хранятся — они в keyring под именем `keyring_service`.