前言¶
DeepSeek Harness(DSH)内置的 web_fetch 在解析域名后会拒绝内网、保留地址段,用来降低 SSRF 风险。对多数公网抓取场景这是合理默认;但若本机走 Clash、mihomo 等透明代理,DNS 可能返回 fake-IP(常见为 198.18.0.0/15),内置校验会把这类地址当成不可达或危险目标,请求在解析阶段就失败。
内置 web_fetch 的防护逻辑不能关闭,也不能通过配置放宽。社区插件 dsh-web-fetch-allowlist(维护者 icceey,目录分类 admin-security)在仍沿用内置解析与校验的前提下,仅在触发 WEB_BLOCKED_URL 时按可配置 CIDR 白名单做额外放行,适合需要在 DSH 里继续用 web_fetch、又必须配合 fake-IP 代理链路的开发者。
这是什么¶
dsh-web-fetch-allowlist 是对 DSH 内置 web_fetch provider 的补丁型插件:不改变超时、大小上限、重定向、代理、NAT64、字符集等行为,只在内置实现因地址段策略抛出 WEB_BLOCKED_URL 时,判断解析结果是否落在用户配置的 CIDR 内;命中则放行该地址,不命中则原样抛出原有错误。
若内置 provider 不存在,或 DSH 升级导致内部结构变化,插件会保持安静、不介入。
核心功能¶
- 可配置 CIDR 白名单:
allowCidrs支持 IPv4/IPv6;未在插件配置中设置时,可读取环境变量DSH_WEB_FETCH_ALLOW_CIDRS(逗号分隔)。 - 默认覆盖 Clash/mihomo fake-IP 段:未改 fake-IP 配置时,默认包含
198.18.0.0/15,安装后通常无需再改配置(见 README 说明)。 - 失败才走白名单:先完整走内置 provider 的解析与校验;仅当错误为
WEB_BLOCKED_URL时才尝试白名单,错误码与未命中时的语义与内置一致。 - 与内置行为对齐:除白名单放行外,其余路径与内置实现相同;避免用插件替代整套 fetch 策略。
安装与启用¶
在 DSH 管理界面:Plugins → Add plugin,填入仓库地址:
https://github.com/icceey/dsh-web-fetch-allowlist
或使用 CLI(将 <profile> 换成你的 profile 名):
dsh plugin --profile <profile> add github:icceey/dsh-web-fetch-allowlist
管理器提示 restart-required 时,按提示重启 DSH 或重新启用插件后再验证 web_fetch。
插件要求 Node >=22.19(见仓库 package.json 的 engines 字段)。
配置示例¶
若使用 Clash/mihomo 且未调整 fake-IP,README 写明安装后一般可直接使用。需要显式写出配置时,可在 profile 的插件段增加:
- id: web-fetch-allowlist
name: 'dsh-web-fetch-allowlist'
config:
allowCidrs:
- '198.18.0.0/15'
allowCidrs 会替换默认值而非追加;若有多个网段,在列表中一并列出。也可通过环境变量 DSH_WEB_FETCH_ALLOW_CIDRS 提供逗号分隔的 CIDR,在未配置 allowCidrs 时生效。
典型用法与行为核对¶
- 保持 DSH 与代理(Clash/mihomo)照常运行,安装并启用本插件。
- 通过 Harness 调用内置
web_fetch访问此前因 fake-IP 被WEB_BLOCKED_URL拦截的 URL。 - 若解析地址落在
allowCidrs(或环境变量等价配置)内,插件放行;否则仍收到与内置相同的阻断错误。
README 未提供独立演示脚本;验证方式以实际 web_fetch 请求与错误码为准。
适用场景与注意¶
适合:在本机或固定环境使用透明代理 + fake-IP,且必须在 DSH 智能体流程里使用 web_fetch 拉取页面的场景;需要为特定内网或实验网段增加额外放行(在理解 SSRF 风险的前提下自行收窄 CIDR)。
注意:
- 白名单放宽的是解析结果所在网段,不等于信任目标 URL;应只配置你确知用途的段(如 fake-IP 池),避免把大范围公网或整个 RFC1918 随意加入。
- 插件以当前 DSH 进程权限运行;安装前请阅读 GitHub 仓库 源码与 MIT 许可证,确认与自身安全策略一致。
- 社区目录 SkillHub 插件页 与 GitHub 由社区维护,与 DeepSeek / 幻方无官方从属关系;版本与行为以仓库 README 为准。
结尾¶
dsh-web-fetch-allowlist 在不拆掉 DSH 内置 SSRF 防护的前提下,为 web_fetch 增加可配置的 CIDR 放行,默认对齐 Clash/mihomo 的 fake-IP 段,适合代理环境下的抓取调试与日常使用。
- 目录页:https://www.skillhub.cn/plugins/icceey/dsh-web-fetch-allowlist
- 源码与文档:https://github.com/icceey/dsh-web-fetch-allowlist