From 60a216deac6b212b509851fa0b8919bfbeb874f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D0=B4=D1=80=D0=B5=D0=B9=20=D0=91=D0=BE=D0=B1?= =?UTF-8?q?=D1=8B=D1=80=D0=B5=D0=B2?= Date: Sun, 26 Apr 2026 00:30:39 +0300 Subject: [PATCH] =?UTF-8?q?install:=20=D0=B0=D0=B2=D1=82=D0=BE=D0=B7=D0=B0?= =?UTF-8?q?=D0=BF=D1=83=D1=81=D0=BA=20=D0=B4=D0=B5=D0=BC=D0=BE=D0=BD=D0=B0?= =?UTF-8?q?=20=D0=B8=20rc.d-=D1=81=D0=B8=D0=BC=D0=BB=D0=B8=D0=BD=D0=BA,=20?= =?UTF-8?q?=D0=B1=D1=83=D1=82=D1=81=D1=82=D1=80=D0=B0=D0=BF=20=D0=B1=D0=B5?= =?UTF-8?q?=D0=B7=20nano-=D0=BF=D0=BE=D0=B4=D1=81=D0=BA=D0=B0=D0=B7=D0=BA?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - В конце install.sh демон запускается автоматически (NO_START=1 чтобы выключить) - Если в /opt/etc есть rc.d, ставим симлинк автозапуска при ребуте - Подсказка в браузер сразу с реальным IP LAN - pip install --target=lib теперь с --upgrade — без WARNING при повторной установке - bootstrap.sh не упоминает nano (его нет в Entware), и не дублирует подсказку --- bootstrap.sh | 2 -- install.sh | 37 +++++++++++++++++++++++++------------ 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/bootstrap.sh b/bootstrap.sh index d6e8cab..fd0ab2c 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -33,5 +33,3 @@ echo "==> Запуск install.sh" cd / rm -rf "$TMP" -echo "" -echo "Готово. Дальше: nano /opt/share/keenetic_ssh-web/.env && /opt/etc/init.d/S99keenetic-ssh-web start" diff --git a/install.sh b/install.sh index b60e98c..4d839c9 100644 --- a/install.sh +++ b/install.sh @@ -58,8 +58,8 @@ else fi rm -rf lib mkdir -p lib - "$PY" -m pip install -q --target=lib --upgrade pip 2>/dev/null || true - "$PY" -m pip install -q --target=lib -r requirements.txt + "$PY" -m pip install -q --upgrade --target=lib pip 2>/dev/null || true + "$PY" -m pip install -q --upgrade --target=lib -r requirements.txt fi INIT="/opt/etc/init.d/S99keenetic-ssh-web" @@ -125,20 +125,33 @@ sed "s|@INST@|$INST|g" "$TMP_INIT" > "$INIT" rm -f "$TMP_INIT" chmod +x "$INIT" +# Автозапуск демона (можно отключить: NO_START=1 ./install.sh) +if [ "${NO_START:-0}" != "1" ]; then + echo "==> Запуск $INIT" + "$INIT" restart || echo "(не удалось стартовать; посмотрите лог: tail /opt/var/log/keenetic-ssh-web.log)" +fi + +# Автозапуск после перезагрузки, если в Entware есть rc.d +if [ -d /opt/etc/rc.d ] && [ ! -e /opt/etc/rc.d/S99keenetic-ssh-web ]; then + ln -sf "$INIT" /opt/etc/rc.d/S99keenetic-ssh-web 2>/dev/null && \ + echo "==> Автозапуск: /opt/etc/rc.d/S99keenetic-ssh-web → $INIT" +fi + +# Узнаём IP роутера для подсказки в браузер +ROUTER_IP="$(ip -4 addr show 2>/dev/null | awk '/inet 192\.168\./ {print $2; exit}' | cut -d/ -f1)" +[ -z "$ROUTER_IP" ] && ROUTER_IP="IP_РОУТЕРА" + echo "" echo "============================================================" echo "Готово. Установлено в: $INST" echo "Init-скрипт: $INIT" +echo "Лог: /opt/var/log/keenetic-ssh-web.log" echo "" -echo "Дальше:" -echo " 1) (по желанию) vi $INST/.env" -echo " ROUTER_HOST=http://127.0.0.1 ROUTER_LOGIN=admin" -echo " WEB_PASSWORD=... PORT=2001" -echo " ALLOWED_IPS=192.168.1.100" -echo " 2) $INIT start" -echo " 3) Браузер: http://IP_РОУТЕРА:2001" -echo " Логин/пароль — от веб-админки роутера (Keenetic)." +echo "Откройте в браузере: http://${ROUTER_IP}:2001" +echo "Логин/пароль — как у веб-админки роутера (Keenetic)." echo "" -echo "Автозапуск после перезагрузки (если есть rc.d):" -echo " ln -sf $INIT /opt/etc/rc.d/S99keenetic-ssh-web" +echo "Полезные команды:" +echo " $INIT {start|stop|restart}" +echo " vi $INST/.env (правка конфигурации)" +echo " tail -f /opt/var/log/keenetic-ssh-web.log" echo "============================================================"