From 44d4650573c137df8bf8b1984ffad9aa8607f852 Mon Sep 17 00:00:00 2001 From: Petro1990 Date: Fri, 13 Mar 2026 16:14:23 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B0=D1=80=D1=85=D0=B8=D1=82=D0=B5=D0=BA?= =?UTF-8?q?=D1=82=D1=83=D1=80=D0=B0:=20=D0=BF=D1=80=D0=B8=D0=BD=D1=83?= =?UTF-8?q?=D0=B4=D0=B8=D1=82=D0=B5=D0=BB=D1=8C=D0=BD=D0=B0=D1=8F=20=D0=BE?= =?UTF-8?q?=D1=87=D0=B8=D1=81=D1=82=D0=BA=D0=B0=20=D0=B1=D0=B8=D1=82=D1=8B?= =?UTF-8?q?=D1=85=20=D0=BF=D1=80=D0=BE=D1=84=D0=B8=D0=BB=D0=B5=D0=B9=20?= =?UTF-8?q?=D0=B8=20=D1=81=D1=82=D1=80=D0=BE=D0=B3=D0=B8=D0=B9=20check=5Fc?= =?UTF-8?q?onf=20(v1.1.1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rproxy | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/rproxy b/rproxy index d46a5a6..9f50650 100644 --- a/rproxy +++ b/rproxy @@ -3,7 +3,7 @@ # Публикация локальных сервисов через SSH-туннели + nginx на VPS # http://5.104.75.50:3000/Petro1990/rProxy -VERSION="1.1.0" +VERSION="1.1.1" CONF_DIR="/opt/etc/rproxy" CONF_FILE="$CONF_DIR/rproxy.conf" SERVICES_DIR="$CONF_DIR/services" @@ -57,9 +57,14 @@ check_conf() { return 1 fi . "$CONF_FILE" - # Для работы нужно, чтобы был хотя бы один VPS профиль - [ "$(ls -A "$VPS_DIR" 2>/dev/null)" ] || return 1 - return 0 + # Строгая проверка: ищем хотя бы один файл в vps/, в котором заполнена переменная VPS_HOST + for f in "$VPS_DIR"/*.conf; do + [ -f "$f" ] || continue + if grep -q "VPS_HOST=\"[0-9]" "$f"; then + return 0 + fi + done + return 1 } load_service() { @@ -94,13 +99,13 @@ load_vps() { migrate_config() { mkdir -p "$VPS_DIR" "$SERVICES_DIR" "$PID_DIR" - # Проверка на "битый" (пустой) конфиг после неудачной миграции (1.0.7-1.0.8) + # Проверка на "битый" (пустой) конфиг после неудачной миграции (1.0.7-1.1.0) local broken=0 [ -f "$VPS_DIR/default.conf" ] && ! grep -q "VPS_HOST=\"[0-9]" "$VPS_DIR/default.conf" && broken=1 if [ -f "$CONF_FILE" ] && { [ ! -f "$VPS_DIR/default.conf" ] || [ "$broken" -eq 1 ]; }; then # Если rproxy.conf ещё содержит данные серверов (не пустой) - if grep -q "VPS_HOST=" "$CONF_FILE"; then + if grep -q "VPS_HOST=\"[0-9]" "$CONF_FILE"; then msg "Восстановление конфигурации VPS..." . "$CONF_FILE" cat > "$VPS_DIR/default.conf" <