proxymanapp / proxyman Goto Github PK
View Code? Open in Web Editor NEWModern. Native. Delightful Web Debugging Proxy for macOS, iOS, and Android ⚡️
Home Page: https://proxyman.io
Modern. Native. Delightful Web Debugging Proxy for macOS, iOS, and Android ⚡️
Home Page: https://proxyman.io
Proxyman is now capable of intercepting HTTP/HTTPS request from iOS Simulator. So it's essential to categorize all request into a new section.
It's critical to track down what client/domain that we're adding to whitelist and SSL enable.
Thus, we can edit (delete, remove) and be fully aware what's going.
The order of Flows is dis-order.
It drives me nut when the number. of warnings are becoming overwhelming. It's critical to wipe them out 🤠
It's a critical feature to support global hotkey for common tasks.
The JSON reviewer is buggy and jump to top of content if the selected flow is reloading. Look at the GIF for further information:
We are unable to copy the headers or cookies on Flow Detail.
We discover that there is the pretty elegant implementation for Badge on macOS.
We can inspired and adopt it for Proxyman.
https://github.com/Perspx/PXSourceList/blob/master/PXSourceList/PXSourceListBadgeView.h
There is minor improvements should be done after #13
If we enable the client, all domains of this client should be enabled SSL too, but it isn't 💥 .
Proxyman is unable to intercept HTTPS after re-installing new Proxyman Certificate.
It reveals that CertificateService
is still remaining the CertificateIdentity
list in memory and disk, so the next time we try intercepting the https request with new Proxyman CA Certificate, it won't work since the chain
certificate doesn't match.
Proxyman doesn't render the failed domain, which is under invalid SSL certificate.
There are certain shortcomings that we are not satisfied.
Ultimately, Proxyman should only track specific apps, which the user would like to track, rather than tracking all apps.
If we enable the client, all domains of this client should be enabled SSL too, but it isn't 💥 .
It's too risk to ask the user to install Root Certificate at the first time open Proxyman.
We have to consider couple alternative approaches in order to avoid this sensitive action.
The ID Count doesn't reset after closing and opening new project.
If we fire the HTTPS request by using curl
from terminal, our PIDScanner couldn't detect them. Consequently, the pid is -1, which is invalid.
After preliminary investigation, it turns our that
socketInfo.psi.soi_family == AF_SYSTEM && socketInfo.psi.soi_kind == SOCKINFO_KERN_CTL
the socketInfo
from this pid
is from system and kernel network. It seems that curl
is using really low-level network library to do it.
It's critical to use stable
OpenSSL
library on the app rather than using the built-in version on macOS.
openSSL
library to appIt's a core feature to enable SSL Proxying on entire Client
or Domain
on Source List.
ProxymanGataway
to fit with new requirement -> Able to Enable / Disable Client or Domain or specific flow.It's better to bring the most usage copy func to the Menu Context .
It's pretty frustrated when dealing with Document-based from Cocoa app because each Document is completely different App
instance, so it's hard to manage the Proxyman Core.
Time to consider dropping it out and adopt new Tab View.
It's essential to adopt CustomStringConvertible
protocol to all models in ProxymanCore in oder to generate informative string during debugging phrase ⛑
CustomStringConvertible
too all ModelsThere are certain issues when enabling SSL on Menu Context.
It's useful to support "Reset all" button in Debug Menu in order to to back to the original state easily.
After #3, Proxyman is capable of installing CA to remote device. It's time to intercept iPhone's request and render appropriately on the app.
Proxyman should be able to install CA to iOS Simulator like Proxyman 0.8.1 does.
It's really difficult to discover which app/domain/flow is enabled SSL.
Thus, It's more intuitive when the Client or Domain or Flow has the 🔒in someway, to determine that it's intercepted.
If we open Proxyman, Cmd+F doesn't recognize anymore regardless of active/inactive state of Proxyman.
If we press Cmd+F, the bottom Search Bar will become first responder. We should get rid of it 👍
0.4.1 pre-alpha
just run it
So does it support 10.11?
Proxyman doesn't select the first App/Domain at the first time it opens.
Version 1.2 (1200)
macOS 10.14
Safe guard couldn't detect when the certificate is removed, which had installed from old Proxyman version.
Error icon (removed certificate), but we don't track any clients/domains. Thus, It makes no scene to warning user.
DevMate seems to be fit and potential candidate for replacement of Fabric. Let give it a try!
If the request is CONNECT and keep-alive, and it is closed (the main App exit), Proxyman doesn't update it.
Charles does it correctly. So it's time to improve our Proxyman Core 📦
It's vital feature to support Workspace in Proxyman App.
The JSON reviewer is buggy and jump to top of content if the selected flow is reloading. Look at the GIF for further information:
it's the root of problem when causing many UX frustration if the Certificate is deleted or invalid 💥
It's critical to support the Safe-Guard in order to detect automatically and present the appropriate actions.
It's vital to ship the nightly build whenever we merge the PR to master or feature branch.
SourceListViewController
is becoming more clumsy than ever due to duplication in NSOutlineViewDataSource
, NSOutlineViewDelegate
We need some way to overcome it. Maybe introduce some common interface, then it could be interchangeable.
SourceListViewController
has no duplicationsProxyman doesn't enable SSL automatically after installing CA
Repeat flow doesn't appear into tracked client/domain
api.artify.app
It reveals that the current UIUX of main app is un-intuitive for new users.
It's crucial to remove those temporary files after generating new Root Certificate.
It's vital to support Sourcery in order to generate useful extensions automatically.
The acquisition of Sourcery
can benefit in many programming aspects.
Equatable
's implementation automatically for all variables.CustomStringConvertible
automatically (#15)Equatable
.Sourcery
properly.Equatable
and CustomStringConvertible
Sourcery
in build-timeA declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.