-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support HTTPS #3
Comments
Using mitmproxy would achieve what you're looking for. I know Postman uses it (though never got it to work). |
Look at what Charles Web Proxy does. This process is quite slick and works like a charm. |
Here is a nodejs project that implements HTTPS interception: https://github.com/axiak/filternet |
+1 for https support. Presumably, a certificate warning will show up, but that's fine. |
Tried a few things and https://github.com/joeferner/node-http-mitm-proxy seems to be the best match. Work in progress. |
First working version: #31 . Tips for working with self-signed certificates:
BTW Does anyone know if there is a way to make all certificates created by the node-http-mitm-proxy valid system wide? Maybe, somehow register it as a valid certificate authority? |
Answering question from my previous comment: Setting NodeMITMProxyCA as a valid Certificate Authority is super straightforward (at least on OSX) and works great for most apps (some apps do not respect global proxy settings - e.g. Dropbox). Steps:
Set HTTP_S_ proxy in the |
@Bellardia thanks for reporting, I'll try to reproduce that - it's osx, isn't it? |
@kdzwinel Yes it is. |
I just want to add a note for the SSLKEYLOGFILE. Both FF and Chrome will log session keys to the file specified in that environment variable. That would circumvent adding a cert and get around sites that do cert pinning (applications too, as long as you can get them to log their session keys, but that should be possible via patching the app). |
@Bellardia I was able to reproduce it - TLDR mitm-proxy uses |
HTTPS support landed. New binaries: https://github.com/kdzwinel/betwixt/releases/tag/1.0.0 Please let me know about any issues. |
@sagivf What you have to do is install it. Haven't tried it myself, but it seems to be simple enough: https://askubuntu.com/questions/73287/how-do-i-install-a-root-certificate |
Hey @kdzwinel I found the cs.pem and followed the instructions:
Im still getting the above error. Any idea what else I can do? |
@sagivf I followed the instructions for OSX but needed the additional step of telling my keychain manager to trust the certificate (which it didn't according to defaults). |
Thanks @barneycarroll that will be helpful when for my IOS development, unfortunately I mostly use ubuntu and cant get it to work... |
@sagivf I'm not on Ubuntu but assuming you have the same underlying issue, you would have to take some kind of action to ensure the certificate is recognised as trusted. I haven't tried it but this looks promising… |
HTTPS request are not logged by the proxy. At this point I have no good idea how to approach this - research needed.
Question: will it be possible to decode body of these requests? This will probably break connection for apps being debugged? Or do self-signed certs fix that? Can I create them on flight?
The text was updated successfully, but these errors were encountered: