#!/bin/bash # 用真正的 GET 验证缓存头(curl -I 发的是 HEAD,之前看的一直是 HEAD 的响应!) set -u BASE=https://relay.xxmxxs.top UA='LanRemote/1.8.1' echo "════════ 1. 本机直连 · 真 GET(-D - 把响应头 dump 出来)════════" for p in "/" "/download/ykxmz-setup-1.8.1.exe" "/shot/pc-main.png"; do cc=$(curl -s -D - -o /dev/null --max-time 15 "http://127.0.0.1:8080$p" 2>/dev/null \ | grep -i '^cache-control' | tr -d '\r') printf " GET %-38s %s\n" "$p" "${cc:-(无)}" done echo echo "════════ 2. 对比 HEAD(两者应该一致)════════" for p in "/" "/download/ykxmz-setup-1.8.1.exe"; do cc=$(curl -sI --max-time 15 "http://127.0.0.1:8080$p" 2>/dev/null \ | grep -i '^cache-control' | tr -d '\r') printf " HEAD %-38s %s\n" "$p" "${cc:-(无)}" done echo echo "════════ 3. 走公网 · 真 GET 看 cf-cache-status ════════" for p in "/" "/shot/pc-main.png" "/download/ykxmz-server-1.8.1.zip"; do echo " ── $p ──" for i in 1 2 3; do hdr=$(curl -s -D - -o /dev/null --max-time 30 -H "User-Agent: $UA" "$BASE$p" 2>/dev/null | tr -d '\r') st=$(echo "$hdr" | grep -i '^cf-cache-status' | awk '{print $2}') cc=$(echo "$hdr" | grep -i '^cache-control' | cut -d' ' -f2-) age=$(echo "$hdr" | grep -i '^age:' | awk '{print $2}') printf " 第 %d 次: status=%-8s age=%-7s cc=%s\n" \ "$i" "${st:-无}" "${age:-无}" "${cc:-无}" sleep 1 done done