runfali/dsh-login-gateway ↗★ 2
dsh-login-gateway
DeepSeek Harness 登录门卫插件:为 dsh Web UI 提供外部访问入口 + 用户名密码登录验证
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗配置项
所有配置都有默认值,新装默认配置即可工作。完整配置表如下:
| 配置项 | 默认值 | 说明 |
|---|---|---|
listenHost | 0.0.0.0 | 门卫监听地址,暴露给外部 |
listenPort | 3081 | 门卫监听端口 |
targetHost | 127.0.0.1 | dsh Web UI 监听地址 |
targetPort | 3080 | dsh Web UI 监听端口 |
sessionTtlHours | 24 | 登录会话有效期(小时) |
maxLoginAttempts | 5 | 同一 IP 连续失败多少次后锁定 |
lockMinutes | 5 | 锁定持续分钟数 |
setupMaxAttempts | 5 | /setup 初始化时,同一 IP 连续失败多少次后锁定 |
setupLockMinutes | 30 | /setup 初始化锁定持续分钟数 |
proxyTimeoutMs | 60000 | 反代上游响应头等待超时(毫秒),超时返回 504;WS 握手超时取与 15s 的较小值 |
streamIdleTimeoutMs | 1800000 | 反代响应流空闲超时(毫秒,默认 30 分钟) |
maxConnections | 512 | HTTP 服务最大并发连接数,超出后新连接被丢弃 |
userStorePath | ~/.dsh-login-gateway/users.json | 用户数据文件路径(可自定义) |
使用说明
- 登录:打开
http://:3081/,输入用户名密码。成功后会种下会话 Cookie(dsh_gw_session,HttpOnly+SameSite=Strict),之后访问全部走反代,包括 WebSocket。 - 登出:
POST /logout。页面无入口时可直接调用:curl -X POST http://:3081/logout。 - 未登录访问:
/返回登录页;其余路径返回401JSON。 - 登录限速:同一 IP 连续输错
maxLoginAttempts次会被锁定lockMinutes分钟。 - 账号锁定:同一用户名跨 IP 累计失败
maxLoginAttempts次也会被锁定,可防代理池分布式爆破。 - 初始化限速:
/setup同样按 IP 限速,令牌错误、用户名空、密码过短、两次密码不一致都计失败。