Enable a WebSocket shell endpoint at /.terminal for browser-based terminal access.
jss start --terminal- Spawns
/bin/shper authenticated WebSocket connection - Pipes stdin/stdout/stderr between WebSocket and shell
- Requires authentication (only authenticated users can connect)
- Disabled by default, opt-in via
--terminal
JSS_TERMINAL=true jss startConnect with xterm.js or any WebSocket terminal client:
const ws = new WebSocket('wss://your.pod/.terminal')
ws.onmessage = (e) => terminal.write(e.data)
terminal.onData((data) => ws.send(data))- Authentication required — unauthenticated connections are rejected
- Experimental — not recommended for production multi-user servers without additional access controls
- Consider using
--single-usermode for personal pod servers
Manage IdP user passwords from the command line.
# Set password interactively
jss passwd <username>
# Set password directly
jss passwd <username> --password <newpassword>
# Generate and print a random password
jss passwd <username> --generate| Flag | Description |
|---|---|
--password <pw> |
Set password non-interactively |
--generate |
Generate random password and print it |
-r, --root <path> |
Data directory (default: ./data) |
# Reset a user's password
jss passwd alice --password newsecretpass
# Generate a random password for a user
jss passwd bob --generate
# Output: New password for bob: a7Bx9kQ2mP...
# Interactive (prompts for password)
jss passwd alice