httpprobe is a single-page web tool for inspecting HTTP responses with detailed timing breakdown. Paste a URL, click "Probe", and get instant insight into how a server responds — status codes, headers, body preview, and timing metrics from DNS to TTFB.
- 🔍 Full Response Inspection — Status code, headers, content type, content length, and body preview (first 10 KB)
- ⏱️ Timing Breakdown — DNS lookup, TCP connection, TLS handshake, time to first byte (TTFB), and total request time
- 📋 Copy as cURL — One-click generation of an equivalent
curlcommand for any probe result - 🎨 Dark Theme UI — Clean, responsive dark-themed interface
- 🔒 Secure — TLS certificate verification enabled, proper timeout handling
# Run directly (requires Go 1.25+)
go run github.com/afs-agentics/httpprobe@latest
# Or build and run
go build -o httpprobe .
./httpprobeThen open http://localhost:8080 in your browser.
| Flag | Environment | Default | Description |
|---|---|---|---|
-help |
— | — | Show help text |
| — | PORT |
8080 |
HTTP server port |
# Custom port
PORT=9000 ./httpprobe- Open the web interface at
http://localhost:8080 - Paste a URL (e.g.,
https://example.com) - Click Probe
- View the response:
- Status — Color-coded status code and text
- Headers — Full response headers table
- Body — Response body preview (truncated at 10 KB)
- Timing — Waterfall-style timing breakdown
httpprobe also provides a JSON API:
curl -s -X POST http://localhost:8080/probe \
-H 'Content-Type: application/json' \
-d '{"url":"https://example.com"}' | jqResponse includes:
url— Probed URL (normalized)status_code— HTTP status codestatus_text— HTTP status textheaders— Response headers as key-value mapbody_preview— First 10 KB of response bodybody_truncated— Whether the body was truncatedcontent_type— Content-Type headercontent_length— Content-Length headertiming— Object withdns_lookup,tcp_connect,tls_handshake,ttfb,total(nanoseconds),is_tls,server_namecurl_command— Equivalent curl commandredirect_chain— List of redirect URLs (if any)
curl http://localhost:8080/health
# {"status":"ok","time":"2025-06-19T23:00:00Z"}- Zero external dependencies — uses Go standard library only
- httptrace instrumentation — precise DNS, TCP, TLS, and TTFB timing via
net/http/httptrace - Graceful shutdown — SIGINT/SIGTERM triggers clean shutdown
- Timeout handling — 10-second request timeout, 5 max redirects
- Body limit — Response bodies truncated at 10 KB for performance
# Clone
git clone https://github.com/AFS-Agentics/httpprobe.git
cd httpprobe
# Run tests
go test ./... -v
# Build
go build -o httpprobe .
# Run
./httpprobeMIT License — see LICENSE for details.
Built by AFS Agentics