DSH Plugins
返回列表
🖥️

dsh-web-auth

客户端 更新于 2026.09.10

在终端中运行以下命令:

dsh plugin install ChinaBoy0618/dsh-web-auth

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 的终端执行 dsh plugin install ChinaBoy0618/dsh-web-auth(源码地址:https://github.com/ChinaBoy0618/dsh-web-auth),安装到 profile 的 node_modules 后把 dsh-web-auth 追加进 dsh.profile.bundles,再生成 token 并让 frp 指向 gatePort 即可启用。

插件介绍

DSH Web 默认只监听 127.0.0.1,并在 /api 层面用 Host 栅栏拒绝一切非 loopback 来源,以防止 DNS rebinding 与跨域攻击。经 frp、ngrok 等隧道进来的请求因此被一律 403 拦下,而 DSH 本身又没有面向外部访问者的登录或密码机制。加一条 --trusted-host 只是撕开栅栏的一道缝,并不等于真正的认证。dsh-web-auth 正是为此而生:把栅栏与凭证校验合并为一个架构正确的 loopback 反向代理门。

插件在 DSH 进程内部启动一个 gate(默认 127.0.0.1:3081),frp 隧道指向该端口即可接管。未登录的浏览器访问会被 302 到 token 登录页,成功后签发 HttpOnly 会话 Cookie(默认 12 小时、滑动续期);API、静态资源与 WebSocket 在未认证时统一返回 401。curl 或脚本场景可通过 X-DSH-Auth 请求头直接携带 token,跳过 Cookie 流程。同一 IP 连续失败 10 次触发 10 分钟限速窗口,抑制暴力猜测。token 按 插件行配置 → 环境变量 → $DSH_HOME 下文件 的优先级解析,找不到则 gate 拒绝启动(fail closed),不会留下无认证的公网入口。零外部依赖,仅使用 Node.js 内置模块。

适合通过隧道将 DSH Web 暴露到公网、需要一层轻量认证却不想自写登录逻辑的开发者,也适合在 CI 与自动化脚本中以请求头方式调用 DSH API 的工作流。

使用场景

  • 通过 frp 或 ngrok 隧道将 DSH Web 暴露到公网,需要 token 登录保护
  • curl 或自动化脚本调用 DSH API 时以请求头方式携带 token 认证
  • 抑制暴力猜测,对同一 IP 连续失败自动触发限速窗口

适合人员

  • 通过隧道暴露 DSH Web 且需要轻量认证层的开发者
  • 希望免写登录逻辑即可保护公网入口的技术团队
  • CI 与自动化工作流中以请求头方式调用 DSH API 的脚本作者