Capture and replay production HTTP
GoReplay records live HTTP (and related traffic) from a network interface and replays it somewhere else. It is not a proxy on the request path. The default --input-raw path does not need a sidecar or app instrumentation.
Success path: install, capture port 8080, save to a file, replay to staging, then filter, rewrite, or add middleware. Marked PRO features (S3, binary protocols, keep-alive TCP sessions, commercial license) are not in OSS.
Five minutes
# 1. Capture port 8080 and print requests
sudo gor --input-raw :8080 --output-stdout
# 2. Shadow the same traffic to staging
sudo gor --input-raw :8080 --output-http="http://staging.example.com"
# 3. Save, then replay later at 2x speed
sudo gor --input-raw :8080 --output-file requests.gor
gor --input-file "requests.gor|200%" --output-http="http://staging.example.com" Root or CAP_NET_RAW is required for pcap. Capture after TLS termination if you need HTTP, not ciphertext. Next: install then capturing.
Guides
- Installation — binaries, Docker, verify
- The basics — inputs, outputs, limiters
- Capturing —
--input-raw - Files — record and replay from disk
- Replaying —
--output-http - Shadow testing (how-to) and why
- Load testing (how-to) and why
- Filtering, rewriting, middleware
- Distributed, Kafka, Elasticsearch
- HTTPS, Windows, troubleshooting, FAQ
- PRO flags — S3, binary, TCP sessions; product: /pro/
- Compile from source
OSS vs PRO
OSS captures and replays HTTP, writes files, Kafka, Elasticsearch stats, middleware, and HTTP modifiers. PRO adds S3 paths on --output-file / --input-file, --input-raw-protocol binary with --output-binary, and --recognize-tcp-sessions. Details: PRO docs.
Adjacent product: Proof finds bugs before they ship. It is not GoReplay. This is the only docs mention.