rust in the middle -> ritm -> "Rhythm"
Java Proxys eat your RAM and look ugly while doing it.
Also, ZAP messes up base64 decoding and is not able to alter all the filds in a HTTP request (like the Host). Furthermore, Burp and esspecially ZAP could use some proxychains style proxy support.
- https://docs.rs/openssl/latest/openssl/#building
- https://rustwasm.github.io/wasm-pack/installer/
cargo build -p rhythm_prxcd rhythm_uiwasm-pack build --target webcd ..cp rhythm_ui/pkg/rhythm_ui.js main.jscp rhythm_ui/pkg/rhythm_ui_bg.wasm main.wasmcat rhythm_ui/assets/{code,ctx_men,ilist,misc,switch,tabs,tree}.css > style.csscp rhythm_ui/assets/index.html index.html
cargo run -p rhythm_prx
-
TLS Intercept
- Generate Certs with Common+Alt Name
- Individual Root CA
-
TLS Passthrought
-
Upstream Proxys
- HTTP Connect
- Socks
- Chainable (Proxychains Style)
- with match list (Foxyproxy style)
- HTTP without Connect in case of HTTP with a single Proxy
-
Hosts entries in the Proxy (change name resolution)
-
Transparent Mode (Listen with fake cert @ port + forward it)
-
Breakpoints (ZAP or HTTPToolkit Style)
-
Client Certificates
-
Non HTTP
-
Store Stuff in a Database
-
strip encodings and gzip
-
Resend
-
Alter Requests
- Add Cookies from Jar
- Update Content-Length
-
Gateway Timeout
-
HTTP/2
-
Websockets
-
Session completition (auto add Cookies, Auth-Header and CSRF-Tokens if missing)
-
WASM Gui
- History
- Options
- Edit Requests / Breakpoints
- Requests / Responses
- Tool Tips for URL / Base64 / XMLEntities
- Page Map
-
Start proxied App (HTTPToolkit Style)
-
Start external Application with Parameters from a Request
-
Exclude from History
-
Plugins via WASI
- Passive Scanners
- Active Scanners
- Burp Plugin bridge
- scan - feroxbuster?
- vHosts
- dirs
- HTTP Methods