#!/bin/bash # 在真机上验证 /v1/admin/netcheck(那里 cloudflared 真的在跑) set -u KEY=$(cat /root/lanremote-relay/data/admin_key.txt 2>/dev/null) echo "===== 1. 体检接口(带管理钥匙)=====" curl -s --max-time 12 -H "X-Admin: $KEY" \ http://127.0.0.1:8080/v1/admin/netcheck | python3 -m json.tool 2>/dev/null \ || echo " 读不到" echo echo "===== 2. cloudflared 指标(体检接口应该读到这些)=====" timeout 5 curl -s --max-time 4 http://127.0.0.1:20241/metrics 2>/dev/null \ | grep -E '^cloudflared_tunnel_(ha_connections|total_requests|tcp_active_sessions)' \ | sed 's/^/ /' || echo " 读不到指标" echo echo "===== 3. 对照 /v1/health =====" timeout 8 curl -s http://127.0.0.1:8080/v1/health | head -c 200 | sed 's/^/ /' echo echo echo "===== 4. 管理页里有没有那张卡片 =====" for needle in 'id=netPanel' 'id=netBtn' 'admin/netcheck'; do if timeout 10 curl -s -H "X-Admin: $KEY" \ http://127.0.0.1:8080/ 2>/dev/null | grep -q "$needle"; then echo " ✓ $needle" else echo " ✗ $needle" fi done