set -u echo "=== [A] 47 中继 /status 摘要 ===" curl -s --max-time 8 http://127.0.0.1:20080/status | /usr/local/bin/node -e ' let d="";process.stdin.on("data",c=>d+=c).on("end",()=>{try{const j=JSON.parse(d); console.log("keys:",Object.keys(j).join(",")); if(j.peers)console.log("peers:",JSON.stringify(j.peers).slice(0,600)); if(j.endpoints)console.log("endpoints:",JSON.stringify(j.endpoints).slice(0,600)); if(j.counters)console.log("counters:",JSON.stringify(j.counters).slice(0,300)); }catch(e){console.log("RAW:",d.slice(0,400))}})' echo echo "=== [B] 目录缓存 ===" ls -la /var/lib/dshs/overlay/ 2>/dev/null if [ -f /var/lib/dshs/overlay/directory.json ]; then /usr/local/bin/node -e 'const j=require("/var/lib/dshs/overlay/directory.json");const s=JSON.stringify(j);console.log("size:",s.length);console.log(s.slice(0,900))' fi echo echo "=== [C] dshs 日志中的落点/目录相关 ===" systemctl show dshs -p ActiveEnterTimestamp --value journalctl -u dshs --since @$(date -d '20 min ago' +%s) --no-pager 2>/dev/null | grep -iE "落点|directory|拒|relay-client|dial" | tail -25