Skip to content
OPEN SOURCE

See what moves
through your proxy. ​

A TypeScript proxy framework for intercepting and processing HTTP/1.1, HTTPS, WebSocket, and secure WebSocket traffic.

HTTP/1.1HTTPSWebSocketSecure WebSocket

A proxy core you can build on ​

mitm-core gives Node.js applications a foundation for observing and customizing proxied traffic, with configurable processing, rules, and plugins.

Start in a few minutes ​

Install the package in your Node.js project:

bash
npm install mitm-core

Create a proxy with your Root CA credentials:

ts
import { readFileSync } from "node:fs";
import { Proxy } from "mitm-core";

const proxy = new Proxy({
  rootCa: {
    cert: readFileSync("./creds/__self__/CA.pem"),
    key: readFileSync("./creds/__self__/key.pem"),
  },
});

await proxy.listen(8001);

Then send a request through it:

bash
curl -x http://127.0.0.1:8001 http://example.com/

HTTPS interception requires a Root CA and a client configured to trust it. Only inspect traffic you own or are authorized to inspect.

DOCUMENTATION

Build with the core.

Start with installation, then explore events, rules, plugins, and configuration.

Read the guide →