Simple HTTP proxy logger that captures and logs HTTP requests and responses. It includes a web UI for viewing and managing the logs. Filter error codes and path. Based on mitm.
- Proxies HTTP requests and logs them to files
- Web UI for viewing request/response details
- Ability to clear logs with a single button
- Auto-refresh to show new requests
- Color-coded method types and error statuses
Configuration is managed through config.yaml
:
# Proxy Configuration
server:
listen_port: 8083 # Port that the proxy server listens on
forward_port: 8081 # Port to forward requests to
host: localhost # Host for both listening and forwarding
ui:
enabled: true # Whether to enable the UI
port: 8080 # Port for the UI web server
logging:
log_dir: request_log # Directory to store logs
-
Install dependencies:
make install
-
Run the proxy:
make start
-
Access the UI in your browser:
http://localhost:8080
-
Configure your client to use the proxy (e.g.,
http://localhost:8083
)
You can specify a custom configuration file using the PROXY_CONFIG
environment variable:
PROXY_CONFIG=/path/to/custom-config.yaml python main.py
- View a list of all captured requests
- Click on a request to see detailed information
- View request/response headers and bodies
- Clean all logs with a single button
- Auto-refresh to show new requests as they come in