← 返回列表
D

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.

dsh-plugindeepseek-harnessdshcordisloginauthenticationpasswordsecurityweb-uigateway

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服务,把服务映射到局域网内使用

  • 纯主机侧 Cordis 插件,不修改任何 dsh 源码;

  • 通过 dsh plugin 以 bundle 方式挂载(dsh.bundle.patch),依赖列表只有

  • cordis / dsh-host-webserver / schemastery 三个 peer;
  • 自带独立 CLI(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

    查看完整 README →

    版本兼容矩阵

    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"}}