HTTP reverse proxy with beautiful TUI (Terminal User Interface)
# Basic HTTP proxy
bin/http-echo --target-host=localhost --target-port=8080
# HTTPS target with self-signed cert
bin/http-echo --target-host=localhost --target-port=8443 --target-https --disable-tls-verify
# TUI mode (default)
bin/http-echo --target-host=localhost --target-port=8080| Flag | Default | Description |
|---|---|---|
--host |
127.0.0.1 | Host to listen on |
--port |
8080 | Port to listen on |
--target-host |
(required) | Target host to forward requests to |
--target-port |
(required) | Target port to forward requests to |
--target-https |
false | Use HTTPS for target |
--forward-redirects |
5 | Number of redirects to follow (0 = no redirects) |
--disable-tls-verify |
false | Disable TLS verification for HTTPS targets |
By default, a beautiful terminal UI shows all requests with:
- Request list with color-coded status codes (green=200s, yellow=400s, red=500s)
- Navigation: Arrow keys or K/J to move, Enter to view details
- Two-column layout when viewing a request:
- Left: List of details (Request Headers, Request Body, Response Headers, Response Bodies)
- Right: Detailed content with syntax highlighting
- Quit: Q, ESC (from details), Ctrl+C
When you press Enter on a request, you enter details mode with:
- Scroll up/down to navigate through detail items
- Request/response headers displayed in different colors
- Request body shown if present
- Multiple response body chunks (for chunked responses) shown separately
./bin/http-echo --target-host=google.com --target-port=443 --target-httpsThen send requests:
curl http://127.0.0.1:8080/You'll see requests appearing in real-time in the TUI!