browserup / browserup-proxy

BrowserUp Proxy is a free utility to watch, test, and manipulate web application network traffic and performance.
https://browserup.com
Apache License 2.0
164 stars 41 forks source link

Removing sitebricks dependency #297

Open Murali54 opened 4 years ago

Murali54 commented 4 years ago

hi,

browserup-proxy currently has a dependency on https://github.com/dhanji/sitebricks. This seems to be an abandoned project and has no activity for the last 5 years. Are there any plans of using other alternative solutions?

sitebricks has security vulnerabilities https://github.com/dhanji/sitebricks/pull/90

Thanks!

ericbeland commented 4 years ago

Yes, that's a goal, however we have business priorities that come before it, so it may be a bit. We welcome pull requests. If you are interested in working in this area, let me know, and we can point you in the right direction.

Murali54 commented 4 years ago

Thanks, Eric for the quick response! I can definitely give it a try. Please advice.

ericbeland commented 4 years ago

We've started down the road of deprecating sitebricks. There are still usages in the part of the proxy that is used to control proxy resources. https://github.com/browserup/browserup-proxy/search?q=sitebricks&unscoped_q=sitebricks

In our new assertions API, we are working from swagger and following a pattern that looks more like this for our API:

https://github.com/browserup/browserup-proxy/blob/889aeda6d27b05b50714b754f6e43b3a600e6d9b/browserup-proxy-rest/src/main/java/com/browserup/bup/rest/resource/entries/EntriesProxyResource.java

We will use swagger annotations to do the generation. We are going to switch our interface to a swaggerized implementation, as then we can generate REST clients for any different language.

@kiturutin Can you weigh in with any additional instructions to get setup, as well as any things I have said that are incorrect.

Note that we now have a dependency on Python and a forked version of mitmproxy. This will let us solve a number of bugs in the proxy and remove our littleproxy dependency.