A lightweight HTTP request inspector and debugging tool written in Go. Tiny RequestBin captures and displays HTTP requests for inspection and debugging purposes.
This project was initially created with Gemini and later modified with GitHub Copilot.
- 🚀 Lightweight & Fast: Simple implementation with minimal dependencies
- 🔍 Request Inspection: View detailed information about incoming HTTP requests
- 🌐 Web UI: Clean interface to browse captured requests
- 📋 CLI Mode: Option to print requests directly to the terminal
- 🔒 Local Only: All data stays on your machine, no external services needed
# Pull and run the latest image
docker run -p 8282:8282 knktc/tiny-requestbin
# Or run with custom options
docker run -p 8282:8282 knktc/tiny-requestbin -port 8282 -listen 0.0.0.0 -max 1000
# Using docker-compose
docker-compose up -d# Install with default settings
helm install my-requestbin helm/tiny-requestbin/
# Install with custom options
helm install my-requestbin helm/tiny-requestbin/ \
--set config.max=1000 \
--set service.type=NodePort
# Enable HTTPRoute (Gateway API)
helm install my-requestbin helm/tiny-requestbin/ \
--set httpRoute.enabled=true \
--set 'httpRoute.parentRefs[0].name=my-gateway' \
--set 'httpRoute.hostnames[0]=requestbin.example.com'By default the chart deploys with image knktc/tiny-requestbin:latest, exposes port 8282 via a ClusterIP Service, and sets resource limits to 128Mi memory / 500m CPU.
go install github.com/knktc/tiny-requestbin@latestgit clone https://github.com/knktc/tiny-requestbin.git
cd tiny-requestbin
go buildStart the server with default options:
tiny-requestbin-port: Port for the server to listen on (default: 8282)-listen: Address to listen on (default: 127.0.0.1)-max: Maximum number of requests to store (default: 100)-cli: Enable CLI mode to print requests to terminal (default: false)-tls-cert: Path to the TLS certificate file (enables HTTPS when used with-tls-key)-tls-key: Path to the TLS private key file (enables HTTPS when used with-tls-cert)
Example with custom options:
tiny-requestbin -port 9000 -listen 0.0.0.0 -max 1000 -cliRun with HTTPS:
tiny-requestbin -port 9443 -listen 127.0.0.1 \
-tls-cert ./certs/localhost.pem \
-tls-key ./certs/localhost-key.pemGenerate a local certificate with mkcert:
mkdir -p certs
mkcert -cert-file certs/localhost.pem -key-file certs/localhost-key.pem localhost 127.0.0.1 ::1
tiny-requestbin -port 9443 -listen 127.0.0.1 \
-tls-cert ./certs/localhost.pem \
-tls-key ./certs/localhost-key.pemOptionally trust the local CA in your system keychain for browser-friendly testing:
mkcert -installOr verify without changing the system trust store:
curl --cacert "$(mkcert -CAROOT)/rootCA.pem" https://127.0.0.1:9443/- Start the server using one of the methods above
- Send HTTP or HTTPS requests to
http[s]://[listen-address]:[port]/any/path - View captured requests in your browser at
http[s]://[listen-address]:[port]/ - If CLI mode is enabled, requests will also be printed to the terminal
The Docker image supports multiple architectures:
linux/amd64(Intel/AMD 64-bit)linux/arm64(ARM 64-bit, Apple Silicon, etc.)
Multi-architecture images are automatically built and published via GitHub Actions when tags are pushed.
# Build and test locally (single architecture)
make docker-test
# Build for current platform only
make docker-buildWhen running with the -cli flag, HTTP requests are beautifully formatted and displayed directly in the terminal:
The web interface provides a clean and intuitive way to browse and inspect captured requests:
Contributions are welcome! Feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.

