From eb2b2768cde55d38c555a3d088f3027da8ad2441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D0=BE=D0=B1=D1=8B=D1=80=D0=B5=D0=B2=20=D0=90=D0=BD?= =?UTF-8?q?=D0=B4=D1=80=D0=B5=D0=B9?= Date: Sun, 1 Nov 2026 03:00:20 +0300 Subject: [PATCH] install: take subnet from existing wg0.conf on reinstall Co-Authored-By: Claude Sonnet 5.5 --- install.sh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/install.sh b/install.sh index fae4bb8..560281c 100755 --- a/install.sh +++ b/install.sh @@ -29,6 +29,17 @@ PANEL_SCHEME="${PANEL_SCHEME:-http}" TG_TOKEN="${TG_TOKEN:-}" TG_CHAT="${TG_CHAT:-}" OBF_PORTS="${OBF_PORTS:-2083,5443,993}" +# Уже есть wg0.conf (переустановка) — подсеть берём из него, иначе server.env разойдётся с интерфейсом +if [ -z "${SERVER_WG_IPV4_NETWORK:-}" ] && [ -f /etc/wireguard/wg0.conf ]; then + SERVER_WG_IPV4_NETWORK="$(python3 - <<'PY' 2>/dev/null +import ipaddress, re +for ln in open("/etc/wireguard/wg0.conf"): + m = re.match(r"\s*Address\s*=\s*([^,\s]+)", ln) + if m: + print(ipaddress.ip_interface(m.group(1)).network); break +PY +)" || SERVER_WG_IPV4_NETWORK="" +fi # Подсеть клиентов: env SERVER_WG_IPV4_NETWORK или вопрос в терминале (Enter = 10.25.0.0/16) if [ -z "${SERVER_WG_IPV4_NETWORK:-}" ] && [ -r /dev/tty ] && [ -t 1 ]; then printf 'Подсеть VPN-клиентов [10.25.0.0/16]: ' > /dev/tty