GDWhisper/dsh-web-startup-auth38

dsh-web-startup-auth

DSH remote-aware web-startup replacement + username/password auth plugin: allows --host 0.0.0.0 when paired with the auth plugin

包名
dsh-web-startup-auth
版本
0.1.8
许可证
MIT
最近更新
2026年9月12日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:GDWhisper/dsh-web-startup-auth

使用

  1. 浏览器访问 http://:/(在本机则用 http://127.0.0.1:/,无需登录)。
  2. 远程访问首次会跳转到 /login,显示"设置管理员账号密码"注册表单。
  3. 注册成功后自动登录并进入主界面;之后访问需登录。
  4. 退出登录 / 修改用户名 / 修改密码 / 调整会话有效期:打开主界面设置面板 → 认证标签页(同时也是一个独立入口,/api/auth/logout 清除会话 cookie)。

凭据与会话密钥保存在 ~/.dsh/web-auth.json

  • 密码使用 scrypt(随机盐,64 字节)散列存储,不保存明文。
  • 会话 cookie 用随机生成的密钥做 HMAC-SHA256 签名,防伪造。有效期档位(sessionMaxAgeDays,默认 14)也存在这个文件里,可在设置面板调节;调整只对新签发的会话生效。
  • 忘记密码:在服务器本机执行 dsh --profile web auth-reset,交互式设置新密码(或 dsh --profile web auth-reset --password 非交互)。重置会轮换会话密钥,作废所有已签发的会话
  • 修改用户名 / 修复含控制字符的用户名dsh --profile web auth-reset --username (可与 --password 同用)。同样轮换会话密钥。用户名在注册/登录/修改时统一剥除 C0 控制字符(0x00–0x1F)与 DEL(0x7F)——旧版本若已把含 DEL 的用户名原样存盘,用它即可修复。
  • 兜底方案:删除 ~/.dsh/web-auth.json 并重启,即可重新注册(同样会作废所有会话,但需重启服务)。