feat(server): генерировать GUI-пароль 8 символов с опцией замены

This commit is contained in:
Ruslan
2026-04-14 00:10:41 +03:00
parent a31f1a1090
commit c2d70471db
2 changed files with 18 additions and 8 deletions

View File

@@ -80,6 +80,8 @@ sudo bash server/install_server.sh
- порт WireGuard - порт WireGuard
- параметры GUI (логин/пароль) - параметры GUI (логин/пароль)
Если пароль GUI не передан аргументом, скрипт генерирует случайный пароль из 8 символов, предлагает заменить его и, если не заменили, показывает этот пароль в итоговой сводке.
### Non-interactive пример ### Non-interactive пример
```bash ```bash

View File

@@ -22,6 +22,7 @@ GUI_HOST=""
GUI_PORT="5000" GUI_PORT="5000"
GUI_USER="admin" GUI_USER="admin"
GUI_PASSWORD="" GUI_PASSWORD=""
GUI_PASSWORD_GENERATED=0
GUI_SESSION_SECRET="" GUI_SESSION_SECRET=""
usage() { usage() {
@@ -136,14 +137,20 @@ collect_inputs() {
if [[ "$GUI_ENABLE" == "yes" ]]; then if [[ "$GUI_ENABLE" == "yes" ]]; then
if [[ -z "$GUI_PASSWORD" ]]; then if [[ -z "$GUI_PASSWORD" ]]; then
if ((NON_INTERACTIVE)); then GUI_PASSWORD="$(random_alnum 8)"
GUI_PASSWORD="$(random_alnum 16)" GUI_PASSWORD_GENERATED=1
log_warn "Пароль GUI не задан. Сгенерирован случайный пароль." log_warn "Пароль GUI не задан. Сгенерирован пароль (8 символов): ${GUI_PASSWORD}"
else
ask_secret "Введите пароль GUI (${GUI_USER})" GUI_PASSWORD if (( ! NON_INTERACTIVE )); then
if [[ -z "$GUI_PASSWORD" ]]; then if confirm "Хотите заменить сгенерированный пароль GUI?"; then
GUI_PASSWORD="$(random_alnum 16)" local custom_gui_password=""
log_warn "Пустой пароль не допускается. Сгенерирован случайный пароль: $GUI_PASSWORD" ask_secret "Введите новый пароль GUI (${GUI_USER})" custom_gui_password
if [[ -n "$custom_gui_password" ]]; then
GUI_PASSWORD="$custom_gui_password"
GUI_PASSWORD_GENERATED=0
else
log_warn "Пустой пароль не принят. Остается сгенерированный пароль."
fi
fi fi
fi fi
fi fi
@@ -316,6 +323,7 @@ GUI: ${GUI_ENABLE}
GUI адрес: http://${GUI_HOST}:${GUI_PORT} GUI адрес: http://${GUI_HOST}:${GUI_PORT}
GUI логин: ${GUI_USER} GUI логин: ${GUI_USER}
GUI статус: ${gui_status} GUI статус: ${gui_status}
$(if [[ "$GUI_ENABLE" == "yes" && "$GUI_PASSWORD_GENERATED" -eq 1 ]]; then echo "GUI пароль: ${GUI_PASSWORD} (сгенерирован, рекомендуется заменить)"; fi)
Helper для peer: /usr/local/sbin/wg-peerctl Helper для peer: /usr/local/sbin/wg-peerctl
Лог установки: ${LOG_FILE} Лог установки: ${LOG_FILE}