35 karma · joined August 4, 2015
Basically, Proxyman iOS will stream all traffic to Proxyman macOS by using Bonjour service from Apple. Steaming data with zero-configuration.
I use this feature in the Atlantis framework (https://github.com/ProxymanApp/atlantis) and I believe that it would save a lot of time (than the current approach by sharing the log via AirDrop)
- I introduce the Pin screen to pin your working domains, with less distraction. - Better Request and Response Previewer with multiple lines (in Charles, it's one line, so it's too hard to see long content) - Better Body Previewer with syntax highlighting, adjustable font-size, and JSON TreeView. - Fully support iPad layout with multiple columns (Split View) - and many hidden features :)
If you know Charles Proxy, you know Proxyman is, a native macOS app that provides better UIUX and debugging features, e.g. Scripting with JS or Automation scripts for iOS/Android.
Behind the scene, Atlantis is written by Swift and does “Method Swizzling” to all URLSession and URLConnection functions, then sending the log to the Proxyman app for inspecting by Bonjour Service [2].
iOS folks don't have to manually config HTTP Proxy or Install Certificates anymore. It just works as soon as you start the Atlantis.
I believe that Atlantis would be a big pleasure for mobile developers during app debugging.
[1]: https://github.com/ProxymanApp/atlantis#how-to-use [2]: https://developer.apple.com/bonjour/
I would say that it's really difficult. For the first year, it made less than 1k/month, which was not sustainable, so I had to stick with my remote fulltime job at Toggl.com. Spend 4 hours per day at night and entire weekend days to implement the app. And now, after 2 years, I quit my job and dedicate myself to Proxyman. Aiming to ship iOS build and move to Window. It's still a long journey I guess.
Recently, we have shipped the Scripting feature that allows you:
- Modify the HTTP Request/Response contents (Headers, Method, Host, Path, Domain, Body, ..) by writing Javascript Code. Imagine that you can do all advanced tools programmatically by JS Code. 10x faster and more productive.
- Built-in Addons and Snippet Code for common tasks: Hashing, Base64, Compression, ...
- Rewrite the Core v2 with Apple Swift-NIO - high-performance more reliable.
Personally, it's one of the proud features that I've shipped. JavascriptCore framework enables Proxyman to communicate between the JS code and Swift code. You can write your own addons and libraries to achieve what Proxyman is missing.
Hopefully, Proxyman could help our work (developer) becomes easier and has more time for family and friends. Welcome all feedback
Documentations:
- Scripting Tool: https://docs.proxyman.io/scripting/script - Addons and Snippet Code: https://docs.proxyman.io/scripting/snippet-code - How to write your own JS addon: https://docs.proxyman.io/scripting/write-your-own-addons
If you're familiar with other tools like Charles or Fiddler, you could switch to Proxyman since those functionalities are the ready much the same. The UI is thoughtful and we put of lot of works to re-design the UI to make it super easy to get started.
Let check the Map Local or Install Certificate menu too see how it looks like.
Fun fact: The number of users, who are complain how to install the Certificate is significantly dropped down when we re-design the Installation Guideline Windows. It means they could make it without googling :D
Feel free to Ask me anything.
Sometime I need to script to change the response by code, I use mitmproxy too, since mitmproxy has this feature. But sometime I just need to quickly see the HTTPS Response and I would go to Proxyman since it's so intuitive and easy of use.
I'm not sure how zero-setup works, but it's cool feature indeed. I was frustrated to setup those certificate on Fiddler. I suppose that Fiddler tends to expert users, not me.
He's ambitious to be a better alternative version of Charles Proxy. The best of Proxyman is that it's native app, lightweight and super easy to use for iOS dev newbie
Until, one day, I'm so lazy to do it, and write the macOS app to fetch feature art and set it as a wallpaper on my personal laptop daily.
It's my rescuer.