DSH Plugins
返回列表
🧩

dsh-plugin-notoken

admin-security 更新于 2026.10.19

在终端中运行以下命令:

dsh plugin install BeyondandSharp/dsh-plugin-notoken

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

在 DeepSeek Harness 中执行 dsh plugin install BeyondandSharp/dsh-plugin-notoken 即可从 https://github.com/BeyondandSharp/dsh-plugin-notoken 安装本插件。

插件介绍

用浏览器打开 DSH 时,首次访问往往要在地址里带上 ?token=,既不方便也容易在书签、截图或转发链接时泄露。这个插件在 DSH 里注册一个登录入口路由(默认 GET /__dsh_login),在同一次响应里把进程里已有的登录 token 换成浏览器会话 cookie,让后续访问像普通 Web 应用一样走会话,而不必每次从 URL 里抠参数。

它的能力边界很清晰:不签发 cookie、不碰密钥、不解析启动输出、也不改 DSH 源码,只是在 DSH 对 frontend-static 与 /api 做浏览器认证之前,利用具名路由先匹配、默认不认证这一机制,把「换会话」这件事做成一个固定入口。README 也说明了外壳回源、SameSite 与 Sec-Fetch 等细节——本质是在浏览器启动链和重定向行为之间找一条能稳定落下会话的路径。

需要强调的是:README 明确标注为不安全。任何能访问该端口、且 Host 落在 DSH trustedHosts 里的人,都相当于拥有 operator 权限,可执行工具、读取凭据,并以运行 dsh web 的 OS 用户身份操作机器。因此它只适合完全受控的内网、本机或你已用反向代理与信任围栏严格收窄暴露面的场景;若面向公网或不可信访客,不应依赖此插件做「免 token 登录」。

若你理解上述风险,并希望在可信 Host 下用 cookie 会话替代 URL token、同时接受插件路由先于全局认证这一设计取舍,这个插件就是针对该痛点的轻量方案。

使用场景

  • 内网或本机跑 dsh web,希望首次打开页面不必在地址栏带 ?token=
  • 反向代理把裸路径 401 改写为登录入口,地址栏保持干净根路径
  • 已在 trustedHosts 下收窄 Host,需要浏览器 cookie 会话而非 URL 传参

适合人员

  • 理解 operator 权限范围、并接受插件路由先于全局认证的 DSH 运维者
  • 在可信 Host 与网络边界内做 DSH 演示或日常自用的开发者
  • 能配合 nginx 等代理做 Host 透传与入口改写的高级用户