#!/bin/bash # 干净可用率测量:没有并发下载,间隔 3 秒,30 次 set -u BASE=https://relay.xxmxxs.top UA='LanRemote/1.8.0' echo " 先静置 20 秒,等 4G 链路缓过来…" sleep 20 echo echo " 隧道连接数: $(curl -s --max-time 5 http://127.0.0.1:20241/metrics 2>/dev/null | grep '^cloudflared_tunnel_ha_connections' | awk '{print $2}')" echo ok=0 fail=0 declare -a bad for i in $(seq 1 30); do c=$(curl -s -o /dev/null -w '%{http_code}' --max-time 25 \ -H "User-Agent: $UA" "$BASE/v1/health") if [ "$c" = "200" ]; then ok=$((ok + 1)) else fail=$((fail + 1)) bad+=("$i:$c") fi printf " %2d: %s\n" "$i" "$c" sleep 3 done echo echo " ──────────────────────────────" echo " 可用 $ok/30 = $((ok * 100 / 30))%" echo " 失败 $fail 次: ${bad[*]:-无}" echo echo " 失败时隧道连接数变化(看是不是掉到 1):" echo " $(curl -s --max-time 5 http://127.0.0.1:20241/metrics 2>/dev/null | grep '^cloudflared_tunnel_ha_connections' | awk '{print $2}')" echo echo " watchdog 最近 8 行:" tail -8 /root/lanremote-relay/watchdog.log 2>/dev/null | sed 's/^/ /' echo echo " 网络质量:" ping -c 10 -W 2 1.1.1.1 2>/dev/null | tail -2 | sed 's/^/ /'