HTTP, TCP, SSH
mytunnel http 3000, mytunnel tcp 5432,
mytunnel ssh — same agent, three protocols.
Mint a master key once. Your AI assistant runs autonomously with scoped, short-lived child keys and instant cascade revoke. Built for Claude Code, Cursor, Aider, Devin, and the ones not yet named.
Not building with an AI agent? 21tunnel is also a regular open-source ngrok alternative — public URLs for your localhost, custom domains on the free tier, full request inspector, self-hostable if you need it. The AI-agent shape is what we shipped first; the rest is what we built around it.
Seven capabilities, all live today. No tier-locked features pretending to be free.
mytunnel http 3000, mytunnel tcp 5432,
mytunnel ssh — same agent, three protocols.
Random URL stays the same across agent restarts. No flag,
no premium upgrade. Pass --subdomain to claim a specific name.
Add app.acme.com, server hands you a TXT record,
verify, bind. Real ACME challenge — not a string field.
Gate any tunnel behind Google OAuth before traffic reaches your localhost. Email + domain allowlists. Pro
Every inbound request streams to the dashboard over WebSocket. Click any request to inspect headers + body. Replay is wired in code but gated until per-tunnel allowlists ship.
Owner / admin / member / viewer. Every mutating action lands in a partitioned audit log with per-user activity feed.
Paste an mtk_master_ key once; the AI assistant
mints its own short-lived project keys, opens tunnels in
isolated buckets, and one click cascade-revokes everything.
$ mytunnel projects create feature-x "X"
$ eval $(mytunnel projects keys mint feature-x \
--ttl 4 --output-env)
$ mytunnel http 3000 --subdomain api
→ https://api-feature-x.21tunnel.com Engineered to outlast the demo. Single-tenant on your own VM when you need it; hosted SaaS until you do.