| Crates.io | witmproxy |
| lib.rs | witmproxy |
| version | 0.0.1-alpha |
| created_at | 2026-01-13 19:31:50.836395+00 |
| updated_at | 2026-01-13 19:31:50.836395+00 |
| description | A WASM-in-the-middle proxy |
| homepage | |
| repository | https://github.com/ezcorg/mono |
| max_upload_size | |
| id | 2041008 |
| size | 595,151 |
under construction 👷A WASM-in-the-middle proxy, written in Rust.
cargo install witmproxy
witmproxy # starts in the background, restarts on startup
witmproxy stop # stop the service, until explictly restarted
Plugins are how you can extend witmproxy with whatever functionality your heart desires.
witmproxy add @ezco/noop # add a plugin from the witmproxy.rs registry
witmproxy add ./path/to/component.wasm # add a local plugin
witmproxy new plugin <name> [...options] # creates plugin scaffolding
The witmproxy plugin WIT interface is automatically published to GitHub Container Registry and can be consumed using wkg:
# Fetch the WIT interface for plugin development
wkg get --format wit witmproxy:plugin@0.0.3 --output plugin.wit
See WIT Publishing Documentation for more information.
A not-entirely-accurate but pretty LLM-generated diagram:
┌─────────────────┐ ┌─────────────────────────────┐ ┌─────────────────┐
│ User device │ │ witmproxy │ │ Target Server │
│ │ │ │ │ │
│ ┌───────────┐ │ │ ┌───────────────────────┐ │ │ ┌───────────┐ │
│ │ App / │◄─┼──────┼─►│ TLS Termination │◄─┼──────┼─►│ HTTPS │ │
| | Browser | | │ └───────────────────────┘ │ │ │ Server │ │
│ └───────────┘ │ │ ┌───────────────────────┐ │ │ └───────────┘ │
│ │ │ | Encrypted SQLite | │ └─────────────────┘
└─────────────────┘ │ │ ┌───────────────┐ │ │
│ │ │ WASM Plugins │ │ │
┌─────────────────┐ │ │ └───────────────┘ │ │
│ Web Interface │ │ │ │ │
│ │ │ └───────────────────────┘ │
│ ┌───────────┐ │ │ ┌───────────────────────┐ │
│ │ Cert │──┼──────┼─►│ Cert CA │ │
│ │ Download │ │ │ └───────────────────────┘ │
│ └───────────┘ │ └─────────────────────────────┘
└─────────────────┘
future work: While witmproxy provides default implementations of capabilities we expect to be useful to plugin authors, as a user you may replace the implementation of capabilities granted to plugins.Consider either supporting the author directly, or supporting any of the maintainers of the projects that make witmproxy possible:
cargo.toml for a full list of our dependencies)Projects which make witmproxy possible (but don't actively list direct sponsorship options):
This project is licensed under the AGPLv3 License, with a paid commercial license available on request.