joy-cli/docs/ops/manhuang-net-path.md
feibisi 97c71b79e9 feat(manhuang): chain_v2 breaks + 接码单点/号池 burn/path_id
从六环色块加深到结构化 chain_break(reason/owner/sla);显式 sms 单点、
号池额度历史烧速、出口 path_id;串线 crit 自动 ensure-direct;总览 Top break。
2026-07-13 03:08:19 +08:00

8 KiB
Raw Permalink Blame History

蛮荒 · 网络供应链VPN / 机场 / 出站路径)

状态:已落地(可运维) · 更新 2026-07-13
仓库:joy-cli · 相关 commit 见 git log --oneline --grep=net-path

0. 一句话

机场 / Clash / 系统代理 / 出口身份 当作供应链一环,而不是用「公开代理 46 万 alive」冒充出口能力。
神州生产域必须 DIRECT;蛮荒 clearnet 探价可用 mixed-port鬼市 onion 走 Tor 分轨

1. 定位

不是
出站路径健康 + 串线检测 + Board 闭环 暗网成交 / 代付 / 洗钱
订阅 hash、节点数 Δ、延迟、geo/ASN 订阅 URL / 节点 server 明文进面板
scutil 系统代理是否指向 789x 把 free proxy dump 当 KPI

2. 五层模型N0N5

内容 实现
N0 配置/订阅元数据 hash、profile 文件数、节点数 Δ probe-proxy-path.pyn0_subscription_meta
N1 Clash Meta controller :9090 / Verge :9097 n1_controllers + primary
N2 选中节点 /delay 抽样 n2_delays
N3 双出口 IP + geo/ASN n2_n3_egressipify + ip-api
N4 scutil 系统代理 ON/OFF → 789x期望 ON system_proxy
N5 global 模式 / 生产域未 DIRECT串线 n4_n5_isolation

3. 文件地图

路径 职责
scripts/manhuang/clashctl 控制面入口status/mode/ensure-direct/probe/regression
scripts/manhuang/clash-api.py vendored 通用 API CLIHsiifu3/clash-verge-skill
scripts/manhuang/probe-proxy-path.py 主探针(默认 / --deep
scripts/manhuang/check-net-path-regression.sh 回归crit 串线 → exit 2
scripts/manhuang/actions-to-board.sh findings → Board observe
scripts/manhuang/run-quote-probe.sh 管线内嵌 net-path
configs/launchd/com.feibisi.manhuang-net-path.plist 每 15min --deep
configs/manhuang/proxy-path.example.yml controller / never_via_proxy
configs/manhuang/clash-rules-shenzhou-direct.snippet.yaml 生产 DIRECT 规则草案
~/.cache/manhuang/net-path/status.json 最新状态
~/.cache/manhuang/net-path/history/YYYYMMDD.jsonl 历史曲线
docs/ops/manhuang-net-path.md 本文

4. 日常命令

cd ~/Projects/joy-cli

# —— 控制面 CLI现成 API 客户端 + 本仓缺口)——
# 通用 status/mode/切节点vendored clash-api.py
#   upstream https://github.com/Hsiifu3/clash-verge-skill MIT零依赖
# 本仓封装:
bash scripts/manhuang/clashctl status
bash scripts/manhuang/clashctl mode rule
bash scripts/manhuang/clashctl ensure-direct   # rule + 生产 DIRECT 检查/热加载
bash scripts/manhuang/clashctl sys-proxy       # 期望 ON
bash scripts/manhuang/clashctl groups
# 亦可用python3 scripts/manhuang/clash-api.py --api http://127.0.0.1:9090 status

# 深探(延迟 + 串线 + scutil + geo
bash scripts/manhuang/clashctl probe --deep
# 或: python3 scripts/manhuang/probe-proxy-path.py --deep

# 回归(期望改完 Clash 后 PASS
bash scripts/manhuang/clashctl regression
# 更严:系统代理+global 也失败
bash scripts/manhuang/clashctl regression --strict

# findings → Board12h 节流;--force 重发)
bash scripts/manhuang/actions-to-board.sh
bash scripts/manhuang/actions-to-board.sh --dry-run

# 装/重载定时(若未 load
cp configs/launchd/com.feibisi.manhuang-net-path.plist ~/Library/LaunchAgents/
launchctl bootout gui/$(id -u)/com.feibisi.manhuang-net-path 2>/dev/null || true
launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.feibisi.manhuang-net-path.plist

4.1 现成 CLI 调研结论2026-07-13

工具 结论
clash-verge-skill 已 vendoring 为 clash-api.py,本机 ClashX Meta :9090 实测可用
mihomosh 更全的独立 Mihomo 工具箱;需配 mihomo-path与 ClashX Meta GUI 目录不完全一致,未默认采用
clashtui / mihoro 自管内核,易与 ClashX Meta 双开冲突,不装
官方 无业务 CLI只有 external-controller REST

5. 2026-07-13 实测与处置记录Mac 麟悦)

5.1 处置前

Clash Meta · global · mixed :7893
系统代理 ON → 127.0.0.1:7893
串线 critglobal + 系统代理 + 生产域未 DIRECT
回归 FAIL

5.2 已执行处置(脚本/API非 GUI

  1. PATCH /configsmode=rulelive controller :9090
  2. 从当前订阅缓存生成增强配置,rules 顶部 prepend 生产 DIRECTPUT /configs?force=true 热加载
    • 落地文件:~/.config/clash.meta/config-shenzhou-direct.yaml(含订阅节点,勿提交 git
  3. Clash Verge enhanceprofiles/rnT7uCOncus6.yaml prepend 同步
  4. ~/.config/clash.meta/config.yaml 基线 mode=rule + DIRECT 列表
  5. 串线探针改为:以 live DIRECT 规则覆盖为主mixed-port 200 ≠ 走机场)

5.3 处置后

mode rule
生产 DIRECT weixiaoduo / feicode / support / mall 等 已在 rules 前 16 条
系统代理 必须保持 ON → 127.0.0.1:7893本机否则上不了外网
串线 risk ok / info(系统代理 ON 是常态,不是缺陷)
回归 check-net-path-regression.sh → PASS
出口 geo 例 HK · 节点延迟 ~145ms

5.4 运维约定2026-07-13 菲比斯确认)

系统代理必须开着。 本机外网依赖 Clash「设置为系统代理」关掉之后浏览器和多数 App 上不了外网

要做 不要做
Clash mode=rule global 把所有流量(含生产域)塞进节点
生产域 DOMAIN-SUFFIX … DIRECT 置顶 关闭系统代理 来「隔离」神州
蛮荒 clearnet 探价走 mixed-port 把 scutil 系统代理 ON 当成故障去关
订阅更新后重跑 --deep / 回归,确认 DIRECT 仍在最前 为了回归绿而去关系统代理

隔离手段 = rule + 生产 DIRECT,不是关代理。

6. 与 collect / 面板

  • manhuang.net_pathcollect_manhuang() 读 status.json
  • 出口环不再用 proxies_alive 大数刷绿
  • 通道 tabN0N5 卡、延迟表、串线 findings、系统代理 ON/OFF、geo
  • 公开代理池默认折叠

7. Board 闭环

项目 P-manhuang-netowner linuxjoy
family observe
capability observability_ops(威胁类用 security_ops
节流 同 title hash 12hMANHUANG_BOARD_THROTTLE_S
任务正文 含 next + 规则草案路径

8. 铁律

  • 订阅 URL / 节点私钥 永不进 git / dashboard JSON
  • 不成交、不代付、不对第三方写 exploit
  • 神州生产变更仍走 devops / 人工Board 只 observe
  • 系统代理必须保持 ON(本机否则上不了外网;菲比斯 2026-07-13 确认)
  • 隔离靠 rule + 生产 DIRECT绝不靠关系统代理

9. 相关文档

10. 与供应链 chain_v2

  • status.jsonpath_idcontroller+mode+selected+egress 哈希)
  • 串线 risk=crit 时探针默认跑 clashctl ensure-directMANHUANG_AUTO_ENSURE=0 可关)
  • collect 将 path_id / system_proxy 并入 chain.breaks(如 path_serial / path_sys_proxy_off

11. 下一步(未做)

  • 本地 mmdb 解析 ASN现用 ip-apimaxminddb 因 PEP668 未装)
  • scutil 异常列表与生产域是否在 ExceptionsList
  • 神州健康检查强制 direct 的自动化(与 joy web / 监控联动)
  • 出口 IP 信誉列表对撞(可选)
  • Board 按 chain.breaks[].reason 自动发 observe 任务