feat(tui): add safe client and backup workflows
This commit is contained in:
@@ -50,7 +50,8 @@ not inspect or modify host WireGuard state.
|
||||
## M4 client creation
|
||||
|
||||
`add NAME` creates a client transactionally. The optional forms are
|
||||
`--mode full-tunnel|split-tunnel` and `--endpoint HOST`; unknown or extra
|
||||
`--mode full-tunnel|split-tunnel`, optional `--split-networks CIDRS` for
|
||||
split-tunnel, and `--endpoint HOST`; unknown or extra
|
||||
arguments are rejected. Names are restricted to ASCII letters, digits, `.`,
|
||||
`_`, and `-` (without a leading `-`). Root is required for production use;
|
||||
tests enable only an isolated `WG_MANAGER_TEST_MODE` under `TEST_ROOT`.
|
||||
@@ -84,17 +85,22 @@ for an operational read/export/QR failure. `config NAME --show` is the only
|
||||
inspection form that writes the complete client configuration to stdout;
|
||||
ordinary `show`, `config`, and `qr` output remains secret-safe.
|
||||
|
||||
## M9 TUI
|
||||
## M9–M10 TUI
|
||||
|
||||
Запуск без аргументов или командой `tui` открывает read-only интерфейс `gum` в
|
||||
Запуск без аргументов или командой `tui` открывает интерфейс `gum` в
|
||||
терминале. `gum` разрешается в порядке `WG_MANAGER_GUM`, локального `bin/gum`,
|
||||
затем `PATH`; необходимые подкоманды проверяются до вывода интерфейса. Нужны
|
||||
одновременно интерактивные stdin и stdout. Escape и отмена возвращают на
|
||||
предыдущий экран или завершают меню без изменений. Доступны status, clients/show,
|
||||
diagnose, log и backups; add/remove в M9 являются placeholder-действиями и не
|
||||
выполняют мутаций. CLI работает независимо от `gum`; отсутствие или неполная
|
||||
diagnose, log и backups. В M10 также доступны add/remove, создание backup и
|
||||
restore через те же backend-функции, что и CLI; подтверждение и отмена остаются
|
||||
обязательными для мутаций, а критический rollback завершает TUI с ненулевым кодом.
|
||||
Для клиента сначала показываются безопасные детали; конфигурация и QR требуют
|
||||
отдельного явного действия, при отсутствии `qrencode` показывается понятный
|
||||
fallback. CLI работает независимо от `gum`; отсутствие или неполная
|
||||
возможность `gum` даёт код `69` только для TUI, а неинтерактивный запуск TUI —
|
||||
код `64`.
|
||||
код `64`. Восстановление требует ввода полного идентификатора выбранной копии;
|
||||
несовпадение или отмена не изменяют состояние.
|
||||
|
||||
## M6 удаление клиента
|
||||
|
||||
|
||||
Reference in New Issue
Block a user