Idle TTL & Auto-Renew

The problem

Fixed TTLs are great for security — tunnels can't accidentally stay open forever. But sometimes you want a tunnel that stays alive while you're actively using it.

Idle TTL mode

When you open a tunnel with --idle, the TTL becomes an inactivity timeout:

nullbore open --port 3000 --ttl 30m --idle
  • Every HTTP request or byte of traffic resets the expiry clock
  • The tunnel stays open as long as there's traffic within the TTL window
  • After 30 minutes of zero activity, the tunnel closes

How it works

14:00  Tunnel opened (expires 14:30)
14:15  Request received → expiry reset to 14:45
14:20  Request received → expiry reset to 14:50
14:50  No activity for 30 min → tunnel closes

Via the API

curl -X POST https://tunnel.nullbore.com/v1/tunnels \
  -H "Authorization: Bearer nbk_your_key" \
  -H "Content-Type: application/json" \
  -d '{"local_port": 3000, "ttl": "30m", "idle_ttl": true}'

Use cases

  • Development sessions: Keep the tunnel alive while you're coding, auto-close when you stop
  • MCP server exposure: Available while the AI agent is working, closes when the session ends
  • Demo environments: Up while someone is looking, gone when they leave
  • Webhook testing: Stays alive while you're iterating, doesn't linger after

Plan limits

Idle TTL mode still respects your plan's maximum TTL. On the free plan, the tunnel will close after 2 hours of continuous activity regardless of idle TTL. On Pro, there is no maximum — the tunnel can stay alive indefinitely as long as there's periodic traffic.

PlanMax idle TTL
Free2 hours
Hobby7 days
ProUnlimited