Proxygen

HTTP Swiss army knife

Proxygen is a professional HTTP proxy tool for testing apps and debugging remote API endpoints right on your Mac, iPhone and iPad. And it’s built to delight you while doing it.

Features

Send to Mac

Easily capture HTTP messages from an iPhone or iPad on your Mac. Traffic is mirrored to the paired Mac over local network even when the iOS app is not active. The Mac app can intercept and edit data of requests and responses before they are forwarded. No more futzing around with Wi-Fi proxy settings and trusted certificates.

Test with speed

Proxygen has an integrated test tool that automates sending of requests. Modify your requests by replacing placeholders with test payloads. Insert numbers, dates or character combinations. Flip bits and bytes. All with the power or tens of parallel worker threads.

Intercept and edit

Intercept requests and responses and edit their contents before forwarding them to the destination. All intercepted messages are shown in a queue that you can handle in any order.

Diff both text and binary

Use the Diff tool to see cleaned up differences between any two HTTP requests or responses. The tool can now also very efficiently diff between binary data.

Analyze traffic on the go

You can work with the same project files on iPhone, iPad and Mac and continue where you left off on the other device. Proxygen on iPhone has the same message history with filtering capabilities, WebSocket traffic capture and message editor.

Match and replace app traffic

Proxygen can modify requests and responses according to your custom rules. Configure rules to drop traffic to certain destinations, add or remove HTTP headers and respond locally with custom data, bypassing the remote server.

Local responses can be used during app development, when a remote API endpoint is not yet available, to verify that your app behaves correctly with any unexpected response data.

1

Server grade performance

The magic lies in a little custom HTTP proxy that was developed using SwiftNIO, a framework for bizarrely fast asynchronous network applications. The proxy can perform Manipulator in the Middle (MitM) against TLS to see inside HTTPS connections and apply custom logic to each message.

To put it bluntly, you’ve probably never seen a HTTP proxy this fast before. And you likely won’t notice that your web browsing is even proxied at all.

Privacy by design

Proxygen contains no third party frameworks for crash reporting or analytics. The app measures overall app usage with Apple’s App Analytics, which you can opt out of if you so choose.

Send to Mac requires initial pairing with the remote host using a key code. Identity of the remote Mac is cryptographically verified when you connect to it. All traffic sent over the local network is encrypted.

On iPhone and iPad, all proxying of network traffic happens locally and there is no VPN connection to a remote server. The VPN configuration on iOS is simply used to run a local background process and to direct all device traffic to this proxy.

Note that Proxygen is a TLS MitM proxy, which means that it sees HTTPS network traffic in plain text. This data is transferred from the proxy to the Proxygen app and stored as part of the project document. Make sure you handle the documents accordingly, as they may contain sensitive data such as session tokens and login credentials.


  1. Device Mockups created from iPhone mockups [return]