Улучши удаление и строку статуса VPN
This commit is contained in:
16
README.md
16
README.md
@@ -97,10 +97,16 @@ curl -fsSL https://example.org/dokril/lemana-vpn/raw/branch/main/install.sh \
|
||||
|
||||
```sh
|
||||
vpn --status
|
||||
Modules: core=ok, bitwarden=on, touchid=on, dns=on, app=on, autostart=on, patches=active, keychain=password:yes/totp_seed:yes
|
||||
Modules: ✅ core=ok, ✅ bitwarden=on, ✅ touchid=on, ✅ dns=on, ✅ app=on, ✅ autostart=on, ✅ patches=active, ✅ keychain=password:yes/totp_seed:yes
|
||||
VPN disconnected
|
||||
```
|
||||
|
||||
Emoji в human-выводе помогают быстро отличать норму, отключённый опциональный модуль и проблему:
|
||||
|
||||
- `✅` — модуль установлен или состояние готово;
|
||||
- `⏭️` — модуль осознанно отключён;
|
||||
- `⚠️` — модуль включён, но чего-то не хватает.
|
||||
|
||||
Значения:
|
||||
|
||||
| Поле | Значение |
|
||||
@@ -157,20 +163,22 @@ Detected state:
|
||||
|
||||
В неинтерактивной среде скрипт не задаёт вопросов и использует выбранные флаги/дефолты. Для CI или повторяемой установки лучше явно указывать `--non-interactive`.
|
||||
|
||||
## Логи установщика
|
||||
## Логи установщика и удаления
|
||||
|
||||
Установщик печатает пошаговый лог с emoji, цветом в интерактивном терминале и коротким пояснением, зачем нужен каждый шаг. Например, перед сборкой Swift-приложения он отдельно пишет, что `swift build` может занять время и что строки компилятора вида `[2/5] Write swift-version...` являются нормальным выводом.
|
||||
Установщик и uninstall script печатают пошаговый лог с emoji, цветом в интерактивном терминале и коротким пояснением, зачем нужен каждый шаг. Например, перед сборкой Swift-приложения установщик отдельно пишет, что `swift build` может занять время и что строки компилятора вида `[2/5] Write swift-version...` являются нормальным выводом. При удалении отдельно показывается откат runtime-патчей `openconnect-lite`, удаление sudoers/DNS wrapper, приложения, aliases и config.
|
||||
|
||||
Отключить цвет:
|
||||
|
||||
```sh
|
||||
NO_COLOR=1 sh install.sh
|
||||
NO_COLOR=1 sh uninstall.sh
|
||||
```
|
||||
|
||||
Отключить emoji:
|
||||
|
||||
```sh
|
||||
LEMANA_VPN_NO_EMOJI=1 sh install.sh
|
||||
LEMANA_VPN_NO_EMOJI=1 sh uninstall.sh
|
||||
```
|
||||
|
||||
## Модули
|
||||
@@ -254,6 +262,8 @@ sh install.sh --without-touchid
|
||||
|
||||
Приложение живёт в macOS status bar, запускает `~/bin/vpn-lemanapro.sh --json`, показывает состояние VPN, IP, оставшееся время сессии, health-check тоннеля и строку состояния модулей.
|
||||
|
||||
Строка состояния модулей в меню приложения использует те же маркеры, что CLI: `✅` для готового модуля, `⏭️` для отключённого опционального модуля и `⚠️` для проблемы. Иконка строки тоже меняется: `checkmark.circle` для полностью готового набора и `exclamationmark.triangle` для неполной установки.
|
||||
|
||||
Если в меню видно `modules unavailable: update CLI`, значит запущенное приложение обращается к старому `~/bin/vpn-lemanapro.sh`, который ещё не умеет отдавать модульный статус. Повтори установку через `curl`; установщик обновит CLI и перезапустит уже запущенное `LemanaVPN.app`.
|
||||
|
||||
Для сборки нужен Swift 5.9+ из Xcode Command Line Tools:
|
||||
|
||||
Reference in New Issue
Block a user