nginx: путь панели и подписки перед сборкой конфига – только буквы, цифры, _ и -

XUI_WEB_BASE_PATH из install-result.env (при --restore – из копии) шёл в
«location ... {» как есть: строка с фигурными скобками добавляла в nginx
чужие директивы. Значение теперь проверяется при --restore (прошлая правка)
и ещё раз там, где собирается nginx: setup_nginx в 3x-ui.sh, kit net panel
и пути подписки в kit.
This commit is contained in:
maxdmitrov
2026-10-06 18:38:08 +03:00
parent 397804faa7
commit 387d6ae66e
3 changed files with 38 additions and 3 deletions
+3
View File
@@ -1464,6 +1464,9 @@ setup_nginx() {
elif $st.network == "grpc" then ["grpc", $st.grpcSettings.serviceName, .port]
else empty end | @tsv' <<<"$list")
# Пути панели (из install-result.env, при --restore – из копии) и подписки попадают в конфиг nginx.
[[ $XUI_WEB_BASE_PATH =~ ^/?[A-Za-z0-9_-]{1,64}/?$ && $SUB_PATH =~ ^/[A-Za-z0-9_-]{1,64}/$ ]] \
|| die "Странный путь панели или подписки ($XUI_ENV) – не собираю nginx."
local panel_path=/${XUI_WEB_BASE_PATH#/}
panel_path=${panel_path%/}/
{