AI Agent Hub
Back to plugins
🧩

dsh-auth-lock

admin-security Updated 2026.08.18

Run the following command in DeepSeek Harness:

dsh plugin install imchenmin/dsh-auth-lock

Paste the following prompt into your AI chat to install this plugin:

Run dsh plugin install imchenmin/dsh-auth-lock in the DeepSeek Harness terminal, then restart dsh web and complete first-run password setup on the local address. Source: https://github.com/imchenmin/dsh-auth-lock

About this plugin

A DeepSeek Harness Web deployment ships with no built-in authentication layer, so anyone who discovers the address can call the API, follow SSE streams, connect to WebSockets, or invoke server routes registered by third-party plugins. dsh-auth-lock plugs into the WebServer policy extension point and applies one password-authentication policy across HTTP, SSE, WebSocket, and dynamically registered plugin routes automatically.\n\nOn the security side, passwords are derived with scrypt (N=32768, r=8, p=1, random 128-bit salt) and verified through constant-time comparison to defeat timing side-channels. Session tokens are 256-bit random values; the Host retains only their SHA-256 digests in memory. Cookies are HttpOnly and SameSite=Strict, with Secure attached automatically over TLS. Remote addresses are limited to eight failed attempts per fifteen-minute window, and derivation work for a single address runs serially to slow brute-force. First-run setup is loopback-only by default so a fresh instance cannot be remotely hijacked, and after a successful login the page reloads or returns to the original route so API, SSE, and WebSocket clients pick up the new cookie seamlessly.\n\nIt is a single-user, zero-runtime-dependency plugin by design: no multi-user accounts, roles, OAuth/OIDC, or clustered sessions. If you run DSH Web behind a LAN, SSH tunnel, or reverse proxy and simply need a 4-to-16 character password to lock down the entire WebServer surface, this is a drop-in solution with a responsive login UI and a built-in password management panel.

Use Cases

  • DSH Web is exposed via an SSH tunnel or LAN reverse proxy and needs a single password gate over API, SSE, and WebSocket routes
  • Third-party plugins register extra HTTP routes and you want one unified auth policy without per-route middleware
  • You forgot to protect a fresh DSH Web instance and want to add a password lock without stopping the server
  • The login UI must work on desktop, tablet, and phone, and API/SSE/WebSocket clients should transparently reconnect with a new cookie after login

Best For

  • Solo developers self-hosting DSH Web locally or on a LAN
  • Small teams accessing DSH through SSH tunnels or reverse proxies
  • Users who want a simple password gate over the WebServer without standing up OAuth, OIDC, or multi-user infrastructure