#!/bin/bash # 验收新版管理后台 set -u BASE=http://127.0.0.1:8080 KEY=$(cat /root/lanremote-relay/data/admin_key.txt 2>/dev/null) curl -s -H "X-Admin: $KEY" --max-time 20 "$BASE/zhongzhuanzhan" -o /tmp/a.html echo " 管理页 HTTP $(curl -s -o /dev/null -w '%{http_code}' -H "X-Admin: $KEY" --max-time 15 "$BASE/zhongzhuanzhan") $(wc -c < /tmp/a.html) 字节" echo echo " 新版设计元素:" has() { if grep -q "$1" /tmp/a.html; then echo " ✓ $2"; else echo " ✗ $2"; fi; } has 'class="top"' '吸顶顶栏' has 'class="hero"' '公网地址区块' has 'class="nums"' '数字卡' has 'class="card"' '设备表卡片' has 'class="tool"' '工具卡' has 'class="pill on"' '在线徽章' has 'id="pickAll"' '全选' has 'id="autoRef"' '自动刷新' echo echo " 功能接口(一个都不能坏):" for api in "/v1/health" "/v1/downloads" "/v1/admin/netcheck"; do printf " %-24s HTTP %s\n" "$api" \ "$(curl -s -o /dev/null -w '%{http_code}' -H "X-Admin: $KEY" --max-time 12 "$BASE$api")" done printf " %-24s HTTP %s\n" "删除单台(空id,应400)" \ "$(curl -s -o /dev/null -w '%{http_code}' -X POST -H "X-Admin: $KEY" \ -H 'Content-Type: application/json' -d '{}' --max-time 12 "$BASE/v1/admin/delete")" printf " %-24s HTTP %s\n" "批量删除(空数组)" \ "$(curl -s -o /dev/null -w '%{http_code}' -X POST -H "X-Admin: $KEY" \ -H 'Content-Type: application/json' -d '{"deviceIds":[]}' --max-time 12 "$BASE/v1/admin/delete_many")" echo echo " 其它页面没受影响:" echo " 官网 HTTP $(curl -s -o /dev/null -w '%{http_code}' --max-time 15 "$BASE/")" echo " 官网大小 $(curl -s --max-time 15 "$BASE/" | wc -c) 字节" echo " 产品截图 HTTP $(curl -s -o /dev/null -w '%{http_code}' --max-time 15 "$BASE/shot/pc-main.png")" echo " favicon HTTP $(curl -s -o /dev/null -w '%{http_code}' --max-time 15 "$BASE/favicon.ico")" echo " /admin 跳转 $(curl -s -o /dev/null -w '%{http_code}' --max-time 15 "$BASE/admin")" echo " 未登录 HTTP $(curl -s -o /dev/null -w '%{http_code}' --max-time 15 "$BASE/zhongzhuanzhan")" echo echo " 公网:" for i in 1 2 3; do printf " %d: HTTP %s\n" "$i" \ "$(curl -s -o /dev/null -w '%{http_code}' --max-time 20 -H 'User-Agent: LanRemote/1.4.0' https://relay.xxmxxs.top/)" done echo echo " relay 有没有报错:" journalctl -u lanremote-relay --since '2 minutes ago' --no-pager 2>/dev/null \ | grep -iE 'error|traceback|exception' | tail -5 | sed 's/^/ /' echo " (没输出=正常)"