Files
ykxmz/_build/diag_edge.sh
T
xmz7891 b62ac865ea ykxmz 1.5.0:修复手表端 TLS 证书校验 + MTU 修复网络稳定性
被控端
- 修复 MTU 问题:夹 MSS + 路径 MTU 探测(公网可用率 48% -> 100%)
- 复用 HTTP 连接(免掉每次新建 TLS 的 30% 握手失败)
- 每分钟回头找局域网,自动切回快 400 倍的路径
- 画面心跳帧:静止时省流量,客户端仍知道流是活的
- 锁屏时给出可操作的提示

手表端
- 内置 GTS Root R4 / GlobalSign Root CA,修 SSLHandshakeException
- 连接错误翻译成人话(证书/时间/解析/超时分别提示)
- 经中转连上后用服务器报的地址刷新已配对记录
- 新增局域网连接页面、服务器延迟检测

服务器端
- 支持 chunked 请求体(修每 16 秒一次的连接错乱与大面积 502)
- 网络调优脚本 net-tune.sh(开机自动应用)
- 管理页:批量删除、网络体检、下载区
- 隧道改 HTTP/2 + 双连接

文档
- 许可协议 / 安装前必读 / 安装后须知(作者:小麦子)
2026-10-06 19:01:05 +08:00

62 lines
2.2 KiB
Bash

#!/bin/bash
# 能不能让 cloudflared 连更近的 Cloudflare 边缘?
#
# 现状:它连的是 198.41.x.x,日志显示落地在 lax01/sjc07(美西)。
# 从国内 4G 到美西,丢包 40%,握手经常超时。
# 如果能连香港/新加坡/日本,延迟和丢包都会好很多。
set -u
echo "===== 1. cloudflared 支持哪些边缘相关参数 ====="
cloudflared tunnel run --help 2>&1 | grep -iE 'edge|region|protocol|address' \
| sed 's/^/ /'
echo
echo " --- 顶层参数 ---"
cloudflared tunnel --help 2>&1 | grep -iE 'edge|region' | sed 's/^/ /'
echo
echo "===== 2. argotunnel 区域域名解析出哪些 IP ====="
for host in region1.v2.argotunnel.com region2.v2.argotunnel.com; do
echo " $host:"
getent ahostsv4 "$host" 2>/dev/null | awk '{print $1}' | sort -u \
| sed 's/^/ /'
done
echo
echo "===== 3. 到这些 IP 的 TCP 7844 延迟(各测 3 次)====="
for ip in $(getent ahostsv4 region1.v2.argotunnel.com 2>/dev/null \
| awk '{print $1}' | sort -u | head -4); do
total=0; ok=0
for i in 1 2 3; do
t=$(timeout 6 bash -c "exec 3<>/dev/tcp/$ip/7844" 2>/dev/null \
&& echo ok || echo fail)
[ "$t" = "ok" ] && ok=$((ok+1))
done
printf " %-18s 7844 通 %s/3\n" "$ip" "$ok"
done
echo
echo "===== 4. 这些 IP 的 ICMP 延迟 ====="
for ip in $(getent ahostsv4 region1.v2.argotunnel.com 2>/dev/null \
| awk '{print $1}' | sort -u | head -3); do
r=$(ping -c 3 -W 2 "$ip" 2>/dev/null | tail -1)
printf " %-18s %s\n" "$ip" "$r"
done
echo
echo "===== 5. 本机出口 IP / 运营商 ====="
curl -s --max-time 8 https://1.1.1.1/cdn-cgi/trace 2>/dev/null \
| grep -E '^(ip|loc|colo)=' | sed 's/^/ /'
echo
echo " 到 Cloudflare 的落地 colo(上面 colo= 就是,如果是 LAX/SJC 说明被路由到美西)"
echo
echo "===== 6. 试几个 Cloudflare 常用 anycast IP 的 7844 ====="
for ip in 198.41.192.167 198.41.200.13 198.41.192.7 162.159.192.1 172.64.155.1; do
ok=0
for i in 1 2; do
timeout 5 bash -c "exec 3<>/dev/tcp/$ip/7844" 2>/dev/null \
&& ok=$((ok+1))
done
printf " %-18s 7844 通 %s/2\n" "$ip" "$ok"
done