mirror of
https://gitee.com/xmz7891/ykxmz.git
synced 2026-10-18 18:20:43 +00:00
手表端
- 内置 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 控制端
55 lines
1.9 KiB
Bash
55 lines
1.9 KiB
Bash
#!/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
|