Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Publishes localhost services to the agentic web through self-hostable, trustless relays with x402 payments.
| Date | Stars |
|---|---|
| 2026-07-31 | 263 |
| 2026-08-04 | 263 |
| 2026-08-06 | 263 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
60.0
growth rate 0.00%/day
# Portal - Self-Hostable Relay Tunnel for Localhost [English](./README.md) | [简体中文](./README.zh-CN.md) <p align="center"><img width="800" alt="Portal Demo" src="./portal.gif" /></p> <p align="center"><b>Expose local services through self-hosted or public relays.</b><br/>No port forwarding. No inbound firewall rules. No manual DNS setup. No accounts.</p> ## Why Portal? Portal is a local tunnel runtime and relay network for publishing services to the agentic web. It publishes local apps, APIs, tools, and agents through self-hosted or public relays, keeps routing and x402 payment policy in the tunnel process, and avoids requiring a hosted vendor account. - **Self-Hostable, Fully Open Source** - Run your own relay with a single command. The relay is MIT-licensed with no enterprise tier, no feature gating, and no call-home. Your relay, your rules. - **Anonymous Relay Network** - Connect to public relays without a hosted account or central operator. Combine self-hosted relays with public relays in a pool to split trust across independent operators you choose. - **End-to-End Tenant TLS And ECH** - Because relays are trustless, Portal terminates tenant TLS at the user's endpoint instead of the relay. Portal also provides ECH to avoid exposing the real hostname in plaintext SNI. - **Built-in MITM Detection** - Portal actively self-probes its own connection after real traffic begins. It compares TLS keying material exported on both sides and treats a mismatch as suspected relay-side TLS termination. - **Multi-Hop Relay Routing** - Chain multiple relays together so no single relay knows both the origin and the destination. Use `--multi-hop-depth 3` to select a three-hop route automatically. - **No Accounts, No API Keys** - Authentication uses SIWE-compatible signing with a locally generated secp256k1 key pair. No email, no registration, no vendor lock-in. - **Built-in x402 Payments** - Routed HTTP paths can require Sui gasless USDC or Casper wCSPR x402 payment before proxying. Browser apps can import `/x402/client.js`, and native clients can call `/x402/prepare` directly and send `X-PAYMENT`. ## 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** | No | No | No | | SNI hiding (ECH) | **Yes** | No | No | No | | MITM self-probe | **Built-in** | No | No | No | | Multi-relay failover | **Yes** | Managed | Built-in | No | | Multi-hop routing | **Yes** | No | No | No | | Account required | **No** | Yes | Yes | No | | Native x402 payments | **Yes** | No | No | No | ## Quick Start ### Expose a local service **macOS / Linux:** ```bash curl -fsSL https://github.com/gosuda/portal-tunnel/releases/latest/download/install.sh | bash portal expose 3000 ``` **Windows (PowerShell):** ```powershell $ProgressPreference = 'SilentlyContinue' irm https://github.com/gosuda/portal-tunnel/releases/latest/download/install.ps1 | iex portal expose 3000 ``` Portal prints a public HTTPS URL for your local app instantly. More examples: ```bash # Custom name and relay portal expose 3000 --name myapp --relays https://portal.example.com --discovery=false # Mount frontend and API behind one URL portal expose --name myapp \ --http-route /api=http://127.0.0.1:3001 \ --http-route /=http://127.0.0.1:5173 # Require Sui USDC x402 payment before proxying a route portal expose --name paid-app \ --http-route "/paid=http://127.0.0.1:3001 GET:0.01" \ --http-route /=http://127.0.0.1:5173 \ --x402-pay-to 0x... # Raw TCP port (Minecraft, databases, SSH) portal expose localhost:25565 --name minecraft --tcp # Three-hop route for maximum anonymity portal expose 3000 --multi-hop-depth 3 ``` See [CLI Reference](cmd/portal-tunnel/README.md) for the
Excerpt of 7,521 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
Not classified yet. Classification runs as part of npm run ingest.