dsh-lan-guard:将 DSH Web UI 安全暴露给局域网

DeepSeek Harness (DSH) 的 Web UI 默认绑定在 127.0.0.1,无法直接从局域网内的其他设备访问。dsh-lan-guard 插件通过在另一个端口上开启一个带门控的反向代理,将官方 UI 转发出去。它默认使用自签名 HTTPS,并提供二维码访问方式。

插件介绍

dsh-lan-guard 是一个 DeepSeek Harness 社区插件,由 idoall 维护。它的核心功能是在不修改 DSH 源码或其自身监听配置的前提下,增加一个安全的局域网访问入口。它通过门控反向代理实现访问控制,默认提供自签名 HTTPS 证书和二维码访问功能。

核心功能

  • 门控反向代理:插件在 DSH 端口之外开启一个监听器,转发 HTTP 和 WebSocket(包括官方 UI 的 /api/remote.mux 长连接),并处理 Host/Origin 重写和头部剥离。当上游服务不可用时,它返回 502 错误。
  • 自签名 HTTPS 与 CA 信任:默认生成 DSH LAN Guard CA 并为当前网卡地址签发证书。更换 IP 只会重新签发叶子证书,无需重新信任 CA。
  • 二维码访问与设备配对:提供扫码入口。首次通过访问密码的设备会被配对,获得 HttpOnly 设备身份 Cookie。可以在“已授权设备”中查看、撤销或永久阻断设备。
  • 双密码机制:使用 PBKDF2-SHA256(600,000 次迭代)。访问密码用于登录设备,管理员密码用于解锁设置页面的管理控制台。默认提供无密码链接,但建议设置密码。
  • 官方页面内设置:所有配置在 DSH 官方设置页面的“局域网访问”栏目中完成,不替换官方布局。

安装与启用

使用官方命令安装插件:

dsh plugin --profile web add dsh-lan-guard@latest

安装完成后,需要重启 DSH 才能使插件生效。

配置与使用

在 DSH 官方设置页面的“局域网访问”栏目中,通常包含四个标签页。配置步骤如下:

  1. 设置访问密码:在“安全认证”标签页下,设置访问密码(建议至少 8 个字符)。在设置密码之前,门控会拒绝所有设备访问。
  2. 检查监听范围:在“连接与证书”标签页下,确认监听范围(默认为 LAN 0.0.0.0)。该设置决定插件对外发布的 IP 地址,以及自签名证书覆盖的地址。
  3. 扫码访问:在“扫码访问”标签页下,扫描生成的二维码。在手机浏览器打开链接时,首次需要信任 DSH LAN Guard CA 证书,随后输入访问密码并命名设备。

注意事项

  • 远程设备默认只读:远程设备默认 adminPolicy: local_only,无法修改插件设置。如需手机端管理,需在桌面端修改策略。
  • 需要重启:安装后必须重启 DSH 才能生效。
  • 无需手动配置:插件运行不需要手写配置文件。

结语

dsh-lan-guard 为开发者提供了一个无需复杂网络配置即可在局域网内使用 DSH 的方案。其设备配对和阻断机制提供了基础的安全边界。更多细节请参考 GitHub 仓库 或 插件目录。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜