dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH 网页抓取白名单插件:复用官方传输链路,仅对可配置 CIDR(如 Clash fake-ip 段)放行,其余 SSRF 校验全部保留。纯 JS,无需构建。
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。
白名单是“窄例外”,其余校验全部保留:
http:/https:、禁内嵌凭据、长度 ≤2048。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 防护,仅限可信环境。
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;[] 即严格公网策略 |