kdzwinel / betwixt Goto Github PK
View Code? Open in Web Editor NEW:zap: Web Debugging Proxy based on Chrome DevTools Network panel.
License: MIT License
:zap: Web Debugging Proxy based on Chrome DevTools Network panel.
License: MIT License
when response headers Content-Encoding is deflate, can't recognize the content
IMO doing a simple setTimeout
on the proxy server should work just fine for most cases.
I followed the instructions for Windows.
But as soon as I turn on manual proxy.
I cannot visit anything on the web and no network data shows up in Betwixt.
Is is possible to configure it to listen to a single address like https://localhost:44349
?
Currently context menu is useless ("copy All as HAR" / "copy as cURL" / "Save as file") - it does work, it just doesn't copy stuff to your ๐ because implementation for that is missing in the "hosted mode":
WebInspector.console.error("Clipboard is not enabled in hosted mode. Please inspect using chrome://inspect");
It's electron though, we can make it work!
Many awesome project use ESLint. http://eslint.org
Do you would PR ?
Is possible to edit the respose tab into atom editor?
after started and setting the proxy. I get nothing captured.
log screen is filled with FEConnection error: Connection not ready, message not sent.
I am using the node 5.1 on macosx
It would be nice to have a way of repeating a request, like chrome dev tools' "Replay XHR".
my response http header๏ผ
set-cookie:dsid=EfhrHh; expires=Fri, 04-Dec-2015 03:43:54 GMT; Max-Age=86400; path=/
set-cookie:dlastact=1449114234; expires=Fri, 04-Dec-2015 03:43:54 GMT; Max-Age=86400; path=/
set-cookie:dreg=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
set-cookie:dcloudstatpost=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
after betwixt proxy:
set-cookie:dsid=EfhrHh; expires=Fri, 04-Dec-2015 03:43:54 GMT; Max-Age=86400; path=/dlastact=1449114234; expires=Fri, 04-Dec-2015 03:43:54 GMT; Max-Age=86400; path=/dreg=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/dcloudstatpost=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/
So the cookie does not work
We need a place to host the binaries for osx/win/linux
Since we are going to have installable bundles, let's add some reasonable icon.
https://www.google.com/design/icons/ + some nice gradients?
Thanks for this awesome project.
I found I can't copy anything in the app.
how can i disable caching?
Otherwise it doesn't work.
Which operating system(s)?
Proxy set in browser? Proxy set in system settings? Proxy set in console?
Since frontend doesn't store response bodies, but requests them every time user opens "Preview" tab, we have to store them on the backend. This can quickly fill up the memory, so we should clean that array whenever user clicks "Clean" on the UI. Unfortunately, clicking that button doesn't send any message to the frontend, so right now there is no way to figure out if we can clean the requests array.
When the program is initially ran, it just "runs". While it is recording by default, it assumes developers have read the README and know to proxy their network.
It would be informative to add a note when there are no records to let developers know the proxy setup is needed. Even better, add an icon in the right side of the action bar to open up a dialog with the instructions contained in the README.
Would it be possible to monitor traffic of a given port?
๐ is it possible to enable zooming like in regular Browser/Electron app? The regular shortcuts on Linux are not working: ctrl + scroll up/down and ctrl + +/-
Current ones are emulated and can't be drawn outside the window.
This should be possible with http://electron.atom.io/docs/v0.37.3/api/menu/#menupopupbrowserwindow-x-y-positioningitem .
hey @kdzwinel we spoke on reddit yesterday. I would like to help out. Can you put a raw version of the project on a separate branch so I can have a look at in this stage? cheers!
Right now proxy has to be set by hand, there should be a way to set it programmatically.
Question: Should that be a default behaviour? If I want to debug network traffic for a specific thing (e.g. npm), not the whole system, it's better for me to have control.
Challenge: even if it's possible how do we support all operating systems?
This should be straightforward, the library that betwixt is using (http-proxy
) has websocket support that looks easy to add. It might be challenging though to fit that code into the current codebase though.
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^
Error: ENOENT: no such file or directory, open 'xxx/betwixt/node_modules/electron-prebuilt/path.txt'
at Error (native)
at Object.fs.openSync (fs.js:584:18)
at Object.fs.readFileSync (fs.js:431:33)
at Object.<anonymous> (/xxx/cloned/betwixt/node_modules/electron-prebuilt/index.js:4:21)
at Module._compile (module.js:425:26)
at Object.Module._extensions..js (module.js:432:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:313:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
I am getting the following error trying to intercept requests in a native app, do you have any idea how to fix it?
TrafficInterceptor error: Proxy error: Error: 8670597760:error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert certificate unknown:../../vendor/node/deps/openssl/openssl/ssl/s3_pkt.c:1472:SSL alert number 46
8670597760:error:140940E5:SSL routines:ssl3_read_bytes:ssl handshake failure:../../vendor/node/deps/openssl/openssl/ssl/s3_pkt.c:1210:
Can this work as a reverse proxy / proxy chaining such that requests get forwarded to another proxy and back? Functionality similar to weer.
Thanks.
win 64 it just empty nothing go on
i did used poxy setting as you said.
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?
Electron supports automatic updates. Let's enable that for Betwixt.
Docs: https://github.com/atom/electron/blob/master/docs/api/auto-updater.md
Reference: https://github.com/atom/atom
Related to #3, but on the other end of the connection I receive the following error:
PROXY_TO_SERVER_REQUEST_ERROR: Error: unable to verify the first certificate
The server is using a certificate signed by an internal CA. This seems to be caused by Betwixt (node-http-mitm-proxy?) not using the system certificates (on OS X).
A workaround could be a way to pass trusted certificates to the app. I can't make sense of which environment variables (if any) the code in question will consult.
I can't find root certificate in ~/Library/Application Support/betwixt/ssl/certs/
.
Can you help me?
i've downloaded version 1.6.1 but when selecting it ini the Finder and using 'Get Info' it shows 'Version 0.36.12'
i believe this issues should go away automatically when building using a newer version of electron-packager
I had to first npm install chalk
before it worked. Maybe add a note?
Some UI elements do not work and do not make sense.
This requires digging into the DevTools code.
Things to remove:
I confused that why not using Template to create the Interface, not js DOM (create DOM in js).
Also i saw vscode source code don't use HTML too.
How does author consider for that?
When i exec npm install, it is slow to download electron-v0.34.5-darwin-x64.zip. Can i download it alone?
When i run node project i am facing below issue in ubantu.
How can I Solve this issue ?
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
Error: ENOENT: no such file or directory, open '../conf/log4j_config.json'
at Object.fs.openSync (fs.js:557:18)
at Object.fs.readFileSync (fs.js:467:33)
at loadConfigurationFile (Git-Dev/node_modules/log4js/lib/log4js.js:274:26)
at Object.configure (Git-Dev/node_modules/log4js/lib/log4js.js:338:14)
at Object. (Git-Dev/lib/logger.js:8:8)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
This is a long term goal - no ETA
I especially like the idea of giving user the power to do that programatically right from the Betwixt window. The biggest challenge here is to create an UI for this (reuse "Sources" panel in some way?).
A 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.