Files
ykxmz/_build/verify_downloads.sh
xmz7891 8111fb6d97 ykxmz 1.5.0:手表端 TLS 证书兼容 + 三端分开打包 + 下载区
手表端
- 内置 GTS Root R4 / GlobalSign Root CA
  修 SSLHandshakeException: Chain validation failed
- 连接错误翻译成人话:证书 / 时间 / 解析 / 超时分别给提示
- 经中转连上后用服务器报的地址刷新已配对记录
- 版本号 1.3.0 -> 1.5.0(AndroidManifest 之前漏改了)

服务器端
- 支持 chunked 请求体,修每 16 秒一次的连接错乱与大面积 502
- 网络调优 net-tune.sh(开机自动应用)
- 新增下载区,管理页加下载卡片
- 隧道改 HTTP/2 + 双连接

打包方式变更
- 从一个合并 zip 改成三个独立产物:
    ykxmz-agent-*.zip    被控端
    ykxmz-server-*.zip   服务器端
    ykxmz-watch-*.apk    控制端
2026-10-06 23:08:05 +08:00

55 lines
1.9 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# 验证下载区能用(本地 + 公网)。
set -u
BASE=http://127.0.0.1:8080
PUB=https://relay.xxmxxs.top
UA='LanRemote/1.4.0'
echo "===== 1. 本地列出下载文件 ====="
curl -s --max-time 10 "$BASE/v1/downloads" | python3 -m json.tool 2>/dev/null \
| head -30 || echo " 读不到"
echo
echo "===== 2. 本地下载(只看 HTTP 码和大小)====="
for f in ykxmz-watch-1.5.0.apk ykxmz-server-1.5.0.zip ykxmz-agent-1.5.0.zip; do
info=$(curl -s --max-time 20 -o /tmp/dl.bin -w '%{http_code} %{size_download} %{content_type}' \
"$BASE/download/$f" 2>/dev/null)
printf " %-32s %s\n" "$f" "$info"
done
echo
echo "===== 3. 公网列出(走隧道)====="
curl -s --max-time 20 -H "User-Agent: $UA" "$PUB/v1/downloads" \
| head -c 300
echo
echo
echo "===== 4. 公网下载 APK 头几个字节(验证真的能下)====="
code=$(curl -s --max-time 40 -o /tmp/apk_pub.bin -w '%{http_code}' \
-H "User-Agent: $UA" "$PUB/download/ykxmz-watch-1.5.0.apk" 2>/dev/null)
size=$(stat -c %s /tmp/apk_pub.bin 2>/dev/null || echo 0)
echo " HTTP $code,下载 $size 字节"
echo -n " 是不是合法 APK(zip 头 PK): "
head -c 2 /tmp/apk_pub.bin | grep -q 'PK' && echo "是 ✓" || echo "不是 ✗"
echo
echo "===== 5. 安全:目录穿越要被挡住 ====="
for bad in "../relay.py" "..%2Frelay.py" "relay.py" "x.sh"; do
code=$(curl -s --max-time 10 -o /dev/null -w '%{http_code}' \
"$BASE/download/$bad" 2>/dev/null)
printf " %-20s HTTP %s\n" "$bad" "$code"
done
echo
echo "===== 6. 管理页有没有下载卡片 ====="
KEY=$(cat /root/lanremote-relay/data/admin_key.txt 2>/dev/null)
for needle in 'id=dlPanel' '/v1/downloads' '/download/'; do
if curl -s --max-time 10 -H "X-Admin: $KEY" "$BASE/" 2>/dev/null \
| grep -q "$needle"; then
echo " ✓ $needle"
else
echo " ✗ $needle"
fi
done