proxymore
A powerful and flexible proxy CLI for capturing and inspecting and rewriting inflight HTTP(S) and WS(S) traffic.
This is a fork of sigoden/proxyfor with slightly extended features, sigoden let me know if you would prefer a pr :)
Features
- Supports forward/reverse proxy
- Provides TUI & WebUI
- Enables filtering & searching
- Support rules for intercepting requests and rewriting before forwarding
- Handles HTTP/HTTPS/WS/WSS protocols
- Comes with a tool for installing CA certificates
- Allows export in Markdown, cURL, or HAR formats
- Captures request/response in a non-blocking, streaming way
- Offers a single-file portable executable for use across Windows/macOS/Linux
Screenshots
Terminal User Interface (TUI)
Web User Interface (WebUI)
Installation
With cargo
cargo install proxymore
With docker
docker run -v ~/.proxymore:/.proxymore -p 8080:8080 --rm sigoden/proxyfor --web
Binaries on macOS, Linux, Windows
Download from Github Releases, unzip and add proxymore to your $PATH.
Proxy Modes Explained
Forward Proxy
In this mode, your client applications (e.g., web browsers, curl) are configured to send their requests to proxymore, which then forwards them to the target servers. You would configure your client to use a proxy at http://127.0.0.1:8080.
Reverse Proxy
In reverse proxy mode, proxymore sits in front of a target server. Clients access proxymore and it forwards the requests to the defined URL. This mode is ideal when clients cannot be configured to use a proxy.
Command Line Interface (CLI)
Usage: proxymore [OPTIONS] [URL]
Arguments:
[URL] Reverse proxy url
Options:
-l, --listen <ADDR> Listening ip and port address [default: 0.0.0.0:8080]
-f, --filters <REGEX> Only inspect http(s) traffic whose `{method} {uri}` matches the regex
-m, --mime-filters <VALUE> Only inspect http(s) traffic whose content-type matches the value
-W, --web Enable user-friendly web interface
-T, --tui Eenter TUI
-D, --dump Dump all traffics
-h, --help Print help
-V, --version Print version
Choosing User Interface
proxymore provides several ways to interact with captured traffic:
Specifying Address and Port
Customize the listening address and port:
Filtering Traffic
Apply regex filters to limit captured traffic based on method and URI:
Filter based on MIME types:
CA Certificate Installation
To decrypt HTTPS traffic, you must install proxymore's CA certificate on your device. The easiest way to do this is to use the built-in certificate installation app.
- Start
proxymorewith desired proxy settings. - On your target device, configure the device to use
proxymoreas the proxy. - Open a web browser on the target device and navigate to proxymore.local.
- Follow the on-screen instructions to download and install the CA certificate.
Known Issues
Certain redirects don't work properly, it's being looked into, an example of this was https://gist.github.com/yakuter/a6d860317b175d6336638ac51a3feaff
License
Copyright (c) 2024-∞ proxymore-developers.
proxymore is made available under the terms of either the MIT License or the Apache License 2.0, at your option.
See the LICENSE-APACHE and LICENSE-MIT files for license details.