🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

网页抓取白名单 xfqz86/dsh-web-fetch-allowlist

DeepSeek Harness
xfqz8633 天前有提交已提供中文文档扫描:未发现敏感能力

为本地 fake-ip 场景放行指定网段抓取网页

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add xfqz86/dsh-web-fetch-allowlist
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · search
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 33 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/1) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 2 处,展示前 2 条)
  • 发起网络请求
    lib/index.js:58
    fetch(request, signal) {
  • 发起网络请求
    lib/index.js:59
    return this.inner.fetch(request, signal)
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-web@deepseek-ai/dsh-web-fetch-http@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 放行可配置CIDR网段
  • 保留其余SSRF校验
  • 纯JS无需构建

DSH 网页抓取白名单插件:复用官方传输链路,仅对可配置 CIDR(如 Clash fake-ip 段)放行,其余 SSRF 校验全部保留。纯 JS,无需构建。

README

由 DeepSeek 最新模型翻译生成
dsh-web-fetch-allowlist DSH 的白名单网页抓取 provider 插件(服务端 Host,无浏览器端,纯 JS 无构建)。 在 ctx.web 注册 http-allowlist 抓取 provider:薄套壳,复用官方 @deepseek-ai/dsh-web-fetch-http 的传输/重定向/钉扎/解码,仅注入白名单 DNS 解析,用于 Clash fake-ip 等本地覆写场景。 结构:lib/allowlist.js(CIDR 白名单)+ lib/resolver.js(注入官方的 DNS 校验)+ lib/index.js(换 id 注册)。lib/ 即源码,直接推 GitHub;验证只跑 pnpm test。 安全模型(没有抛弃校验) 白名单是“窄例外”,其余校验全部保留: - URL 层:仅 http:/https:、禁内嵌凭据、长度 ≤2048。 - DNS 层:单次解析、任一答案非公网即拒绝整个答案集;白名单命中才放行;连接钉扎到已校验地址集(防 TOCTOU);IPv6 做 DNS64/NAT64 翻译复核;IP 字面量同样校验。 - 传输层:仅跟随同源重定向并逐跳重校验;超时、字节/字符上限;Content-Type 仅解码文本系;charset 显式解码。
展开完整文档(README 剩余 1 节)
dsh-web-fetch-allowlist

DSH 的白名单网页抓取 provider 插件(服务端 Host,无浏览器端,纯 JS 无构建)。

在 ctx.web 注册 http-allowlist 抓取 provider:薄套壳,复用官方 @deepseek-ai/dsh-web-fetch-http 的传输/重定向/钉扎/解码,仅注入白名单 DNS 解析,用于 Clash fake-ip 等本地覆写场景。

结构:lib/allowlist.js(CIDR 白名单)+ lib/resolver.js(注入官方的 DNS 校验)+ lib/index.js(换 id 注册)。lib/ 即源码,直接推 GitHub;验证只跑 pnpm test。

安全模型(没有抛弃校验)

白名单是“窄例外”,其余校验全部保留:

- URL 层:仅 http:/https:、禁内嵌凭据、长度 ≤2048。
- DNS 层:单次解析、任一答案非公网即拒绝整个答案集;白名单命中才放行;连接钉扎到已校验地址集(防 TOCTOU);IPv6 做 DNS64/NAT64 翻译复核;IP 字面量同样校验。
- 传输层:仅跟随同源重定向并逐跳重校验;超时、字节/字符上限;Content-Type 仅解码文本系;charset 显式解码。
- 代理层:复用 proxyRouteFor 同一路由答案;白名单外 IP 字面量不走代理快捷路径。

默认白名单(开箱即用,可覆盖):

- 198.18.0.0/16(Clash fake-ip IPv4)
- 2001:2::/48(被劫持的 fake IPv6 AAAA)
- fd00::/8(Clash fake-ip IPv6 ULA)

0.0.0.0/0、::/0 等宽条目会显著弱化 SSRF 防护,仅限可信环境。

安装(标准 cordis.patch 模式)

dsh plugin --profile web add "link:"

cordis.patch.yml 已自带挂载与切换(web.fetchProvider: http-allowlist),改动后服务端需重启 dsh。卸载:

dsh plugin --profile web remove dsh-web-fetch-allowlist

配置

全部可选,patch 的 config 字段:

| 字段 | 默认 | 说明 |
| maxResponseBytes | 5000000 | 响应体最大字节数 |
| maxBodyChars | 100000 | 解码后最大字符数 |
| timeoutMs | 30000 | 抓取超时 |
| maxRedirects | 5 | 同源重定向跳数 |
| userAgent | dsh-web-fetch-allowlist/0.1.0 | 请求头 |
| allowedNonPublicCidrs | 上述三段 | 被视为公网的额外 CIDR;[] 即严格公网策略 |
预览分享卡片长什么样 ↓xfqz86/dsh-web-fetch-allowlist
分享 · DeepSeek Harness Hub
xfqz86/dsh-web-fetch-allowlist

为本地 fake-ip 场景放行指定网段抓取网页

回到顶部