Crates.io | peek-reverse-proxy |
lib.rs | peek-reverse-proxy |
version | 0.1.12 |
source | src |
created_at | 2022-03-16 19:29:43.169552 |
updated_at | 2022-10-03 06:16:33.600063 |
description | A simple reverse proxy to peek into requests |
homepage | |
repository | https://github.com/somehowchris/peek-reverse-proxy |
max_upload_size | |
id | 551376 |
size | 57,580 |
Sometimes you do not have a network traffic interceptor, proxy such as burp or F12 debug tools to inspect requests. This simple reverse proxy is a simple solution to that.
DISCLAIMER: do not use this as a production ready thing, was never designed for this
Sometimes there are is just that one environment where you can't have a debug mode.
If you've mocked an API just to look at the request sent fear no more. This client lets you host a http listener to peek into request details such as bodies, queries, headers and proxy the request to the destination at the same time.
You can use this crate via several distributions:
cargo install
via crates.iocargo install
from sourcedocker
, podman
or any OCI container runtimecargo binstall
To install this crate via cargo-binstall
:
cargo binstall peek-reverse-proxy
To install this crate via cargo
:
cargo install peek-reverse-proxy
git clone https://github.com/somehowchris/peek-reverse-proxy.git
cd peek-reverse-proxy
cargo install --path .
docker pull ghcr.io/somehowchris/peek-reverse-proxy:0.1.12
Once installed, you can run it via:
peek-reverse-proxy
Env variables allow you to configure things to your needs:
HOST_ADDRESS
: address on which to listen on i.e. 0.0.0.0:8080
DESTINATION_URL
: destination url including host and scheme i.e. https://www.google.com
(optional) LOG_LEVEL
: level of logs to log off, debug, normal, critical, defaults to normal
(optional) PRINT_STYLE
: print style for logs, either json (outputs everything in json style), plain (outputs everything in standard log formats but has no json field formatting), pretty (just as plain, but formats outputs of json fields with serde_jsons pretty option), defaults to pretty
For example:
export HOST_ADDRESS="0.0.0.0:8080"
export DESTINATION_URL="https://www.google.com"
export PRINT_STYLE="json"
export LOG_LEVEL="normal"
peek-reverse-proxy
docker run -e HOST_ADDRESS="0.0.0.0:8080" -e DESTINATION_URL="https://www.google.com" -p 8080:8080 ghcr.io/somehowchris/peek-reverse-proxy:0.1.12