I just released Privaxy GitHub - Barre/privaxy: (work in progress) Privaxy is the next generation tracker and advertisement blocker. It blocks ads and trackers by MITMing HTTP(s) traffic.
Privaxy is a MITM HTTP(s) proxy that sits in between HTTP(s) talking applications, such as a web browser and HTTP servers, such as those serving websites.
By establishing a two-way tunnel between both ends, Privaxy is able to block network requests based on URL patterns and to inject scripts as well as styles into HTML documents.
Operating at a lower level, Privaxy is both more efficient as well as more streamlined than browser add-on-based blockers. A single instance of Privaxy on a small virtual machine, server or even, on the same computer as the traffic is originating from, can filter thousands of requests per second while requiring a very small amount of memory.
So it is a bit like Pi-hole?
Not really as Pi-hole is doing DNS while privaxy acts as a proxy.
Sweet! I've been hoping that some time such solutions would resurface again. There have been a number of such projects like
privoxy (guess it might have been a naming inspiration),
rabbit... but they're all dormant and failed with the current web at some point.
I'm curious as to what your plans are with respect to the "latest" (cough, talking about 1 to 1.5 decades) advancements in protocol technologies; i.e. WebSockets, HTTP/2 etc.; unfortunately the "bad boys" have learned to switch to those since there's no effective blocking.
Currently, websockets are just tunneled through, it would very easy to add filtering there, the logic for this is here: privaxy/serve.rs at main · Barre/privaxy · GitHub. Though, I am not sure how necessary it would be as hosts that serve ads and tracking through websockets can just be blocked. I don't think endpoints that both serves useful content as well as perform tracking and / or ad serving are common, I'd be very curious to see any example of that
I think YouTube is the standard example of a host serving both wanted content and ads, but I'm not sure how relevant this info is in this context (I would guess script injection is required to remove YT ads).
This seems functionally similar to the commercial Adguard. I wonder if there's any potential for this running on mobile? Adguard gets around Apple/Google app restrictions by running as a local VPN.