Hey guys - I was on FLOSS weekly today discussing Chomper, an Internet blocker for Linux. Since it’s essentially a wrapper around mitmproxy, I spent a fair amount of time talking about mitmproxy on the podcast. I’m not sure how good of a job I did explaining the relative merits of mitmproxy compared to alternatives, but I hope you get a little bit of traffic heading your way.
Cheers!
1 Like
Hi Aniket,
Chomper looks very interesting, and thanks for mentioning mitmproxy. I’ll do a quick tweet about it from the @mitmproxy Twitter account - let’s see if we can drive a few more users your way.
We really want to encourage tools like this, so please do let us know if there’s anything you feel we can do to make your life easier. The last release saw a huge number of improvements to the addon mechanism, and I’m on the lookout for mitmproxy-based projects that could be the first flagship examples of the new capabilities. I wonder if Chomper might fit the bill here - structuring it as an addon would mean, for instance, that you wouldn’t have to fork off a separate mitmdump process, and would make a number of other things simpler. To be clear, I’m not suggesting making your users install mitmproxy then install Chomper as an addon - your distribution and the user perspective would stay the same. If you’d be interested in exploring this direction, hit me up on Slack. I’d be happy to help.
Cheers,
Aldo
Hi Aldo,
Thank you for your kind comments, and especially for your offer to help with turning Chomper into an addon. I hadn’t yet considered turning Chomper into an addon, because I wasn’t too familiar with mitmproxy’s addon mechanism. Before structuring Chomper as an addon, I would need to do a cost/benefit analysis on a few dimensions:
- How much of an architectural change is required to turn it into an addon?
- Would implementing Chomper as an addon make for more maintainable, cleaner code?
- Would implementing Chomper as an addon make it easier to create more complex filters (e.g. according to a regex on the URL, according to the contents of the HTML)
- Would it be relatively easier to keep up with changes to mitmproxy if I structure Chomper as an addon?
- Would it make turning Chomper into an executable using pyinstaller easier or harder?
- Would it make implementing Chomper as a GUI or a web-based UI (like mitmweb) easier or harder?
I’m definitely not asking you to answer these questions - just articulating what I would need to think about. I will probably write some throwaway applications over the next month or so to probe at some of these questions. If I have any thoughts/questions about the addon mechanism, I will definitely get in touch!
Aniket