ФИНАЛЬНОЕ ИСПРАВЛЕНИЕ: разрешены хостнеймы в VPS_HOST, устранено зацикливание v1.4.5

This commit is contained in:
Petro1990 2026-03-13 21:58:41 +03:00
parent 40f346a311
commit e9cc2a3ebc
1 changed files with 6 additions and 7 deletions

13
rproxy
View File

@ -3,7 +3,7 @@
# Публикация локальных сервисов через SSH-туннели + nginx на VPS # Публикация локальных сервисов через SSH-туннели + nginx на VPS
# http://5.104.75.50:3000/Petro1990/rProxy # http://5.104.75.50:3000/Petro1990/rProxy
VERSION="1.4.4" VERSION="1.4.5"
CONF_DIR="/opt/etc/rproxy" CONF_DIR="/opt/etc/rproxy"
CONF_FILE="$CONF_DIR/rproxy.conf" CONF_FILE="$CONF_DIR/rproxy.conf"
SERVICES_DIR="$CONF_DIR/services" SERVICES_DIR="$CONF_DIR/services"
@ -61,7 +61,7 @@ check_conf() {
# Строгая проверка: ищем хотя бы один файл в vps/, в котором заполнена переменная VPS_HOST # Строгая проверка: ищем хотя бы один файл в vps/, в котором заполнена переменная VPS_HOST
for f in "$VPS_DIR"/*.conf; do for f in "$VPS_DIR"/*.conf; do
[ -f "$f" ] || continue [ -f "$f" ] || continue
if grep -qE "VPS_HOST=['\"]?[0-9]" "$f"; then if grep -qE "VPS_HOST=['\"]?[^'\" ]+" "$f"; then
return 0 return 0
fi fi
done done
@ -100,9 +100,9 @@ load_vps() {
migrate_config() { migrate_config() {
mkdir -p "$VPS_DIR" "$SERVICES_DIR" "$PID_DIR" mkdir -p "$VPS_DIR" "$SERVICES_DIR" "$PID_DIR"
# Проверка на "битый" (пустой) конфиг после неудачной миграции (1.0.7-1.1.0) # Проверка на "битый" (пустой) конфиг
local broken=0 local broken=0
[ -f "$VPS_DIR/default.conf" ] && ! grep -q "VPS_HOST=\"[0-9]" "$VPS_DIR/default.conf" && broken=1 [ -f "$VPS_DIR/default.conf" ] && ! grep -q "VPS_HOST=" "$VPS_DIR/default.conf" && broken=1
if [ -f "$CONF_FILE" ] && { [ ! -f "$VPS_DIR/default.conf" ] || [ "$broken" -eq 1 ]; }; then if [ -f "$CONF_FILE" ] && { [ ! -f "$VPS_DIR/default.conf" ] || [ "$broken" -eq 1 ]; }; then
# Если rproxy.conf ещё содержит данные серверов (не пустой) # Если rproxy.conf ещё содержит данные серверов (не пустой)
@ -126,9 +126,8 @@ EOF
[ -f "$VPS_DIR/default.conf" ] && chmod 600 "$VPS_DIR/default.conf" [ -f "$VPS_DIR/default.conf" ] && chmod 600 "$VPS_DIR/default.conf"
fi fi
# Если профиль default остался битым и восстановить нечего — удаляем его, # Если профиль default остался битым и восстановить нечего — удаляем его
# чтобы check_conf сработал и предложил настройку заново if [ -f "$VPS_DIR/default.conf" ] && ! grep -q "VPS_HOST=" "$VPS_DIR/default.conf"; then
if [ -f "$VPS_DIR/default.conf" ] && ! grep -q "VPS_HOST=\"[0-9]" "$VPS_DIR/default.conf"; then
rm -f "$VPS_DIR/default.conf" rm -f "$VPS_DIR/default.conf"
fi fi
} }