Self-hosted. E2E encrypted. Open source.
Send prompts, approve changes, and monitor your AI agents from anywhere.
From install to controlling your AI agents — in four steps.
One command. No Docker. Works on Linux, macOS, and WSL.
$ pip install corvustunnel
Launch CorvusTunnel — it generates a secure session and displays a QR code.
$ corvustunnel start
# ┌─────────────────────────────────────┐
# │ CorvusTunnel v1.0 │
# │ Scan QR code with any device... │
# │ ██████████████████████████████████ │
# │ ██████████████████████████████████ │
# └─────────────────────────────────────┘
Open your device camera and scan. E2E encryption keys are exchanged automatically — no tokens to copy.
✓ E2E key exchange complete
✓ Session authenticated
✓ Connected to relay: roost.corvustunnel.com
Send prompts to your AI agents, approve file changes, browse your project, and monitor terminal output — all from Any Device.
You: Refactor the auth module to use JWT
Claude Code: Working on it...
Claude Code: Modified 3 files. [Approve] [Reject]
You: ✓ Approved
All features are free and open source. No tiers, no limits.
Control Claude by Anthropic, Antigravity by Google, and more — all from a single interface.
NaCl/libsodium encryption. Your code never leaves your machine unencrypted.
Scan and connect. No URLs to type, no tokens to copy. One-time secure pairing.
Full interactive terminal via WebSocket + xterm.js. It's like SSH, but from a browser.
Every prompt, every output, every approval — forensically logged in JSONL format.
IP auto-ban, rate limiting, body size limits, CORS, security headers. Defense in depth.
Web Push API notifications. Get alerted when your agent needs attention.
Installable on your device as a native-like app. Works offline-first.
Context-aware action chips that adapt to your project and agent state.
Pin your most-used prompts and commands for instant one-tap access.
Your data is E2E encrypted. The relay sees only ciphertext.
RESTful API with WebSocket support for real-time terminal access.
| Endpoint | Auth | Description |
|---|---|---|
GET /api/health |
None | Health check endpoint |
POST /api/e2e/exchange |
None | E2E key exchange (X25519) |
POST /api/claim |
Boot Token | Exchange boot token for session |
GET /api/browse |
Session | Directory browser |
GET /api/check-agents |
Session | List running AI agents |
POST /api/ws-ticket |
Session | Obtain WebSocket ticket |
WS /api/terminal/ws |
Ticket | Interactive terminal (xterm.js) |
Built for paranoid developers. Every layer is hardened.
X25519 key exchange + XSalsa20-Poly1305 authenticated encryption via NaCl/libsodium. The relay server is zero-knowledge — it never sees your plaintext data.
One-time boot tokens via QR code → session token exchange → per-request session validation. No long-lived credentials stored on disk.
Append-only JSONL logs with timestamps, IP addresses, and request fingerprints. Full forensic trail for compliance and debugging.
Automatic IP banning after repeated failures. Configurable rate limits, body size caps, CORS policies, and strict security headers.
Feature-for-feature against the alternatives.
| Feature | SSH | Happy Coder | Claude RC | CorvusTunnel |
|---|---|---|---|---|
| Agent-agnostic | ✅ | ❌ | ❌ | ✅ |
| Self-hosted | ✅ | ✅ | ❌ | ✅ |
| QR connect | ❌ | ✅ | ✅ | ✅ |
| E2E encryption | ❌ | ✅ | ❌ | ✅ |
| Audit logging | ❌ | ❌ | ❌ | ✅ |
| Push notifications | ❌ | ✅ | ✅ | ✅ |
| PWA installable | ❌ | ❌ | ❌ | ✅ |
| Open source | ✅ | ✅ | ❌ | ✅ |
Install in 30 seconds. Control your agents from anywhere.
pip install corvustunnel