Proxygen is an HTTP debugging tool for Mac, iPhone and iPad, built around a TLS manipulator-in-the-middle proxy that captures and decrypts HTTPS traffic. It is a native Swift app, and its license is a one-time purchase. For anyone searching for a Charles Proxy alternative, this article goes through the familiar tools and their Proxygen counterparts, what Proxygen adds on top, and how the licensing compares.
The everyday workflow
Debugging in Proxygen starts in the History tool: you capture traffic, watch HTTP requests and API calls stream in from the app you are testing, and use filter rules and flags to isolate the requests that matter. From there, Intercept stops requests and responses on the wire for editing, and the Editor tool replays modified requests against the server.
Most Charles tools have a direct equivalent in Proxygen:
| In Charles | In Proxygen |
|---|---|
| Breakpoints | Intercept — a queue that shows all captured requests and responses at once, so you can edit, forward or drop them in any order |
| Map Local | Rewrites with the Respond action — answer matching requests with a custom response without contacting the server |
| Map Remote | Rewrites with the Target override — redirect matching requests to another host, port or scheme |
| Rewrite | Rewrites rules that modify the URI, headers and body of matching requests and responses |
| Block List | Rewrites with the Drop action |
| DNS Spoofing | Hostname Resolution — resolve hostnames to custom addresses |
| Repeat | Editor — build, edit and replay requests, with full message history |
| Auto Save | PGEN project documents with automatic saves |
| WebSocket | Sockets — a dedicated tool for WebSocket and SSE channels and messages |
Open existing session files
Proxygen opens Charles Session (.chlz) and Charles JSON Summary (.chlsj) files directly, so the sessions you have already saved keep working. It also imports and exports these file formats:
- HTTP Archive (.har) files used by web browser developer tools and many other apps
- Proxyman Session (.proxymansessionv2) files used by Proxyman
- Mitmproxy Dump (.mitm) files used by mitmproxy
The details are covered in Import and Export.
See connections in your traffic
The Graph tool turns captured traffic into a map of hosts, apps and network connections, so you can see at a glance which third-party services an app calls and how traffic spreads across hosts — relationships that stay hidden in a flat request list.
Test API endpoints
The Test tool runs collections of requests against your API from inside the app, with scripts, assertions on responses and variable extraction that feeds values from one response into the next request.
Two supporting features tie into this:
- Variables store values such as tokens, IDs and hostnames in switchable environments, referenced anywhere with
{{name}}placeholders. - Authentication attaches credentials to matching outgoing requests automatically, so expired tokens stay out of your debugging loop.
Decode request and response data
The Transform tool chains operations — encodings, hashing, encryption, compression, protobuf and other binary decoders — into recipes you apply to data straight from a captured message, much like CyberChef but built into the proxy.
Auto decode detects and unwraps layered encodings automatically.
Debug iPhone and iPad traffic
Charles for iOS captures and inspects HTTP and HTTPS traffic on the device, including on cellular networks, and shares sessions to the desktop app. Proxygen’s iOS app covers the same ground and brings the full toolset along: the proxy runs in the background while you use the app you are debugging, and captured traffic lands in History, Sockets, Editor, Transform and Test — so a bug can be tracked down and resolved on the go, without a computer.
When you would rather work on a bigger screen, Send to Mac mirrors captured traffic to the Mac app in real time — no cable or proxy configuration in between. Mirroring toggles on and off from Control Center, and the iOS app can pair with multiple Macs.
Both apps save their work to the same PGEN document format, so you can capture traffic on an iPhone and continue with the same document on your Mac.
Built on an open-source foundation
Proxygen is written in Swift using Apple’s native frameworks, with the proxy engine built on SwiftNIO and the user interface built with CocoaCompose, an open-source Cocoa UI framework developed alongside the app.
Pricing
Both apps are sold as one-time purchases, with one difference:
- Charles licenses are perpetual for the major version you buy, and upgrades to new major versions are paid.
- Proxygen licenses include updates with no upgrade fee.
One factual note in the other direction: Charles also runs on Windows and Linux. Proxygen is built for Apple platforms only — Mac, iPhone and iPad.
Try it out
The free, fully featured trial lets you try out all of the app’s features before buying. Download Proxygen, import an existing Charles session, and see how the tools fit the work you already do. Full documentation is available at proxygen.app/docs.
