From 2c94edba3419b7e2669a55875a3036f5694eec4f Mon Sep 17 00:00:00 2001 From: Petro1990 Date: Fri, 13 Mar 2026 22:14:27 +0300 Subject: [PATCH] =?UTF-8?q?=D0=90=D0=B2=D1=82=D0=BE=D0=BC=D0=B0=D1=82?= =?UTF-8?q?=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D1=83=D1=81=D1=82=D0=B0?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BA=D0=B8=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81?= =?UTF-8?q?=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D0=B5=D0=B9=20(openssl-util,=20s?= =?UTF-8?q?shpass,=20curl),=20=D0=B2=D0=B5=D1=80=D1=81=D0=B8=D1=8F=201.5.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rproxy | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/rproxy b/rproxy index e96fe1f..7679c0a 100644 --- a/rproxy +++ b/rproxy @@ -3,7 +3,7 @@ # Публикация локальных сервисов через SSH-туннели + nginx на VPS # http://5.104.75.50:3000/Petro1990/rProxy -VERSION="1.4.8" +VERSION="1.5.0" CONF_DIR="/opt/etc/rproxy" CONF_FILE="$CONF_DIR/rproxy.conf" SERVICES_DIR="$CONF_DIR/services" @@ -134,6 +134,36 @@ EOF fi } +ensure_local_deps() { + local missing="" + + # Проверка openssl + if ! command -v openssl >/dev/null 2>&1; then + missing="$missing openssl-util" + fi + + # Проверка sshpass + if ! command -v sshpass >/dev/null 2>&1; then + missing="$missing sshpass" + fi + + # Проверка curl (нужен для обновлений) + if ! command -v curl >/dev/null 2>&1; then + missing="$missing curl" + fi + + if [ -n "$missing" ]; then + msg "Обнаружены недостающие зависимости:$missing" + msg "Устанавливаю через opkg..." + opkg update >/dev/null 2>&1 + for pkg in $missing; do + msg "Установка $pkg..." + opkg install "$pkg" >/dev/null 2>&1 + done + msg "Все зависимости установлены." + fi +} + ssh_cmd() { local ssh_exec="/opt/bin/ssh" [ ! -f "$ssh_exec" ] && ssh_exec="ssh" @@ -1398,6 +1428,7 @@ ensure_ssh_key() { # ТОЧКА ВХОДА # ══════════════════════════════════════════════════════════════════════ migrate_config 2>/dev/null +ensure_local_deps # Поддержка прямых команд для init-скрипта и автоматизации case "${1:-}" in