From 4bfe9ea9ca399b626c7976b543e1a9e15ff094fb Mon Sep 17 00:00:00 2001 From: hotyue <52734432+hotyue@users.noreply.github.com> Date: Fri, 10 Apr 2026 14:12:53 +0000 Subject: [PATCH] =?UTF-8?q?fix(report):=20=E5=A2=9E=E5=8A=A0=20ISP=20?= =?UTF-8?q?=E6=8E=A2=E9=92=88=E5=A4=9A=E8=8A=82=E7=82=B9=E5=AE=B9=E7=81=BE?= =?UTF-8?q?=E9=80=BB=E8=BE=91=EF=BC=8CAPI=20=E9=98=BB=E6=96=AD=E6=97=B6?= =?UTF-8?q?=E5=BC=BA=E5=88=B6=E5=9B=9E=E9=80=80=E4=BD=BF=E7=94=A8=E9=94=9A?= =?UTF-8?q?=E7=82=B9=20IP=20(v3.0.1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/tg_report.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/core/tg_report.sh b/core/tg_report.sh index 74ac14f..5e2610a 100755 --- a/core/tg_report.sh +++ b/core/tg_report.sh @@ -18,18 +18,25 @@ if [ -z "$TG_TOKEN" ] || [ -z "$CHAT_ID" ]; then exit 0 fi -# 2. 节点元数据抓取 (v3.0.1修复: 严格使用配置中的协议探测出口) +# 2. 节点元数据抓取 (v3.0.1修复: 严格使用配置中的协议探测出口与多节点容灾) NODE_NAME=$(hostname | cut -c 1-15) -CURRENT_IP=$(curl -${IP_PREF:-4} -s -m 5 api.ip.sb/ip || echo "${BIND_IP:-Unknown}") + +# 多节点容灾探测 +CURRENT_IP=$( (curl -${IP_PREF:-4} -s -m 5 api.ip.sb/ip || curl -${IP_PREF:-4} -s -m 5 ifconfig.me) 2>/dev/null | tr -d '[:space:]' ) +# 强制兜底:如果所有外部 API 都挂了,直接使用本地强行锁定的 BIND_IP +[ -z "$CURRENT_IP" ] && CURRENT_IP="$BIND_IP" + # 为可能获取到的 IPv6 自动添加方括号护甲 [[ "$CURRENT_IP" == *":"* ]] && [[ "$CURRENT_IP" != *"["* ]] && CURRENT_IP="[${CURRENT_IP}]" -# 智能判断 IP 属性 (同步使用指定的协议出口拉取 GeoIP) +# 智能判断 IP 属性 ISP_INFO=$(curl -${IP_PREF:-4} -s -m 5 api.ip.sb/geoip | jq -r '.organization' 2>/dev/null) +[ -z "$ISP_INFO" ] || [ "$ISP_INFO" == "null" ] && ISP_INFO="未知 ISP" + if [[ "$ISP_INFO" == *"Cloudflare"* ]]; then IP_TYPE="Cloudflare Warp 🛰️" else - IP_TYPE="Native 原生网卡 🏠" + IP_TYPE="$ISP_INFO 🏠" fi # 动态国旗