From 2166753569b36bf14e8441f973d5cee9f0fafef6 Mon Sep 17 00:00:00 2001 From: hotyue <52734432+hotyue@users.noreply.github.com> Date: Fri, 17 Apr 2026 01:19:20 +0000 Subject: [PATCH] =?UTF-8?q?feat(master):=20[v3.6.0]=20=E5=8F=B8=E4=BB=A4?= =?UTF-8?q?=E9=83=A8=E9=83=A8=E7=BD=B2=E5=BC=95=E5=85=A5=20OTA=20=E4=B8=8B?= =?UTF-8?q?=E5=8F=91=E6=9D=83=E9=99=90=E6=8E=A7=E5=88=B6=EF=BC=8C=E9=87=8D?= =?UTF-8?q?=E6=9E=84=20SQLite=20=E5=88=9D=E5=A7=8B=E8=A1=A8=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E4=BB=A5=E6=94=AF=E6=8C=81=E7=8A=B6=E6=80=81=E6=9C=BA?= =?UTF-8?q?=20(Resolves=20#17,=20Resolves=20#19)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- master/install_master.sh | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/master/install_master.sh b/master/install_master.sh index a91522d9..d6a3b14e 100755 --- a/master/install_master.sh +++ b/master/install_master.sh @@ -113,6 +113,17 @@ if [ "$UPGRADE_MODE" == "false" ]; then # 2. 交互配置机器人 echo -e "\n[2/4] 配置控制中枢机器人:" read -p "请输入 Telegram Bot Token: " TG_TOKEN + + # [v3.6.0 新增: 控制中枢 OTA 下发权限配置] + echo -e "\n\033[36m[OTA 权限] 是否允许本中枢向受控节点下发远程 OTA 升级指令?\033[0m" + read -p "请输入选择 [y/n] (默认n, 建议仅在完全信任节点环境时开启): " MASTER_OTA_CHOICE + if [[ "$MASTER_OTA_CHOICE" =~ ^[Yy]$ ]]; then + ENABLE_MASTER_OTA="true" + echo -e "\033[32m✅ 中枢 OTA 升级下发权限已开启。\033[0m" + else + ENABLE_MASTER_OTA="false" + echo -e "\033[33m🛡️ 中枢 OTA 升级下发权限已关闭。\033[0m" + fi cat > "${MASTER_DIR}/master.conf" << EOF # IP-Sentinel Master 本地固化配置 (v${TARGET_VERSION}) @@ -120,10 +131,18 @@ MASTER_VERSION="$TARGET_VERSION" TG_TOKEN="$TG_TOKEN" DB_FILE="$DB_FILE" MASTER_DIR="$MASTER_DIR" +ENABLE_MASTER_OTA="$ENABLE_MASTER_OTA" EOF fi # 🛑 拦截块结束 +# [v3.6.0 升级兼容] 补齐老版本缺失的 OTA 下发权限开关 (默认对自建用户开启,保障丝滑体验) +if [ "$UPGRADE_MODE" == "true" ]; then + if ! grep -q "^ENABLE_MASTER_OTA=" "${MASTER_DIR}/master.conf"; then + echo 'ENABLE_MASTER_OTA="true"' >> "${MASTER_DIR}/master.conf" + fi +fi + # 3. 初始化 SQLite 数据库 (幂等操作,升级模式下由 tg_master.sh 负责热修补) echo -e "\n[3/4] 正在初始化 SQLite 数据库表结构..." sqlite3 "$DB_FILE" <