#!/bin/bash # 看各类资源的响应头,判断有哪些能被 Cloudflare 缓存却因为 no-store 被挡了。 set -u BASE=https://relay.xxmxxs.top UA='LanRemote/1.8.1' echo "════════ 各路径的缓存相关响应头 ════════" for p in "/" "/v1/health" "/shot/pc-main.png" "/favicon.ico" \ "/download/ykxmz-server-1.8.1.zip"; do echo " ── $p ──" curl -sI --max-time 30 -H "User-Agent: $UA" "$BASE$p" 2>/dev/null \ | grep -iE '^HTTP|^cache-control|^cf-cache-status|^content-type|^content-length|^expires|^age' \ | tr -d '\r' | sed 's/^/ /' done echo echo "════════ 静态图中的 cf-cache-status(HIT 说明缓存生效)════════" for i in 1 2 3; do s=$(curl -sI --max-time 20 -H "User-Agent: $UA" "$BASE/shot/pc-main.png" 2>/dev/null \ | grep -i '^cf-cache-status' | tr -d '\r' | awk '{print $2}') echo " 第 $i 次: cf-cache-status = ${s:-?}" sleep 1 done echo echo "════════ relay 源码里缓存头的设置 ════════" grep -n 'Cache-Control' /root/lanremote-relay/relay.py | sed 's/^/ /' echo echo "════════ 下载路由的实现(看有没有做流式/分块)════════" sed -n '/if path.startswith("\/download\/")/,/^ # /p' /root/lanremote-relay/relay.py \ | head -50 | sed 's/^/ /'