Capture, inspect, replay, and manipulate HTTP traffic flowing through your tunnel
The inspector is built into every HTTP tunnel. Open the inspector URL shown when you start a tunnel to see requests in real time.
$ stunl -port 3000
● STUNL
╭── ◎ ── HTTP
│ HTTPS https://abc123.stunl.io
│ Inspector https://portal.stunl.com/inspect/abc123
│ Local localhost:3000
Every request through your tunnel is captured with full details, streamed to the inspector UI via WebSocket in real time.
Narrow down captured requests using built-in filters.
Re-send any captured request to your local server with one click.
Click replay on any captured request to send the exact same request again. Rate limited to 10 replays per minute with SSRF protection.
Modify the method, path, headers, or body before replaying. Useful for testing edge cases or fixing a payload without waiting for the external service to send a new request.
Configure rules to intercept, mock, or manipulate traffic flowing through your tunnel.
Pause requests that match a method and path pattern. While paused, you can inspect the request and choose to forward it, modify it, or drop it entirely.
Match: POST /api/webhooks/*
Action: pause → inspect → forward / modify / drop
Return fake responses without the request ever reaching your local server. Configure the status code, headers, and response body.
Match: GET /api/health
Return: 200 {"status": "ok"}
Headers: Content-Type: application/json
Inject failures to test your application's resilience. Add latency, random errors, or custom error responses.
| Parameter | Description |
|---|---|
| latency | Additional delay in milliseconds |
| error rate | Probability of error (0 to 1) |
| error status | HTTP status code for injected errors |
| error body | Response body for injected errors |
The inspector automatically detects and verifies webhook signatures from popular providers. No configuration needed -- just send webhooks through your tunnel and see verification status in the inspector.
Share captured requests via a public link. Snapshots include full request and response details and expire after 7 days. Useful for sharing webhook payloads with teammates or filing bug reports.
Export any captured request as a command or code snippet. Copies directly to your clipboard.
curl -X POST https://abc123.stunl.io/api/data \
-H "Content-Type: application/json" \
-d '{"key": "value"}'
http POST https://abc123.stunl.io/api/data \
key=value
fetch("https://abc123.stunl.io/api/data", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ key: "value" })
})
| Feature | Free | Pro |
|---|---|---|
| Request capture & filtering | ✓ | ✓ |
| Export (curl, HTTPie, fetch) | ✓ | ✓ |
| Webhook verification | ✓ | ✓ |
| Replay & Edit+Replay | -- | ✓ |
| Breakpoint rules | -- | ✓ |
| Mock rules | -- | ✓ |
| Chaos rules | -- | ✓ |
| Snapshots (7-day public links) | -- | ✓ |