From 99136b5403f6f6ed4c2a32990cdfcf188799b737 Mon Sep 17 00:00:00 2001 From: Ruslan Date: Tue, 14 Apr 2026 00:39:26 +0300 Subject: [PATCH] =?UTF-8?q?feat(server):=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20--gui-reset-db=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D1=81=D0=B8=D0=BD=D1=85=D1=80=D0=BE=D0=BD=D0=B8=D0=B7=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B8=20=D0=B4=D0=B5=D1=84=D0=BE=D0=BB=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=20GUI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 7 +++++++ server/install_server.sh | 14 ++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/README.md b/README.md index 98265fd..96896a5 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,11 @@ sudo bash server/install_server.sh tmp="$(mktemp -d)" && curl -fL "https://git.ruslan.xyz/ruslan/Wireguard_server/archive/main.tar.gz" -o "$tmp/repo.tar.gz" && tar -xzf "$tmp/repo.tar.gz" -C "$tmp" && bash "$tmp/wireguard_server/server/install_server.sh" ``` +Если GUI уже ранее запускался и нужно переинициализировать его дефолты (подсеть, endpoint, пользователь/пароль), добавьте: +```bash +--gui-reset-db yes +``` + Скрипт интерактивно спросит недостающие данные: - публичный IP (если не определился автоматически) - порт WireGuard @@ -287,6 +292,8 @@ docker ps -aq --filter 'label=com.docker.compose.service=wireguard-ui' | xargs - docker ps -a --format '{{.Names}}' | grep -E '(^|[_-])wireguard-ui($|[_-])' | xargs -r docker rm -f ``` +Если клиенты из GUI создаются в неправильной подсети (например `10.252.1.x` вместо вашей `10.66.66.x`), запустите установщик с `--gui-reset-db yes`, затем создайте клиента заново и пересканируйте QR. + ## Важные пути - Серверный конфиг: `/etc/wireguard/wg0.conf` diff --git a/server/install_server.sh b/server/install_server.sh index 2129508..b81a48e 100755 --- a/server/install_server.sh +++ b/server/install_server.sh @@ -24,6 +24,7 @@ GUI_USER="admin" GUI_PASSWORD="" GUI_PASSWORD_GENERATED=0 GUI_SESSION_SECRET="" +GUI_RESET_DB="no" usage() { cat <<'USAGE' @@ -47,6 +48,7 @@ usage() { --gui-port Порт GUI (по умолчанию: 5000) --gui-user Логин GUI (по умолчанию: admin) --gui-password Пароль GUI (если не указан, будет запрос) + --gui-reset-db Сбросить БД GUI, чтобы применить новые дефолты (по умолчанию: no) -h, --help Показать помощь USAGE @@ -88,6 +90,8 @@ parse_args() { GUI_USER="$2"; shift 2 ;; --gui-password) GUI_PASSWORD="$2"; shift 2 ;; + --gui-reset-db) + GUI_RESET_DB="$2"; shift 2 ;; -h|--help) usage; exit 0 ;; *) @@ -155,6 +159,7 @@ collect_inputs() { fi fi GUI_SESSION_SECRET="$(random_alnum 32)" + [[ "$GUI_RESET_DB" == "yes" || "$GUI_RESET_DB" == "no" ]] || die "--gui-reset-db должен быть yes или no" fi validate_inputs @@ -279,6 +284,14 @@ setup_gui() { mkdir -p /opt/wireguard-ui/{db,data} safe_chmod_700 /opt/wireguard-ui + if [[ "$GUI_RESET_DB" == "yes" ]]; then + rm -rf /opt/wireguard-ui/db/* + log_warn "БД GUI очищена. Дефолтные настройки GUI будут инициализированы заново." + elif [[ -n "$(find /opt/wireguard-ui/db -mindepth 1 -maxdepth 1 2>/dev/null)" ]]; then + log_warn "Обнаружена существующая БД GUI. Дефолты (подсеть/endpoint/пароль) могли сохраниться старыми." + log_warn "Если нужен чистый старт GUI, перезапустите с --gui-reset-db yes" + fi + cat > /opt/wireguard-ui/docker-compose.yml <