Expose localhostto the internet

Instant public URLs, live HTTP inspection and webhook replay for local servers. One command, no configuration.

Start free
indotunnel-cli
$ npx indotunnel 3000

Connected to id-cgk.gateway.indotunnel.id

Forwarding https://a8f2x.indotunnel.id to http://localhost:3000

12ms round trip, HTTP/2, TLS 1.3

Incoming traffic
14:02:11POST/api/webhooks/stripe
200 OK18ms
14:02:15GET/healthz
200 OK4ms
14:02:22POST/api/auth/callback
201 Created32ms
OnlineTunnel live at id-cgk.gateway.indotunnel.id

Instant subdomains

Deterministic or random subdomains with automatic HTTPS.

Replay1-click

Webhook replaying

Re-send saved requests from the dashboard.

GoRe

Ultra low latency

Go and Redis gateways in Southeast Asia.

Bearer

Token authorization

Basic auth, bearer tokens or IP allowlists.

5,000req / day

Traffic metrics

Throughput, latency and error rates in real time.

Built for speed

WebSocketSSEHTTP/2

WebSocket support

Streaming connections, multiplexed.

Three steps to a public URL

No SSH configuration, no router port-forwarding. The agent holds one outbound connection to the gateway and public requests travel back through it.

No install needed with npx, or install globally via npm. Point it at the port your server listens on. Run it with npx indotunnel 3000

Inspect every request

POST /api/webhooks/stripe200 18ms
{
  "event": "payment_intent.succeeded",
  "amount": 4900,
  "currency": "usd"
}

Stripe signature verified, 128 bytes forwarded.

Coming soon

For active developers and freelance API integrators who need reserved names and history.

  • 5 concurrent tunnels
  • 50,000 requests per day
  • Reserved custom subdomains
  • 1-click webhook replaying
  • 30-day request inspection history

Questions, answered

The CLI opens one persistent outbound connection to the gateway. Public requests arriving on your subdomain are forwarded back through that connection to the port your local server listens on, so nothing on your machine needs to be exposed directly.

Start in
seconds

Name your workspace and you are on the dashboard with your first tunnel ready to open.

Name your workspace

You can rename this later in settings.

Type
Create personal workspace