Portal Tunnel
Publishes localhost services to the agentic web through self-hostable, trustless relays.
Install
npx skills add gosuda/portal-tunnel --skill portal-exposeInstall command taken from the project's README or registry entry. Always review code before running it.
README excerpt
Read full README on GitHub →Portal - Self-Hostable Relay Tunnel for Localhost
Expose local services through self-hosted or public relays.No port forwarding. No inbound firewall rules. No manual DNS setup. No accounts.
Why Portal?
Portal is an open-source tunnel runtime and relay network for publishing services to the agentic web. It exposes local apps, APIs, tools, and agents through self-hosted or public relays, keeps routing and security policy in the local tunnel process, and eliminates the need for hosted vendor accounts or credit cards.
- Self-Hostable & Open Source - Run your own relay with a single command. MIT-licensed with zero telemetry, no enterprise tiers, and no call-home.
- Anonymous Relay Network - Connect to public relays or combine self-hosted and community relays into resilient multi-relay failover pools.
- End-to-End Tenant TLS - For uncached HTTPS stream exposures, TLS terminates in your local tunnel process. Forwarding relays handle ciphertext; relay-held certificate keys remain part of the trust boundary.
- IVNP-backed Overlay Networking - Bridge reverse backhauls over an independent IVNP overlay network when enhanced routing privacy is desired.
- Built-in MITM Detection - The native self-probe compares TLS keying material on a sampled connection;
--ban-mitmblocks a relay for that exposure when exporter values differ. - No Accounts, No API Keys - Authentication uses local secp256k1 cryptographic identities (
identity.json) with SIWE challenge signing. - Native x402 Payments - Route-level micropayments using gasless Sui USDC or Casper wCSPR without traditional payment processors.
📖 Explore the Complete Product Capabilities: For the complete matrix of all 20+ supported capabilities across CLI, Agent, SDK, and Relay—including interface support and trust boundaries—see the Canonical Feature Inventory.
Comparison
| Portal | ngrok | Cloudflare Tunnel | frp | |
|---|---|---|---|---|
| Public localhost URL | Yes | Yes | Yes | Yes |
| Self-hostable | Yes | Enterprise only | No | Yes |
| Open source | MIT | No | Client only | Apache 2.0 |
| Custom domain | Yes | Paid plans | Yes | Yes |
| End-to-end tenant TLS | Yes (uncached exposures) | No | No | No |
| MITM self-probe | Yes (TLS keying material export) | No | No | No |
| Multi-relay failover | Yes | Managed | Built-in | No |
| Account required | No | Yes | Yes | No |
| Native x402 payments | Yes | No | No | No |
Quick Start
1. Expose a local service
macOS / Linux:
curl -fsSL https://github.com/gosuda/portal-tunnel/releases/latest/download/install.sh | bash
portal expose 3000
Windows (PowerShell):
$ProgressPreference = 'SilentlyContinue'
irm https://github.com/gosuda/portal-tunnel/releases/latest/download/install.ps1 | iex
portal expose 3000
Portal prints an HTTPS URL immediately. Additional common usages:
# Custom name and explicit relay
portal expose 3000 --name myapp --relays https://portal.example.com --discovery=false
# Mount multiple local services behind one domain
portal expose --name myapp \
--http-route /api=http://127.0.0.1:3001 \
--http-route /=http://127.0.0.1:5173
Similar plugs
Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote.
Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local…
Why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.
Production-grade engineering skills for AI coding agents.
The 1st Collaborative AI Design Agent Workspace. Local-first and open source. Create prototypes, websites, apps, dashboards, presentations, images, and videos with your team…