DeepSeek Harness 局域网密码门禁插件介绍

前言

DeepSeek Harness (DSH) 的 Web 界面默认绑定在本地回环地址。在自托管或 Homelab 场景中,开发者通常需要从局域网内的其他设备访问该服务。然而,官方 CLI 不支持直接指定 --host 0.0.0.0,这导致在非回环地址暴露服务存在安全风险。dsh-lan-gate 通过插件层配置,允许监听所有接口,并强制实施密码和 CIDR 白名单,解决这一痛点。

插件介绍

dsh-lan-gate 是一个 DeepSeek Harness (DSH) 插件,定位为 admin-security 类别。它由用户 maxesisnclaw 维护。核心功能是为 DSH Web 界面和 /api 接口提供密码保护,并结合 CIDR 白名单机制,确保只有内网特定网段可以访问服务。

核心功能

  1. 全接口监听:通过 bundle patch 修改 webserver.host 配置项为 0.0.0.0,从而在所有网络接口上监听服务。
  2. 密码保护:初始状态无密码,必须先在回环地址设置密码。只有通过验证后,UI 和 API 才会对非回环客户端可见。
  3. CIDR 白名单:默认允许以下 IPv4 内网网段:10.0.0.0/8、172.16.0.0/12、192.168.0.0/16。超出此范围的请求将被拒绝。
  4. 拒绝代理头:插件会拦截并拒绝包含 X-Forwarded-*、Forwarded 或 Via 头的请求。
  5. 回环绕过:为了便于调试和恢复,本地回环地址访问无需密码即可通过。
  6. 安全存储:密码使用 scrypt 验证器存储,会话令牌为随机 32 字节值,仅将 SHA-256 哈希值保留在内存中。
  7. 配置文件:策略文件位于 $DSH_HOME/lan-gate.json,文件权限默认设置为 0600。

安装与启用

使用 DSH 官方插件源安装:

dsh plugin --profile web add dsh-lan-gate

安装完成后,插件会自动应用配置补丁并启动。

配置与使用

  1. 初始化密码:首先在本地访问初始化页面设置密码。地址为 http://127.0.0.1:3080/dsh-lan-full/login。此步骤仅允许通过回环地址访问。
  2. 局域网访问:配置完成后,局域网内的客户端尝试访问 DSH Web 界面时,会自动重定向至登录页。
  3. 策略管理:在 DSH 的设置界面中,进入 LAN 访问 选项,可编辑 CIDR 白名单、代理头拒绝策略以及修改密码。

注意事项与适用场景

该插件以当前 DSH 进程的权限运行。在安装前,建议检查源码与许可证(MIT)。

  • 非 TLS 终止器:插件不提供 TLS 加密,在明文 HTTP 下,局域网内的观察者仍可能嗅探到密码和 Cookie。切勿将其部署在公共互联网。
  • 反向代理限制:不要将此插件部署在添加了转发头(Forwarding Headers)的反向代理后面,插件设计上会拒绝此类请求。

总结

dsh-lan-gate 提供了在 Homelab 环境下安全暴露 DSH Web 服务的基础能力。更多细节请参考 GitHub 仓库 或 DSH 社区目录。

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

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

小夜