Skip to content

yawnbo/proxymore

 
 

Repository files navigation

proxymore

CI Crates Docker Pulls

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) proxymore-tui

Web User Interface (WebUI) proxymore-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.

proxymore
curl -x http://127.0.0.1:8080 httpbin.org/ip

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.

proxymore https://httpbin.org
curl http://127.0.0.1:8080/ip

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:

proxymore                   # Enter TUI, equal to `proxymore --tui`
proxymore --web             # Serve WebUI
proxymore --web --tui       # Serve WebUI + Enter TUI
proxymore --dump            # Dump all traffics to console
proxymore > proxymore.md     # Dump all traffics to markdown file

Specifying Address and Port

Customize the listening address and port:

proxymore -l 8081
proxymore -l 127.0.0.1
proxymore -l 127.0.0.1:8081

Filtering Traffic

Apply regex filters to limit captured traffic based on method and URI:

proxymore -f httpbin.org/ip -f httpbin.org/anything
proxymore -f '/^(get|post) https:\/\/httpbin.org/'

Filter based on MIME types:

proxymore -m application/json -m application/ld+json
proxymore -m text/

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.

  1. Start proxymore with desired proxy settings.
  2. On your target device, configure the device to use proxymore as the proxy.
  3. Open a web browser on the target device and navigate to proxymore.local.
  4. Follow the on-screen instructions to download and install the CA certificate.

proxymore.local

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.

About

A powerful and flexible proxy CLI for capturing and inspecting HTTP(S) and WS(S) traffic, with TUI and WebUI.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Rust 80.3%
  • HTML 19.5%
  • Dockerfile 0.2%