UX: accept direct password input at GUI replace prompt

This commit is contained in:
Ruslan
2026-04-14 10:16:44 +03:00
parent 278b403e09
commit 45cafe0165
2 changed files with 7 additions and 2 deletions

View File

@@ -112,7 +112,7 @@ tmp="$(mktemp -d)" && curl -fL "https://git.ruslan.xyz/ruslan/Wireguard_server/a
- порт WireGuard
- параметры GUI (логин/пароль)
Если пароль GUI не передан аргументом, скрипт генерирует случайный пароль из 8 символов, предлагает заменить его и, если не заменили, показывает этот пароль в итоговой сводке.
Если пароль GUI не передан аргументом, скрипт генерирует случайный пароль из 8 символов. В интерактивном режиме можно ответить `y` и ввести новый пароль отдельным шагом или сразу ввести пароль в том же вопросе.
### Non-interactive пример

View File

@@ -177,7 +177,9 @@ collect_inputs() {
log_warn "Пароль GUI не задан. Сгенерирован пароль (8 символов): ${GUI_PASSWORD}"
if (( ! NON_INTERACTIVE )); then
if confirm "Хотите заменить сгенерированный пароль GUI?"; then
local replace_or_password=""
read -r -p "Хотите заменить сгенерированный пароль GUI? [y/N] (или введите пароль сразу): " replace_or_password
if [[ "$replace_or_password" =~ ^([yY][eE][sS]|[yY])$ ]]; then
local custom_gui_password=""
ask_secret "Введите новый пароль GUI (${GUI_USER})" custom_gui_password
if [[ -n "$custom_gui_password" ]]; then
@@ -186,6 +188,9 @@ collect_inputs() {
else
log_warn "Пустой пароль не принят. Остается сгенерированный пароль."
fi
elif [[ -n "$replace_or_password" && ! "$replace_or_password" =~ ^([nN][oO]?|[nN])$ ]]; then
GUI_PASSWORD="$replace_or_password"
GUI_PASSWORD_GENERATED=0
fi
fi
fi