dsh-accelerator:DSH 本机加速器,用回环 MITM 与节点池应对 SNI 阻断

前言

在 DeepSeek Harness(DSH)里做智能体开发,常见瓶颈不是模型本身,而是本机访问 GitHub、Steam、Hugging Face 等站点时的连通性与 SNI 策略差异。系统代理或单一 IP 往往搞不定「有的域名必须发真 SNI、有的反而不能发」这类实测问题;商业 hosts 加速器又常把根证书私钥写进用户证书库,和 DSH 同进程权限并存时风险更高。

下面介绍社区插件 dsh-accelerator(维护者 LLL-lyh0,仓库 LLL-lyh0/dsh-accelerator)。它在 DSH 进程内提供回环 MITM 代理 + hosts 引导(或 PAC 回退)+ 可外部扩展的节点池 JSON,不依赖自建远端服务;管理入口在 DSH 设置 → 加速器。SkillHub 目录页:LLL-lyh0/dsh-accelerator(社区独立站点,与 DeepSeek / 幻方无官方从属关系)。当前 package 版本 0.1.0,许可证 MIT。

这是什么

一句话:本机加速器插件,专治 SNI 阻断——通过把受管域名引导到 127.0.0.2 上的 HTTPS 代理,对每个域名在节点池里并发竞速(TCP + TLS 握手),选用最快可用上游,并按域名配置 sni: real | none | cdn。

数据与策略落在 %USERPROFILE%\.dsh\storages\dsh-accelerator\(含 nodes.json、config.json、CA/叶证书等),会话内 AI 或脚本可直接读写节点池,无需另起控制面。

核心功能

开箱即用

  1. 首次启动若缺少 nodes.json,会用内置种子池落盘(含实测 IP 与每域名 SNI 策略)。
  2. enabled、autoStart 默认均为 true:DSH 打开后自动拉起加速并做自检,不通的域名会当场换节点。
  3. smart: true(默认)时:每 15 分钟巡检,且引擎连接失败时立即触发「测活 → DoH 补候选 → 换最快存活节点 → 复验」,结果写入 status.smart。
  4. 内置技能 accelerator-repair(见仓库 skill/SKILL.md),用于连接频繁失败时的修复路径说明。

工作路径(hosts 模式)

应用(认 hosts 的浏览器/Steam 等)
   │  github.com  →  127.0.0.2
   ▼
本机 MITM(127.0.0.2:443,自签 CA + 多 SAN 叶证书)
   │  按域名竞速节点池中的候选 IP
   ▼
真实上游 IP(池子由实测 + DoH 补 IP 维护)

README 强调的三点实现依据:SNI 策略按域名而非全局;不能信任系统 DNS(hosts 会指回本机);节点可用性以 TLS 握手成功 为准,不等待应用层首字节。

外部扩展节点池

通路一:直接改文件

路径:

%USERPROFILE%\.dsh\storages\dsh-accelerator\nodes.json

示例结构:

{
  "github.com": [
    { "ip": "140.82.114.4", "sni": "real" },
    { "ip": "20.205.243.166", "sni": "none" }
  ],
  "steamcommunity.com": [
    { "ip": "23.218.239.27", "sni": "cdn", "sniValue": "a248.e.akamai.net" }
  ]
}

改完后在设置页点「重载文件」,或让会话 AI 调用 accelerator 工具、action: reload_nodes。

通路二:accelerator agent 工具

常用 action 包括:status、start / stop、nodes_get / nodes_set、node_upsert / node_delete、probe、curate、verify、repair、config_set、reload_nodes、log。其中 verify 经本机代理真发 HTTPS;repair 在验证失败时换节点并复验。

通路三:HTTP API

管理页使用 /api/dsh-accelerator/...(GET/POST),仅接受回环 Host 与同源 Origin。

进程级策略与上游

需求 配置
只加速指定软件 config.enforce:进程名列表
排除某些进程 config.bypass
二级代理 config.upstream:direct / http / socks5

接管方式与安全

  • takeover 默认 auto:能写 hosts 则用 hosts;写不了(例如别家加速器把 hosts 收成只读)自动切 PAC;也可选 fixed(整机系统代理,范围大,慎用)。
  • CA 私钥只保存在 storage 目录;信任库安装的是公钥 dsh-accelerator-ca.cer,与 README 中对比 Watt Toolkit / Steamcommunity_302 的说明一致。
  • hosts 只写入标记段 # >>> DSH Accelerator Start >>> … <<< End <<<;与别家段冲突时会检测并在管理页告警;Windows 下首个命中生效,插件会通过 composeHosts() 尽量把本段插到冲突域名之前。

PAC 模式下 git / curl / npm 不读系统 PAC,需自行设置 HTTPS_PROXY=http://127.0.0.2:<proxyPort>;hosts 模式下叶证书带 CRL 分发点,便于 Schannel 系客户端通过吊销检查(详见 README「证书链」一节)。

安装与启用

仓库 README 未给出 dsh plugin add ... 一类 CLI 安装行。SkillHub 目录页提供的安装方式是向 DSH 发起安装请求,标识为:

请安装 DSH 插件 LLL-lyh0/dsh-accelerator

(目录页完整文案为「发送给 DeepSeek Harness 安装」,并提示安装前先读取仓库说明。)

安装完成后:

  1. 在 DSH 中打开 设置 → 加速器 查看状态与接管方式。
  2. 默认已启用且 autoStart 为 true,一般无需再手动点启动;若关闭过,可在设置页或调用 accelerator 的 start。
  3. 首次启用时若 installCaOnEnable 为 true(默认),会将 CA 公钥装入当前用户根证书库——安装前请自行审阅 源码与 MIT 许可证。

注意: 插件以当前 DSH 进程的用户权限运行,会修改 hosts 或 HKCU 下 Internet 设置、安装用户级 CA。文档与自检脚本大量面向 Windows(Schannel、icacls、PAC 等);在其他系统上是否可用应以你本地 DSH 环境与仓库说明为准。

典型用法

在设置页日常运维

查看运行状态、受管域名、hosts 冲突与 status.proxy.effective;执行测活、复验、智能修复;按需重载外部编辑过的 nodes.json。

让 AI 修节点

会话内调用 accelerator,例如:

  • action: status — 看冲突与 smart 结论;
  • action: verify — 逐域名真实 HTTPS 状态;
  • action: repair — 对失败域名换节点并复验(force 可绕过 90s 冷却)。

本地验证引擎(仓库自检脚本)

引擎已启动且 hosts/代理就绪时,可对照 README 运行:

node test/live-verify.mjs 127.0.0.2:443 github.com opencode.ai

该脚本读取 storage 下的 ca.pem、nodes.json,对本机监听地址发真实请求并回报状态码与耗时。

主要 config.json 默认值(节选)

键 默认 说明
enabled true 总开关
autoStart true DSH 启动时自动拉起
smart true 智能巡检与失败时自愈
smartIntervalMin 15 巡检间隔(分钟)
takeover auto auto / hosts / pac / fixed
listenHost / listenPort 127.0.0.2 / 443 MITM 监听
proxyHost / proxyPort 127.0.0.2 / 8843 PAC/固定代理模式本地代理
installCaOnEnable true 启用时安装 CA 公钥到用户 Root
upstream {mode:'direct'} 外部上游模式
relaxRevocationCheck false 仅影响部分 WinINET 客户端,不解决 schannel 的 curl/git

完整表见 GitHub README「配置项」一节。

适用场景与注意

适合: 已在用 DSH、需要本机稳定访问 GitHub/Steam/Hugging Face 等受管域名,并希望节点池能被 AI 或脚本维护的 Windows 用户;希望 CA 私钥留在 storage、而非证书库带私钥的方案。

务必留意:

  1. MITM 本质决定:只应加速你信任且理解的域名集合;安装前阅读源码与 MIT 许可证。
  2. 与 Steamcommunity_302、Watt Toolkit 等同时写 hosts / 证书时可能冲突;管理页会提示 blocked / 共存情况。
  3. 别家加速器把 hosts 设为只读时,插件会回退 PAC,生效范围缩小到认系统代理的程序。
  4. 插件不替代合规网络政策;节点 IP 来自实测与 DoH 补池,可用性随网络变化,依赖 smart / repair 或手动维护。

结尾

经过上面的步骤,可以把 dsh-accelerator 理解为:嵌在 DSH 里的本机加速层——hosts(或 PAC)引导 + 回环 MITM + 可扩展节点池,针对 SNI 阻断做 per-domain 策略与实测优选,并通过工具与 JSON 把运维交给设置页与会话 AI。

  • 目录页:https://www.skillhub.cn/plugins/LLL-lyh0/dsh-accelerator
  • GitHub:https://github.com/LLL-lyh0/dsh-accelerator
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜