diff --git a/core/tg_report.sh b/core/tg_report.sh index d5466bb..96f5d3a 100755 --- a/core/tg_report.sh +++ b/core/tg_report.sh @@ -1,8 +1,8 @@ #!/bin/bash # ========================================================== -# 脚本名称: tg_report.sh (Telegram 每日战报模块) -# 核心功能: 分析日志并推送 24 小时统计数据到 TG +# 脚本名称: tg_report.sh (Telegram 每日战报模块 V5.3 缝合加强版) +# 核心功能: 分析日志并推送 24 小时统计数据到 TG (修复 Markdown 断联Bug) # ========================================================== INSTALL_DIR="/opt/ip_sentinel" @@ -18,26 +18,58 @@ if [ -z "$TG_TOKEN" ] || [ -z "$CHAT_ID" ]; then exit 0 fi -# 2. 截取过去 24 小时的日志 +# 2. 节点元数据抓取 +NODE_NAME=$(hostname | cut -c 1-15) +CURRENT_IP=$(curl -4 -s -m 5 api.ip.sb/ip || echo "Unknown") + +# 智能判断 IP 属性 (通过检查 ISP 标识) +ISP_INFO=$(curl -4 -s -m 5 api.ip.sb/geoip | jq -r '.organization' 2>/dev/null) +if [[ "$ISP_INFO" == *"Cloudflare"* ]]; then + IP_TYPE="Cloudflare Warp 🛰️" +else + IP_TYPE="Native 原生网卡 🏠" +fi + +# 3. 截取过去 24 小时的日志 LOG_CONTENT=$(find "$LOG_FILE" -mtime -1 -exec cat {} \; 2>/dev/null) if [ -z "$LOG_CONTENT" ]; then - MSG="⚠️ **IP-Sentinel 警告**%0A过去 24 小时内没有检测到 [${REGION_NAME}] 节点的运行日志,请检查守护进程!" + # 修复了换行问题,统一用 EOF 块构造 + read -r -d '' MSG < /dev/null + -d "parse_mode=Markdown") -echo "✅ Telegram 统计数据发送指令已执行!请检查手机。" \ No newline at end of file +if [[ "$RESPONSE" != *"\"ok\":true"* ]]; then + echo "❌ 战报发送失败!API 响应: $RESPONSE" >> "${INSTALL_DIR}/logs/error.log" +else + echo "✅ 战报推送成功!" +fi \ No newline at end of file