Free alternative to Charles

Solution 1:

You can also check out mitmproxy which even has a web interface. You can inspect HTTP request/responses and even filter requests by certain parameters.

It doesn't render HTML like you asked but it sure gives out the raw response which might be enough.

Another suggestion I can think of is the developer tools in Firefox which render HTML and also support request filtering. You can obviously inspect HTTP requests in Firefox too.

Solution 2:

Proxyman is exclusively built on native macOS and it's designed with intuitive UI, so you can start proxying HTTPS easily and quickly.

The free version includes all essential feature and all debugging tools, such as Repeat and Edit, Breakpoint, Map Local, Map Remote, Scripting

You can intercept the HTTP traffic from iOS and Android devices too. Proxyman also has Built-in automatic scripts to override HTTP Proxy and certificate for iOS Simulator and Android Emulator.

Proxyman Dashboard

Disclaimer: I'm a creator of Proxyman (https://proxyman.io | https://github.com/ProxymanApp/Proxyman).

Solution 3:

Take a look at HTTP Toolkit. It's a great Charles Proxy alternative that I've been building, and I think it's exactly what you're looking for. It:

  • is 100% open source, and all the features you're looking for are free
  • has a fully powered editor for request & response bodies, powered by the same internals as VS code
  • does targeted interception - it can launch browsers, terminal windows, or Android interception all automatically for you, and then intercepts only that specific traffic. That means no interference with the rest of your machine, no noise from other apps, and no need to globally trust an new certificate authority.
  • requires zero setup: open the app, click a button, instant HTTPS interception
  • has a far more powerful & flexible rules engine for building rules to rewrite and breakpoint your traffic
  • looks beautiful, is much nicer to use, and works fully cross-platform

A picture's worth a 1,000 words:

A screenshot of HTTP Toolkit in action

Solution 4:

You are the two following Charles like :

  1. Fiddler

Fiddler for macOS runs on mono, so don't expect the same smooth appearance like you get on Windows.

  1. WireShark

Wireshark is more relevant for capturing everything over the wire (and then filtering by protocols) and not directly useful(easily) for scripting HTTP responses on the fly.