Terminal
Full PTY terminal in the browser, several per machine, split side by side. Saved command templates with parameters run in one click.
Terminal
Full PTY terminal in the browser, several per machine, split side by side. Saved command templates with parameters run in one click.
Files and Editor
Dual-pane file manager between WoHo storage and the machine. Edit configs in a tab with syntax highlighting, backups, diff and conflict detection. Follow a live log.
Web
Open a web service on the machine — an admin panel, a dev server — from your own browser. Pick a listening port from a list; each forward gets an isolated origin.
Know the Machine
Distribution, kernel, addresses, CPU, RAM, every disk, load, swap, uptime and clock offset, live in the list and the workspace header. Each machine has a timeline.
Connection Keys
Every agent registers with a key bound to its machine. Generate a key, copy the install command, revoke to disconnect at once.
Passkeys
FIDO2 / WebAuthn login with hardware keys, Touch ID, Windows Hello or a passkey manager.
Multi-Admin
One admin holds a machine at a time. Every login, command, file transfer and change is in History, filterable by admin, machine, action and date.
Single Binary
One Go binary with the web UI embedded and a SQLite database. One YAML config file. Agents update from the panel.
graph LR
A["Browser (Admin)"] -->|HTTPS + WebSocket| B["WoHo Server\n:8080"]
C["Managed Machine\n(woho-client)"] -->|"TLS :9000\n(outbound only)"| B
| Component | Role |
|---|---|
| Server | Go binary + SQLite. Admin panel on :8080, agent tunnel on :9000 |
Agent (woho-client) | Lightweight service on the managed machine. One persistent outbound TLS connection; nothing listens |
| Component | Minimum |
|---|---|
| Server | Linux x86-64 with systemd, 512 MB RAM |
| Agent | Linux x86-64 (kernel 3.10+), 32 MB RAM. ARM64 and Windows: build from source |
| Browser | Chrome 80+, Firefox 75+, Safari 14+, Edge 80+ |