- Guard against `getProcess` returning null in the macOS FFI path (`proc_pidpath` can fail with EPERM or for an already-exited PID). Stop unwrapping with `!` and only populate the ProcessInfoCache on success; the previous code threw NullThrownError there, which the outer try/catch silently swallowed and prevented caching of valid later results. - Add a 5-second negative cache for ports whose owner can't be resolved (typical for short-lived clients that exited before we scanned). Without it every such request triggered a full PID list rescan, defeating the point of the pid cache for the failure path. - Add a debug-only assert that the host is little-endian. The libproc parsing reads `(int)htons(port)` by treating the low two bytes as a big-endian uint16, which requires a little-endian host. All shipping macOS hardware satisfies this; the assert fails loudly if the assumption is ever broken (stripped from release builds). Re-verified on macOS 26.4: 500 concurrent curl through the proxy, single ProxyPin process throughout, 9099 freed immediately on exit.
ProxyPin
English | 中文
Open source free traffic capture HTTP(S),Support Windows、Mac、Android、IOS、Linux Full platform system
You can use it to intercept, inspect & rewrite HTTP(S) traffic, Support capturing Flutter app traffic, ProxyPin is based on Flutter develop, and the UI is beautiful and easy to use.
Features
- Mobile scan code connection: no need to manually configure WiFi proxy, including configuration synchronization. All terminals can scan codes to connect and forward traffic to each other.
- Domain name filtering: Only intercept the traffic you need, and do not intercept other traffic to avoid interference with other applications.
- Search: Search requests according to keywords, response types and other conditions
- Script: Support writing JavaScript scripts to process requests or responses.
- Request Rewrite: Support redirection, support replacement of request or response message, and can also modify request or response according to the increase.
- Request Mapping: Do not request remote services, use local configuration or scripts for response
- Request Decryption: Configure AES decryption key to automatically decrypt HTTP message body
- Request Blocking: Support blocking requests according to URL, and do not send requests to the server.
- History: Automatically save the captured traffic data for easy backtracking and viewing. Support HAR format export and import.
- Others: Favorites, toolbox, common encoding tools, as well as QR codes, regular expressions, etc.
Mac will prompt untrusted developers when first opened, you need to go to System Preferences-Security & Privacy-Allow any source.
Sponsors
If ProxyPin is helpful to you, you are welcome to support us in the following ways to help the project develop in the long term:
- Buy Me A Coffee
- AFDIAN
- Submit feedback and suggestions to help us improve
- Contribute code or documentation to the project
Your support will be used for project maintenance, feature development, and user experience optimization. Thank you very much!
Downloads
Github Releases: https://github.com/wanghongenpin/proxypin/releases
iOS App Store:https://apps.apple.com/app/proxypin/id6450932949
Android Google Play:https://play.google.com/store/apps/details?id=com.network.proxy
We will continue to improve the features and experience, as well as optimize the UI.