Termote

· 1 min read

PWA for remotely controlling CLI tools from mobile/desktop

tags: pwa, terminal, remote-control, cli, mobile

stack: react, typescript, go, tailwindcss, vite, tmux, psmux, ttyd, docker


What

Termote (Terminal + Remote) is a PWA that lets you control CLI tools — Claude Code, GitHub Copilot, or any terminal — from your phone or another device. Built with React 19 + TypeScript on the frontend and a Go server (tmux-api) that proxies WebSocket connections to ttyd/tmux. Supports container mode (Docker/Podman) and native mode (macOS, Linux, Windows).

Why

Working with CLI-based AI tools like Claude Code often means being tied to a laptop. Termote was built to solve that — run long AI sessions on a server and interact from any device via browser. No SSH client needed, just open the PWA.

Notes

  • Three-layer terminal security: basic auth + Sec-Fetch-Dest header check + single-use token (30s TTL)
  • Config persistence with AES-256-CBC encrypted passwords (PBKDF2 machine-derived key)
  • Built-in rate limiting, Slowloris protection, request size limits
  • Mobile UX: virtual keyboard toolbar, Hammer.js gestures (swipe for Ctrl+C, Tab, history)
  • Auto-detects container runtime (podman > docker), cross-compiles Go for Linux on macOS
  • One-line installer: curl | bash (Unix) / irm | iex (Windows)