前言¶
DSH 提供了本地 Web UI(通常监听 3080 端口)。在局域网内通过手机或平板访问这个 UI,通常需要配置反向代理或端口转发。dsh-lan-pass 插件提供了一个简单的密码门禁方案,让设备在同一个局域网下通过密码直接访问本机的 DSH Web UI。
插件简介¶
这是一个客户端插件。它通过密码验证机制,允许手机或平板在同一局域网内访问本机(localhost/127.0.0.1)的 DSH Web UI。由于共享同一后端,会话和输入输出与电脑实时同步。插件内置了 crypto.randomUUID polyfill,用于处理 HTTP 非安全上下文。
安装¶
dsh plugin --profile web add link:/path/to/lan-pass
配置与启动¶
安装后默认密钥为 deepseekyyds。由于该密钥是公开的,存在安全风险,建议尽快修改。
修改方式有两种:
1. 设置环境变量 DSH_LAN_PASSWORD。
2. 编辑 %USERPROFILE%\.dsh\.credentials.yaml,添加:
DSH_LAN_PASSWORD: 你的新密钥
修改后需重启 dsh。
启动 DSH Web 服务时,必须指定监听地址:
dsh web --host 0.0.0.0
同时需要在防火墙中放行 TCP 端口 3080:
netsh advfirewall firewall add rule name="DSH Web 3080" dir=in action=allow protocol=TCP localport=3080
随后在手机浏览器中访问 http://<电脑局域网IP>:3080,输入密钥即可进入 UI。
安全边界¶
门禁校验在服务端完成,Cookie 为 HMAC 令牌且标记为 HttpOnly。
但插件未在 webServer 上添加全局中间件。理论上,未通过 UI 认证的设备仍可直接请求 /api/* 接口。
请注意:
1. 仅建议在可信的家庭局域网使用。
2. 密钥通过明文 HTTP 传输,请勿使用重要密码,建议使用 8 位以上随机字符串。
3. 跨不可信网络请使用反向代理方案(如 dsh-mobile-gate + HTTPS)。
许可证¶
MIT
参考资料¶
详见插件目录:dsh-lan-pass
源码地址:GitHub