From cfe6dd59c8331437edfa9e4df9e671351b32a7d8 Mon Sep 17 00:00:00 2001 From: hotyue <52734432+hotyue@users.noreply.github.com> Date: Fri, 17 Apr 2026 14:10:40 +0000 Subject: [PATCH] =?UTF-8?q?feat(master):=20=E9=83=A8=E7=BD=B2=E5=90=91?= =?UTF-8?q?=E5=AF=BC=E6=96=B0=E5=A2=9E=E5=AE=98=E6=96=B9=E4=B8=8E=E7=A7=81?= =?UTF-8?q?=E6=9C=89=E7=BD=91=E5=85=B3=E8=BA=AB=E4=BB=BD=E9=80=89=E6=8B=A9?= =?UTF-8?q?=EF=BC=8C=E5=9B=BA=E5=8C=96=20IS=5FOFFICIAL=5FGATEWAY=20?= =?UTF-8?q?=E6=A0=87=E8=AF=86=E4=BB=A5=E6=94=AF=E6=8C=81=20UI=20=E7=BA=A7?= =?UTF-8?q?=E7=89=A9=E7=90=86=E7=86=94=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- master/install_master.sh | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/master/install_master.sh b/master/install_master.sh index f0a9b8f..2b0047c 100755 --- a/master/install_master.sh +++ b/master/install_master.sh @@ -134,6 +134,19 @@ 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请选择您的部署环境身份:" + echo " 1) 🛡️ 私有独立中枢 (默认推荐,保留完整 OTA 遥控权限)" + echo " 2) ☁️ 官方公共网关 (面向大众服务,将强制物理隐藏全局 OTA 按钮防滥用)" + read -p "请输入选择 [1-2] (默认1): " GATEWAY_TYPE + GATEWAY_TYPE=${GATEWAY_TYPE:-1} + + IS_OFFICIAL_GATEWAY="false" + if [ "$GATEWAY_TYPE" == "2" ]; then + IS_OFFICIAL_GATEWAY="true" + echo -e "\033[33m⚠️ 已开启官方公共网关模式,全局 OTA 按钮将被屏蔽。\033[0m" + fi cat > "${MASTER_DIR}/master.conf" << EOF # IP-Sentinel Master 本地固化配置 (v${TARGET_VERSION}) @@ -141,8 +154,17 @@ MASTER_VERSION="$TARGET_VERSION" TG_TOKEN="$TG_TOKEN" DB_FILE="$DB_FILE" MASTER_DIR="$MASTER_DIR" +# [v3.6.0 核心] 官方网关 UI 熔断标识 +IS_OFFICIAL_GATEWAY="$IS_OFFICIAL_GATEWAY" EOF fi + +# [v3.6.0 热修复] 老司令部平滑升级时,自动补齐该字段并默认为 false +if [ "$UPGRADE_MODE" == "true" ]; then + if ! grep -q "^IS_OFFICIAL_GATEWAY=" "${MASTER_DIR}/master.conf"; then + echo "IS_OFFICIAL_GATEWAY=\"false\"" >> "${MASTER_DIR}/master.conf" + fi +fi # 🛑 拦截块结束 # 3. 初始化 SQLite 数据库 (幂等操作,升级模式下由 tg_master.sh 负责热修补)