finds.dev← search

// the find

zu1k/Good-MITM

★ 857 · Rust · MIT · updated Aug 2023

Rule-based MITM engine. Rewriting, redirecting and rejecting on HTTP(S) requests and responses, supports JavaScript rule.

A Rust-based MITM proxy engine that intercepts HTTP/S traffic and applies YAML-defined rules to reject, redirect, or rewrite requests and responses. Aimed at developers who want scriptable traffic manipulation — ad blocking, header rewriting, response body patching — without reaching for mitmproxy or Charles. The JavaScript rule support makes it more programmable than most ad blockers.

The rule system is well-designed: domain matching has four distinct strategies (prefix, suffix, keyword, exact) before you even touch regex, which means most rules stay fast and readable. Auto-signing certs from TLS SNI means you don't pre-declare every domain you want to intercept. The workspace crate layout (core, rule, trust_cert) is clean — the rule engine is genuinely separate from the proxy plumbing. Transparent proxy support with iptables is documented and working, not an afterthought.

Last commit was August 2023 and there are open issues with no responses — this project is effectively abandoned. The JavaScript engine integration is underdocumented; the rules/js.yaml example is the only real reference. No built-in request/response viewer or UI means debugging rules is painful (log-req/log-res dumps to stdout and that's it). The filter OR-only semantics for multiple filters means you can't express AND conditions without nesting into a regex, which gets ugly fast for complex rules.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →