FAQ
Why use this instead of just ttyd?
ttyd is a web wrapper around a shell. sudoterm is that, plus:
- tmux persistence (your session survives ssh drops)
- Block-based output UX
- AI sidebar with 4 providers
- Mobile-responsive UI + keyboard bar
- A real CLI to manage the daemon
- One-command install with cloudflared subdomain
Is anything sent to your servers?
Only during install: POST /api/register to api.sudoterm.com to claim a subdomain + receive a tunnel token. After that, your traffic is browser ↔ Cloudflare Tunnel ↔ your VPS. We don't see it.
What about analytics?
None in Phase 1. Phase 2 may add an opt-in usage counter (anonymous, daily ping). We'll never include telemetry that captures command contents.
Does it work behind NAT / no static IP?
Yes. cloudflared makes an outbound connection to Cloudflare's edge — no inbound ports required. No port forwarding, no DDNS.
Can I bring my own domain?
Phase 2. For now you get <yourname>.sudoterm.com. The data model already supports custom domains; only the registry UX is gated.
Will my data be lost if I uninstall?
sudoterm uninstall leaves ~/.sudoterm/ intact. Pass --purge to also delete it.
Can I run sudoterm without a public URL?
Yes. Pass --skip-cloudflared to install.sh and run sudoterm start. Access the daemon over SSH port forwarding (ssh -L 7681:localhost:7681 user@vps). You lose the mobile-anywhere convenience, gain "even Cloudflare doesn't see traffic."
What shells are supported?
bash, zsh, fish. The default prompt regex handles all three. Custom PS1s may need an override (settings).
Can I disable the AI sidebar?
Yes — leave all four provider keys unset and the sidebar shows an empty state. The daemon never calls a provider you haven't configured.