跳转至

HANDOFF:openwrt_bypass 交接快照

本文件由 SessionStart Hook 自动注入,覆盖式重写,只描述当前状态。 历史过程归 docs/SOP.md / docs/SOP-openclash.md;稳定环境事实、机制陷阱与命令速查归 docs/BASELINE.md。 档位标注:【已确认】有实测证据 |【未验证】说法未经证实 |【待决策】尚未定论。

1. 这份文件怎么用

接手新会话时先读本文件第 2、3 节掌握现状与待办;需要环境事实或命令时去 docs/BASELINE.md; 需要"当时怎么做的"去对应 SOP 章节。本文件不写操作步骤。

2. 当前状态与在做什么

项目:dell-R620 宿主上的 OpenWrt 旁路由(192.168.31.2)+ OpenClash 代理链路。

最近完成(2026-10-01,C 类变更):OpenClash 自动选优由「纯延迟」改为「带宽 0.6 : 延迟 0.4 打分 + 带宽门槛」。 区域限制先加后放(v5 限亚太 → v3 放开,仅排除香港)。

  • 根因【已确认】:mihomo url-test 只测首包延迟、不读响应体(对 10MB 端点 delay 测试仅 0.65 s), 会长期选中"低延迟低带宽"节点。同轮实测对比:日本-HY2-47 延迟 161 ms / 带宽 714 KB/s(url-test 会选它) vs 泰国-HY2-48 延迟 180 ms / 带宽 4.28 MB/s。
  • 落地:clean_nodes.rb 新增「优选」url-test 与「测速」select 组(候选池 = 46 节点,仅排除香港), 并把 speed.cloudflare.com 分流规则置顶;speed_select.rb + cron(每 5 分钟)做带宽门槛选优 —— 每 30 分钟完整测速(组测速并发 + 6 候选实测带宽),其余轮次零流量健康检查;含 15% 迟滞抗测量噪声。 (v5 曾把候选池限定为亚太 8 节点,v3 已放开——实测美国 HY2 节点带宽优于部分亚太节点。)
  • 同日回归与修正(v2)【已确认】:v1 把主组交回 url-test 组,url-test 遂按延迟切到 日本-HY2-47 (161 ms / 714 KB/s),把下游 Harbor 镜像拉取从 4.28 MB/s 拖到 ~0.2 MB/s。已改为主组总是固定到 带宽达标的综合分最高节点,当前固定 泰国-HY2-48;新连接链变为 泰国-HY2-48 > 便宜机场。过程见 SOP 13.9。
  • 现状【已确认】:主组 便宜机场 = 具体节点 泰国-HY2-48(不是组名);出口 loc=TH(曼谷); github 200、google 302;连续两次 --force 幂等;env -i 最小环境可运行;cron 已实测按 5 分钟触发。
  • 【重要】Harbor 主机(192.168.31.31)默认路由即 192.168.31.2,其全部出网走本 Clash —— 改选优逻辑必须回归下游。
  • 全过程见 docs/SOP-openclash.md 第 13 章;日常运维见 openclash-apac-20261001/RUNBOOK.md。

3. 未完成事项

# 事项 下一步 在哪拾起
1 下游 Harbor 拉取慢【已定位,非本链路】 根因是 Harbor → 香港跳板 的 socks5 隧道(实测 21 KB/s,对比经 Clash 1.09 MB/s);22 端口不被 Clash 劫持,不经本 Clash。需在 frp_openvpn_tunnel/ 侧排查 SOP 13.10
2 两条故障分支未实测【未验证】 「候选池全部测速失败→回退全量池」「固定节点不可达→切回优选」仅逻辑审查通过;制造该故障会中断用户,暂不主动复现 SOP 13.8 末条
3 门槛与流量参数可调【待决策】 仍偶发误切 → 调大 MIN_BW_BPS 或 SWITCH_MARGIN;嫌流量高 → 调大 FULL_INTERVAL 或调小 SPEED_BYTES RUNBOOK §5
4 备份待清理 稳定运行一段时间后,对照台账删除 .bak 文件 openclash-apac-20261001/backup/README.md

4. 红线

# 红线 原因
1 不要用 /etc/init.d/openclash restart stop 会把 enable 置 0,restart 踩中会拒启且无显式报错;须 stop → uci set enable=1 → start
2 改 custom/ 下配置后必须 touch /etc/config/openclash 否则 OpenClash「快速启动」跳过配置重建,改动静默不生效
3 不要开 auto_smart_switch 会把组类型改成 type: smart,标准 mihomo 内核不支持,直接 fatal 起不来
4 不要删 speed_select.rb 顶部的 PATH 前置行 cron 的 PATH 不含 /sbin,删掉后 uci 找不到、脚本预检查必然失败
5 不要主动删除备份文件 备份清理由用户对照台账决定
6 凭据不入文档 API 密钥/代理口令一律用 uci get openclash.config.dashboard_password 与运行时 yaml 读取

5. 指针

文档 位置 用途
环境事实与命令速查 docs/BASELINE.md 拓扑、地址、版本、机制陷阱、常用命令
OpenClash 变更档案 docs/SOP-openclash.md 历次变更(第 13 章为本次)
旁路由底座变更 docs/SOP.md + recovery-plan.md 宿主网络改造与断网恢复
选优脚本运行手册 openclash-apac-20261001/RUNBOOK.md 日常操作、故障处置
备份台账 openclash-apac-20261001/backup/README.md 备份位置与回滚要点
源码留档 openclash-apac-20261001/{clean_nodes.rb,speed_select.rb} 与线上一致

来源:/home/rain/Documents/kvm/openwrt_bypass/docs/HANDOFF.md | 最后更新:2026-10-01 13:17(由 build/sync.py 同步,请勿在站点侧修改)