dsh-login
v0.1.1 · 0 天前发布
Password gate for dsh-web: opening the web port requires a username/password login; account credentials are stored salted+scrypt-hashed and AES-256-GCM encrypted in a local config file under $DSH_HOME. Host-only cordis plugin, no dsh source changes.
README
dsh-login — dsh-web 登录插件
给 dsh-web 加一道登录门:打开 dsh-web 的端口时先要输入用户名和密码,验证通过后才
能看到界面。账号信息不落明文:密码用 scrypt(随机盐)哈希,整个凭据文件再用
AES-256-GCM 加密后写入本地配置文件($DSH_HOME/dsh-login.json,默认~/.dsh/dsh-login.json)。
适合部署于服务器上的dsh-web服务
需要自行架设nginx服务,把服务映射到局域网内使用
dsh plugin 以 bundle 方式挂载(dsh.bundle.patch),依赖列表只有cordis / dsh-host-webserver / schemastery 三个 peer;dsh-login),不启动 web 也能管理账号。特性
| 能力 | 说明 |
| --- | --- |
| 全量请求门禁 | 包住 webserver 的 register / registerUpgrade / registerFallback:SPA 回退、/api 传输、WebSocket/SSE 升级全部先过会话校验 |
| 会话 | 内存会话 + HttpOnly; SameSite=Strict Cookie(默认 24h,可配置);服务重启全员下线 |
| 首启引导 | 没有账号时打开端口显示“创建管理员账号”页(bootstrap),建完即登录 |
| 加密存储 | 凭据文件 AES-256-GCM 加密;密钥来自 DSH_LOGIN_SECRET(64 hex 或口令)→ 密钥文件 `$DSH_HOM
版本兼容矩阵
| DSH 版本 | 状态 | 说明 |
|---|---|---|
dsh@0.1.0-rc.6 | ✅ 兼容 | cordis patch ✅ |
dsh@0.1.0 | ✅ 兼容 | 标准 patch ✅ |
dsh@0.2.0 | ⚠️ 待验证 | 待实测(API 可能在变) |
dsh@0.3.0+ | ❓ 未知 | 尚未发布 |
💡 兼容矩阵每周末自动跑实测,欢迎 PR 修正
元数据
- License
- MIT
- npm
- dsh-login
- Repo
- git+https://github.com/ravenli059/dsh-login.git
- Engines
{"node":">=22.0.0"}- Weekly DL
- 0
- Monthly DL
- 0
- dsh.bundle
{"bundle":{"patch":"./cordis.patch.yml"}}