Skip to content
Mittelware

Features

Everything between your app and the internet

Mittelware sits in the middle of the conversation, so you can see it, change it and break it on purpose, without touching the app or the server. Here is what that looks like.

Observe

Watch every request as it happens

The Flows page is a live feed of everything your apps send and receive. Each row is one request paired with its response, so you can see at a glance what succeeded, what failed and what was slow.

  • Method, URL, status, duration and size for every request, with timing and size bars for quick comparison
  • Search by URL, filter by application, or switch between All, Paused and Intercepted
  • Open a request to read General, Headers, Payload and Response in a side pane
  • JSON, XML and HTML responses are formatted for reading, with a tree view, copy and expand
  • Streaming responses, such as AI chat answers and event feeds, are followed live in a Stream view: every chunk with its arrival time, and how the stream ended
Getting started

Observe

See which application is talking

A busy machine sends traffic from dozens of programs. Mittelware tags each request with the application that made it, so you can cut the noise down to the one app you care about, and aim rules at it alone.

  • The originating application's name and icon on every row
  • Filter the Flows list by app, and scope each rule to the apps you choose
  • The Applications page relaunches Chrome, Edge, Brave, Arc, Opera, Vivaldi, VS Code, Postman, Insomnia and Slack through the proxy in one click
  • For curl, wget and HTTPie it copies a ready-made command with the proxy address filled in
Opening apps through Mittelware

Control

Describe the traffic, not the code

A rule has two halves. When… says which requests it cares about, and Then… says what to do. Conditions can look at the request or at the response that came back, and a rule takes effect on the very next matching request.

  • Match on the URL (or just its domain, path, port or scheme), HTTP method, headers, query parameters and body
  • React to the response too: status code, response headers and response body
  • Operators include contains, is, starts with, ends with, matches regex, is one of, and numeric comparisons
  • Rules are checked in the order shown, can be scoped to apps, and switched on and off without deleting them
Rules

Control

Make things go wrong, on demand

Error handling is the least tested part of most apps because errors are hard to cause. Block rules make a request fail exactly how and when you want, without touching the server or the client.

  • Block Request stops the request before it reaches the server, so nothing happens on the other side
  • Block Response lets the request through but keeps the answer from reaching the app
  • Answer with 401, 403, 404, 410, 429 or 502, or choose Timeout and send nothing at all
  • A Delay on any rule waits before it acts, so you can simulate slow and flaky networks
Test timeouts and slow responses

Control

Change what goes out and what comes back

Rewrite a request before it is sent, or rewrite the response before your app sees it. Replace a response completely and you have a mock, with no mock server to run or keep in sync.

  • Modify Request: URL (including a different host), method, headers, query parameters and body
  • Bodies can be form-data, URL-encoded, raw text or a file from disk
  • Modify Response: status, headers and body, each optional, with the rest passing through untouched
  • Proxy to different endpoint fetches the answer from another URL when the real response matches
  • Stream a response: answer with text sent piece by piece, in plain, Server-Sent Events, OpenAI or Anthropic format, at the pace you choose
Mock an API before it exists

Control

A breakpoint for the network

Sometimes you don't want a rule, you want to look at one request and change one thing. A Pause rule freezes matching requests before they are sent, and hands you an editor.

  • Paused requests wait in their own tab until you decide
  • Edit the method, URL, headers and body, then forward it
  • Or drop it, and it never leaves your machine
  • Needs no setup beyond the conditions that say what to pause
Pause and edit a request by hand

Control

Rules that react to the request

Static values only go so far. Template variables pull pieces out of the live request or response, so a single rule can handle thousands of different URLs.

  • Request variables: URL, scheme, domain, port, path, method, body, any header, any query parameter
  • Response variables: status, body and any header, wherever a response exists
  • Capture groups from a regex condition can be dropped straight into the action
  • Type {{ for suggestions; unknown or unavailable variables are caught when you save
Template variables reference

Set up

Read encrypted traffic, with a clear boundary

Almost everything is HTTPS. To show it to you, Mittelware creates its own certificate authority and asks your device to trust it. That trust is yours to give, limited, and easy to take back.

  • The certificate and its key are generated on your computer and never leave it
  • Trusted for your user account on this device only; nothing changes for other machines
  • Choose Monitor HTTP Only if you'd rather not trust it, and HTTPS passes through untouched
  • Remove it at any time from your operating system's certificate store
HTTPS & certificates

Set up

On when you need it, invisible when you don't

There is very little network setup to do. Flip the switch next to Mittelware's name (the status changes to Monitoring). With the system proxy option on, other apps start routing through it; otherwise open them from the Applications page. Flip it back, or quit the app, and everything returns to how it was.

  • Optionally sets your operating system's proxy for you on Windows and macOS (off by default)
  • Remembers your previous proxy settings and restores them when you switch off or quit
  • Uses port 8080 by default and picks the next free port if it is taken
  • Can start automatically when the app launches; light and dark themes; updates itself from inside the app
Why isn't my app's traffic showing up?

Find out what your apps are really sending.

Install Mittelware, flip one switch, and watch the traffic roll in.