← 返回列表
未验证
topic: dsh-plugin
尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/13 · 已提供中文文档
# 面向 TUN(Mihomo/Clash)DNS 环境的 Fake-IP 感知 web.fetch 提供程序,以及固定 LAN CIDR 访问
综合分
28.8
GitHub 分
28.8
用户评分
—
★ Stars
0
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add iwinoid/fakeip-compat该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:已验证本站已于 0 天前真实安装成功(L4 · 真实安装)
- 是什么
- dsh 原生插件 · tool
- 装得上吗
- 本站已真实安装成功(L4 · 真实安装,非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 12 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/24(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-timeout@deepseek-ai/dsh-web用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成fakeip-compat standard-readme compliant License: MIT topic: dsh-plugin powered by dsh 面向 TUN(Mihomo/Clash)DNS 环境的 Fake-IP 感知 web.fetch provider,并支持固定 LAN CIDR 访问 目录 - 背景 - 安装 - 依赖 - 用法 - 配置 - 设置 UI - API - 维护者 - 贡献 - 许可证 背景 内置的 http fetch provider 会防范 SSRF。它会拒绝任何解析到非公网地址的主机名。在带有 Fake-IP DNS(Mihomo/Clash)的 TUN 代理下,每个公网站点都会解析到一个伪造地址,例如 198.18.0.11。于是该防护会拒绝所有这些请求,尽管流量本身是通的。本地 LAN 调试则会从另一侧撞上同一堵墙。 早期的 v1 方案直接给 web.fetch 打补丁,并 shell 调用 curl/getent。那样绕过了 provider 注册表,在 --dump-config 中不可见,允许通过模型控制的 URL 进行命令注入,并且用一个解析器校验、却通过另一个解析器传输。v2 完全摒弃了这些做法。它通过 ctx.web.registerFetchProvider 注册一个真正的 provider,只使用 node:dns/promises 加上 undici(无 shell、无子进程),抛出内置的 WebError 错误码,并且只向经 DoH 校验的地址传输。 安装 依赖 运行时依赖随包安装(@deepseek-ai/schemastery、ipaddr.js、undici,以及 DSH peer 依赖)。只有 Fake-IP 路径需要 TUN 代理。LAN 路径不需要代理。 dsh plugin --profile web add github:iwinoid/fakeip-compat 本地开发则改用 link 安装: dsh plugin --profile web add link:/path/to/fakeip-compat 该包没有构建步骤,因此 git 安装不需要 allowBuilds 例外。 该包只注册 provider。它从不选择自身。官方的多 provider 规则适用:如果没有显式选择,接缝会报告 WEB_PROVIDER_AMBIGUOUS。在 profile 层将 web 接缝指向它: - id: web name: '@deepseek-ai/dsh-web' config: searchProvider: tavily # keep your existing search choice, never drop it fetchProvider: fakeip-http 补丁会替换整行配置,因此务必在 fetchProvider 旁边重新声明 searchProvider。或者按进程选择: DSH_WEB_FETCH_PROVIDER=fakeip-http 更改后验证: dsh --profile --dump-config | grep -A8 fakeip 用法 配置 | 键 | 默认值 | 说明 | | --- | --- | --- | | lanCidr | 192.168.0.0/16 | 局域网允许列表。系统解析结果位于其中时,传输会被固定。 | | fakeV4Cidr / fakeV6Cidr | 198.18.0.0/16 / fdfe:dcba:9876::/48 | 本地 Fake-IP 池。请将它们与 Clash Verge 配置匹配。 | | dohEndpoints | 1.1.1.1/dns-query、8.8.8.8/resolve | 通过直接 IP 字面量端点使用受信任的 DoH(JSON API)。第一个完全成功的端点胜出。 | | dohTimeoutMs | 8000 | 单次 DoH 查询的预算。 | | lanInsecure | false | 仅在局域网路径上跳过 TLS 检查。对自签名设备请开启它。 | | maxResponseBytes / maxBodyChars / timeoutMs / maxRedirects / userAgent | 5000000 / 100000 / 30000 / 5 / 官方 UA | 含义与官方 provider 相同。 | 设置界面 该插件注册了一个 fakeip-compat 设置分区以及一个同名浏览器卡片(lib/client.js,手写,无构建步骤)。DSH 重启后,该卡片会显示在 设置 → 插件 → 插件配置 下。上表中的每个字段都可在此处编辑。保存会立即生效,无需重启。无效输入(例如错误的 CIDR)会阻止保存。错误的运行时编辑会保留上一个有效值,且绝不会破坏进行中的 fetch。没有设置服务的环境(例如无头环境)会回退到合并后的配置。 API Provider id:fakeip-http。通过 web.fetchProvider 或 DSH_WEB_FETCH_PROVIDER 选择它。 该契约有两盏绿灯,其余情况保留原版拒绝行为: 1. TUN Fake-IP 路径。 当系统解析返回一个 fake 地址时,provider 会通过受信任的 DoH 重新检查该名称,然后使用官方 pin 机制将传输固定到经 DoH 验证的真实地址集。传输时不会进行第二次解析。 2. 局域网路径。 系统解析结果位于 lanCidr 内时,传输会被固定,默认保留 TLS 检查。 其他所有情况都保留官方 http provider 的拒绝含义和错误码:其他私有地址范围、混合应答(fake 与 real 同时出现)、局域网允许列表之外的 hosts 固定名称,以及未列入允许列表的字面量。将名称固定到局域网的 hosts 条目会保持固定。provider 绝不会通过 DoH 绕过它。 维护者 - iwinoid — iwinoid@outlook.com 贡献 欢迎在 GitHub Issues 页面提交 bug 报告和问题。接受 pull request。浏览器卡片为手写,无构建步骤。请保持这种方式。 许可证 MIT © iwinoid