GDWhisper/dsh-web-startup-auth ↗★ 38
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
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:GDWhisper/dsh-web-startup-auth说明文档
阅读完整 README ↗使用
- 浏览器访问
http://:/(在本机则用http://127.0.0.1:/,无需登录)。 - 远程访问首次会跳转到
/login,显示"设置管理员账号密码"注册表单。 - 注册成功后自动登录并进入主界面;之后访问需登录。
- 退出登录 / 修改用户名 / 修改密码 / 调整会话有效期:打开主界面设置面板 → 认证标签页(同时也是一个独立入口,
/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并重启,即可重新注册(同样会作废所有会话,但需重启服务)。