Go CLI

See CLI HTTP traffic

Wrap a command and inspect its HTTP or HTTPS requests in real time. No browser, GUI, or system proxy setup.

Go · MIT · local-only proxy · HTTP / HTTPS · HAR

httpmon · local proxy capturing
$ httpmon curl https://api.github.com/users/octocat
REQUEST #1 GET https://api.github.com/users/octocat

Host: api.github.com · Accept: */*

RESPONSE HTTP/1.1 200 OK

Content-Type: application/json · 245ms

{"login":"octocat","id":583231,...}
HTTPS intercepted locallyoriginal stream forwarded unchanged
Zero-config proxyHTTP / HTTPS / wssNDJSON / HARRecord / replay

A look inside

See traffic without changing the command

httpmon starts a local proxy for one subprocess, injects the needed proxy and CA settings, then removes everything when that command exits.

Capture path

Wrap, inspect, keep moving

httpmon puts inspection around an existing command. The command still receives its normal response stream; httpmon shows the traffic beside it.

01

Wrap

Run `httpmon` before curl, aws, Python, Node, or another proxy-aware command.

02

Inject

It supplies the local proxy address and an ephemeral CA through the child process environment.

03

Inspect

Read request and response headers, decoded body previews, status, and timing in real time.

04

Keep

Write NDJSON, HAR, or a recording when the session needs to be replayed or shared.

Fit

Use it when

You need to see what curl, AWS CLI, Python, Node, or another command actually sends and receives over the network.

It is not

It is not a system-wide proxy, a browser DevTools replacement, or a production interception service. It runs locally for one command.

What remains unchanged

Traffic is forwarded to the wrapped process unchanged. Compressed responses are decoded only for the displayed preview.

Automation

Automatic proxy injection

Injects proxy and CA settings for curl, AWS CLI, Python requests, Node, and standard proxy-aware tools without changing system configuration.

Readable HTTPS capture

A temporary CA and per-host certificates make request and response headers plus decoded gzip or deflate previews visible in the terminal.

Terminal UI and filters

Use the full-screen TUI for live sessions, or filter by a URL substring to focus on the traffic that matters.

Portable evidence

Stream NDJSON, export HAR 1.2, or record complete request/response pairs for replay and environment comparisons.

NDJSON stream

`--format json` emits correlated request and response objects for jq, log pipelines, or another tool.

HAR 1.2 export

`--har` writes captured traffic for import into Chrome DevTools, Postman, Charles, and other HAR-aware tools.

Record and replay

`--record` preserves request/response pairs; `--replay` reissues them and compares the new result.

WebSocket handshake

`wss://` upgrade handshakes are logged, then frames are spliced between client and upstream without buffering.

Details

Network evidence belongs near the command

When a CLI call fails, the useful evidence is often in the request that was sent and the response that came back. Reproducing that in a browser or reconfiguring a global proxy breaks the debugging flow.

httpmon is deliberately narrow: wrap one command, observe its traffic, save the session when needed, and leave no system proxy behind.

Flow

01

Wrap a command

Prefix an existing command, for example `httpmon curl https://api.github.com` or `httpmon aws s3 ls`.

02

Focus the session

Add `--filter /api` for a focused text stream, or use `--ui` to inspect requests and responses interactively.

03

Save evidence

Choose `--format json`, `--record traffic.ndjson`, or `--har session.har` when terminal output alone is not enough.

04

Replay when useful

Replay a recording against the original target or another environment to compare status and response bodies.

Examples

Inspect an API call

`httpmon curl https://api.github.com/users/octocat` shows the request, response, headers, and decoded body preview.

Watch S3 calls

`httpmon --filter s3 aws s3 sync ./dist s3://my-bucket/` keeps the terminal focused on S3 traffic.

Compare environments

Record a production-safe request sequence, then replay it against staging with `--replay-target`.

Compatibility

Commands that speak HTTP

curlAWS CLIPython requestsNode.jsHTTP_PROXY toolswss:// clients

httpmon configures common clients directly and provides standard proxy environment variables for other proxy-aware command-line tools.

FAQ

Does it modify my system proxy settings?

No. Proxy and CA settings are passed only to the wrapped subprocess. The temporary materials are cleaned up when that command exits.

What does it show for compressed responses?

gzip and deflate bodies are decompressed for the terminal preview. The original compressed stream continues to the wrapped command unchanged.

Is it intended for production interception?

No. httpmon is a local development and debugging tool. Only inspect traffic you own or are authorized to inspect.

Inspect the next request

Open repository