15 releases
0.1.12 | Oct 3, 2022 |
---|---|
0.1.11 | Aug 3, 2022 |
0.1.10 | Jul 30, 2022 |
0.1.6 | Jun 5, 2022 |
0.0.2 | Mar 19, 2022 |
#8 in #peek
22KB
423 lines
peek reverse proxy
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
Purpose
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.
Usage
Install
You can use this crate via several distributions:
cargo install
via crates.iocargo install
from sourcedocker
,podman
or any OCI container runtimecargo binstall
- binaries from gh releases
Cargo binstall
To install this crate via cargo-binstall
:
cargo binstall peek-reverse-proxy
Cargo
To install this crate via cargo
:
cargo install peek-reverse-proxy
From Source
git clone https://github.com/somehowchris/peek-reverse-proxy.git
cd peek-reverse-proxy
cargo install --path .
Docker/Containers
docker pull ghcr.io/somehowchris/peek-reverse-proxy:0.1.12
Run it
Installed binary
Once installed, you can run it via:
peek-reverse-proxy
Configuration
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 tonormal
- (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 topretty
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
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
Dependencies
~12–22MB
~307K SLoC