From 40a41cc9ea5fc64a8123c73961f8b2f51282f1f9 Mon Sep 17 00:00:00 2001 From: hotyue <52734432+hotyue@users.noreply.github.com> Date: Wed, 3 Jun 2026 02:30:47 +0000 Subject: [PATCH] =?UTF-8?q?fix(core):=20=E5=9B=9E=E6=BB=9A=E4=B9=8B?= =?UTF-8?q?=E5=89=8D=E5=BC=95=E5=85=A5=E7=9A=84=E8=BF=87=E5=BA=A6=E9=98=B2?= =?UTF-8?q?=E5=BE=A1=E9=80=BB=E8=BE=91=EF=BC=8C=E4=BD=BF=E7=94=A8=E7=BA=AF?= =?UTF-8?q?=E5=87=80=E7=9A=84=E5=8E=9F=E7=89=88=E4=BB=A3=E7=A0=81=E8=A6=86?= =?UTF-8?q?=E7=9B=96=E5=AD=90=E6=A8=A1=E5=9D=97=EF=BC=8C=E9=85=8D=E5=90=88?= =?UTF-8?q?=E6=A0=B9=E7=9B=AE=E5=BD=95=E5=BC=95=E5=AF=BC=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E7=9A=84=20exec=20 v${TARGET_VERSION})..." TEXT_MSG="✨ *IP-Sentinel 容灾引擎热更新完成!* @@ -247,7 +258,9 @@ do_final_report() { JSON_PAYLOAD=$(jq -n --arg cid "$CHAT_ID" --arg txt "$TEXT_MSG" --arg cb "manage:${NODE_NAME}" '{chat_id: $cid, text: $txt, parse_mode: "Markdown", reply_markup: {inline_keyboard: [[{text: "⚙️ 调出该节点控制台", callback_data: $cb}]]}}') curl -s -X POST "${TG_API_URL}" -H "Content-Type: application/json" -d "$JSON_PAYLOAD" >/dev/null 2>&1 + echo -e "\033[32m✅ 升级通知已推送!请前往 TG 点击注册指令完成身份同步!\033[0m" + else echo -e "\n📡 [路由枢纽] 正在执行静默平滑升级 (v${OLD_VERSION} -> v${TARGET_VERSION})..." TEXT_MSG="✨ *IP-Sentinel 引擎热更新完成!* @@ -258,6 +271,7 @@ do_final_report() { JSON_PAYLOAD=$(jq -n --arg cid "$CHAT_ID" --arg txt "$TEXT_MSG" --arg cb "manage:${NODE_NAME}" '{chat_id: $cid, text: $txt, parse_mode: "Markdown", reply_markup: {inline_keyboard: [[{text: "⚙️ 调出该节点控制台", callback_data: $cb}]]}}') curl -s -X POST "${TG_API_URL}" -H "Content-Type: application/json" -d "$JSON_PAYLOAD" >/dev/null 2>&1 + echo -e "\033[32m✅ 升级成功通知已推送到您的 Telegram!\033[0m" fi @@ -267,8 +281,11 @@ do_final_report() { else echo "AGENT_VERSION=\"$TARGET_VERSION\"" >> "$CONFIG_FILE" fi + else echo -e "\n📡 正在向指挥部发送注册暗号..." + + # 这里的防截断转义是全新安装流程特有的,原版代码就是这么写的 SAFE_COMM_IP_ESC=$(echo "$SAFE_COMM_IP" | sed 's/_/\\_/g') TEXT_MSG="✨ *IP-Sentinel 部署成功!* @@ -304,6 +321,7 @@ do_show_summary() { if [[ -n "$TG_TOKEN" ]]; then echo "📡 Webhook 监听已启动 (端口: $AGENT_PORT) 并向中枢发送了注册请求。" + # [v4.2.2 防火墙修正] 适配多宿主 IP 提示 IS_V6_COMM="false" [[ "$SAFE_COMM_IP" == *":"* ]] && IS_V6_COMM="true" @@ -325,13 +343,30 @@ do_show_summary() { fi echo -e "\n\033[31m⚠️ 【高危警告】您的节点通讯寻址池已锁定为: $SAFE_COMM_IP\033[0m" - echo -e "\033[33m为确保 Master 司令部能够成功下发指令,您【必须】前往防火墙放行 TCP $AGENT_PORT 端口!\033[0m" + echo -e "\033[33m为确保 Master 司令部能够成功下发指令,您【必须】前往云服务商 (如 AWS/Oracle/阿里云 等) 的网页控制台中,将安全组 (Security Group) 防火墙的 TCP $AGENT_PORT 端口彻底放行!\033[0m" echo -e "\033[31m⛔ 本系统已开启全域双栈监听,禁止尝试通过修改脚本强行绑定局域网 IP 来绕过通信阻断!\033[0m\n" if [ -n "$FW_MSG" ]; then - echo "💡 提示: 检测到本地系统防火墙开启,可执行以下命令放行:" + echo "💡 检测到本地系统防火墙开启,您可以尝试执行以下命令放行本机端口 (注意: 云端安全组仍需您手动放行):" echo -e "\033[36m $FW_MSG\033[0m" fi fi echo "🗑️ 若未来需卸载,可重新运行本脚本选择[2]或执行: bash ${INSTALL_DIR}/core/uninstall.sh" echo "========================================================" + + if [ "$UPGRADE_MODE" == "false" ]; then + echo -e "\n📡 正在向开源社区汇报装机量 (完全匿名,不收集IP)..." + AGENT_COUNT=$(curl -s -m 3 "https://ip-sentinel-count.samanthaestime296.workers.dev/ping/agent" || echo "") + + if [ -n "$AGENT_COUNT" ] && [[ "$AGENT_COUNT" =~ ^[0-9]+$ ]]; then + echo -e "\033[32m✅ 感谢您成为全球第 ${AGENT_COUNT} 名 IP-Sentinel 节点维护者!\033[0m" + else + echo -e "\033[32m✅ 感谢您部署 IP-Sentinel!\033[0m" + fi + fi + + echo -e "\n========================================================" + echo -e "⭐ \033[33m开源不易,如果 IP-Sentinel 提升了您的节点稳定性,请赐予我们一枚星标!\033[0m" + echo -e "💡 \033[32m您的每一颗 Star 都是我们持续对抗风控、维护更新指纹库的核心动力。\033[0m" + echo -e "👉 \033[36m\033[4m\033]8;;https://github.com/hotyue/IP-Sentinel\033\\点击此处直达 GitHub 仓库点亮 Star 🌟\033[0m\033]8;;\033\\" + echo -e "========================================================\n" }