Open-source project
ProxymanApp/Proxyman avatar
ProxymanApp/Proxyman

Proxyman Review: A Native macOS HTTP Debugger for iOS and Android Traffic

The best-in-class HTTP Debugger for macOS. Capture HTTP/HTTPS from macOS, iOS, Android with a few clicks ✅

6,993 stars238 forksUnknownLicense varies

At a glance

What is it?
Proxyman is a closed-source, Swift-built macOS proxy debugger that captures HTTP/HTTPS and WebSocket traffic from browsers, simulators and physical devices. It is polished and fast to set up, but the free tier, the licence and the platform limits are the things to check before you commit.
Who is it for?
Adopt Proxyman if you debug HTTP/HTTPS on a Mac and want iOS and Android device capture without hand-editing proxy settings, and if the Team Workspace features matter to you. Do not adopt it if your team is Windows-only, if you need a tool you can read and patch, or if you cannot accept a proprietary licence for a tool that sits between your app and the network.
Can I use it commercially?
Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
Is it still maintained?
Yes. The repository last received commits 3 days ago.
What is it written in?
GitHub does not report a main language for this repository.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Proxyman Solves, and Who It Is Built For

Proxyman is a man-in-the-middle proxy with a desktop interface. You point an app or device at it, and it shows you the requests and responses that pass through. The README describes capture from web browsers, iOS and Android devices, plus WebSocket traffic, and lists the audience implicitly: developers debugging mobile and backend clients on a Mac. The repository is a distribution channel rather than a source tree. The top level holds `.github/`, `.gitignore`, `README.md` and `screenshots/`, so there is no Swift code to read, build or patch. The README says the app is written in Swift and powered by Apple SwiftNIO, and that it requires macOS 13 or later. That combination tells you what kind of tool this is: a commercial product with a public issue tracker and release feed, not a library you vendor into a project. If your debugging happens on Linux or Windows, the README's stated requirement of macOS 13+ puts the Mac app out of reach, and the README does not document a Windows build. The related search phrase "proxyman for windows" reflects that gap.

How the Proxy, Certificate and Scripting Layers Fit Together

The mechanism is conventional for this class of tool. Proxyman listens as a proxy, the client sends its traffic to it, and Proxyman terminates the TLS connection so the payload is readable. That is why HTTPS capture requires installing and trusting a certificate, and why the README lists Custom Certificates and SSL among the setup topics. Everything else in the feature list sits on top of that stream: filters, Breakpoint, Map Local, Map Remote, Blacklist, No Caching, Protobuf, DNS Spoofing, Reverse Proxy, Network Conditions and Scripting. The advanced tools are where the design gets opinionated. Map Local and Map Remote let you substitute a response or redirect a host without touching the client, which is the practical way to test an error path. Breakpoint pauses a request or response so you can edit it in flight. Scripting and Network Conditions cover the cases where you want to simulate a slow link or mutate a payload programmatically. The README also notes automatic setup for NodeJS, Ruby and Python, which means the tool can wire environment variables for those runtimes rather than making you configure a proxy by hand. The README does not describe the internal architecture beyond SwiftNIO and Swift, so anything about threading, storage or certificate handling beyond that is not documented here.

Installing Proxyman on macOS and Capturing Your First Request

The README gives two install paths: a direct download of the 26.0.0 disk image from proxyman.com, and a Homebrew cask. The cask is the shorter one.

bash
brew install --cask proxyman

After that, launch the app and start the proxy. The next step is certificate trust, because HTTPS bodies stay encrypted until the client accepts Proxyman's certificate. The README points to setup guidelines for the iOS simulator and for iOS and Android devices, and the iOS simulator is the least fiddly target: it inherits the Mac's network settings, so once the Mac proxy is running and the certificate is trusted, simulator traffic appears in the request list. For a physical iOS or Android device you follow the platform-specific guide, which the README describes as comprehensive but does not reproduce. If you want to capture traffic from a NodeJS, Ruby or Python process rather than a browser, the README's automatic setup handles the environment for those runtimes. Expect to see a live list of requests with methods, hosts, paths and status codes, and to filter it with the wildcard and regex filters. The README does not state which port the proxy listens on, so take that from the app's own settings screen rather than from this article.

Where Proxyman Is the Wrong Tool

The most obvious boundary is the platform. The README states macOS 13 or later, and while it mentions a Windows build in the closing note about shipping for macOS, iOS and Windows, the documented download and the Homebrew cask are macOS. If your whole team is on Windows or Linux, this is not the tool for you today. The second boundary is source access. The repository contains no application code, so if your process requires reading, auditing or patching the tool that decrypts your traffic, Proxyman cannot satisfy that. That matters in regulated environments where a TLS-terminating proxy is itself part of the security review. Third, the free and paid split is not documented in the README beyond the existence of a PRO licence and a Team Subscription, so you cannot plan a rollout from the repository alone. Fourth, the iOS app is a reduced version: the README lists Block List, Map Local and Breakpoint as ready there, which is a much shorter list than the Mac feature set. If your workflow depends on Map Remote, scripting or DNS Spoofing, the iOS app will not carry it. Finally, a proxy debugger only sees traffic that goes through the proxy. Certificate pinning, or a client that ignores system proxy settings, will leave you with an empty list and no error explaining why. The README does not document a pinning bypass.

Proxyman Compared with Charles Proxy

The comparison people search for is Charles Proxy, and the difference is mostly in the shell around the same core idea. Both are TLS-terminating proxy debuggers. Proxyman is a native Swift application, which the README presents as the reason for its interface and its Apple-silicon support. Charles is a long-established Java-based tool, which is why it runs on macOS, Windows and Linux from one build. That single fact decides a lot of evaluations: if you need one debugger across a mixed-OS team, Charles covers the Windows and Linux machines that Proxyman's README does not. In the other direction, Proxyman's README lists features that go beyond plain capture, including Scripting, Network Conditions, DNS Spoofing, Diff and a Command Palette, plus a Team Workspace for sharing logs and HAR files with role-based access control. Charles has its own rewrite and mapping tools, but it does not ship a hosted log-sharing workspace in the same way. Neither is open source, so the choice is not about licence freedom. It is about which platform you sit on and whether you want a native Mac app or a portable one.

Licence, Maintenance and the Cost of Upgrading

The repository does not state a licence, and the README does not describe one. What it does say is that Proxyman is developed by a small engineering team, that a PRO licence exists, and that a Team Subscription unlocks the Team Workspace with role-based access control for Admin, Developers and Public roles. Treat the absence of a licence file as a fact to verify rather than a detail: if your organisation requires an explicit licence grant, ask the maintainers before you deploy it, and do not treat this article as legal advice. On maintenance, the release feed is active: 6.16.0 on 2026-08-24, 6.17.0 on 2026-09-07, and 26.0.0 on 2026-09-21, the same day as the last push to the default branch. The version jump from 6.x to 26.0.0 is worth noting because release notes mention macOS 27 Golden Gate and HTTP/2, which suggests the numbering tracks platform generations rather than a conventional semantic scheme. The upgrade cost is therefore mostly the macOS version treadmill: the README requires macOS 13+, and the newest release is aimed at a macOS generation that is not yet the norm. If you pin to an older macOS for other tooling, check that the release you install still supports it before you rely on the newest features.

Editorial conclusion

Adopt Proxyman if you debug HTTP/HTTPS on a Mac and want iOS and Android device capture without hand-editing proxy settings, and if the Team Workspace features matter to you. Do not adopt it if your team is Windows-only, if you need a tool you can read and patch, or if you cannot accept a proprietary licence for a tool that sits between your app and the network. Before you commit, confirm the current free-tier limits, the licence terms, and whether the iOS app covers the features you rely on in the Mac app, because the README describes the iOS app as having only Block List, Map Local and Breakpoint.

Frequently asked questions

How much does Proxyman cost?

The README does not list prices. It refers to a PRO licence and a Team Subscription that unlocks the Team Workspace, and says the team is happy if you purchase a licence to support development. Check proxyman.com for current pricing.

What are the key differences between Proxyman and Charles Proxy?

Proxyman is a native Swift macOS app requiring macOS 13 or later, while Charles is a Java-based tool that also runs on Windows and Linux. Proxyman's README lists Scripting, Network Conditions, DNS Spoofing, Diff and a Command Palette, plus a Team Workspace for sharing logs and HAR files with role-based access control.

How do I install Proxyman on Mac?

The README gives two options: download the 26.0.0 disk image from proxyman.com, or install the Homebrew cask with brew install --cask proxyman. The README states the app requires macOS 13 or later.

How do I use Proxyman with an iOS simulator?

The README says it provides comprehensive guidelines for setting up the iOS simulator, iOS devices and Android devices, and that the simulator inherits the Mac's proxy configuration once Proxyman is running and its certificate is trusted. The README does not reproduce those steps.

How do I use Proxyman with an Android emulator?

The README lists Android devices among the supported capture targets and points to setup guidelines for them, but it does not document emulator-specific steps in the repository. The Android setup requires trusting Proxyman's certificate so HTTPS bodies are readable.

Is Proxyman safe to use?

Proxyman works by terminating TLS so it can read HTTPS traffic, which means it installs and trusts a certificate on the machines and devices you debug. The README does not provide a security model or a licence file, so review those with your own team before pointing production credentials at it.

Official sources

  1. Issues
  2. Project website
  3. ProxymanApp/Proxyman on GitHub
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/proxymanapp-proxyman.svg)](https://hysenlabs.com/projects/proxymanapp-proxyman)