https://clients2.google.com/service/update2/crx?response=red...
You should just be able to unzip it.
[1]:https://chrome.google.com/webstore/detail/perceptual-ad-bloc...
https://clients2.google.com/service/update2/crx?response=red...
You should just be able to unzip it.
[1]:https://chrome.google.com/webstore/detail/perceptual-ad-bloc...
1: https://github.com/citp/ad-blocking/tree/master/perceptual-a...
For Facebook ad detection, it finds newsfeed items by looking for containers within the given width constraints and border on the side; it looks for the sidebar ads by searching for containers with the proper size constraints in a sidebar. It then determines which newsfeed items are ads by searching for the "Sponsored" link within them and checking whether this link ultimately goes to the Facebook "about ads" page.
For Adchoices detection, it runs a content script in every iframe which searches all of the images, (those explicit in an img element, those in the background-image css, and those drawn as an svg) and then uses fuzzy hashing to compare them to example Adchoices icons. If any of the images match, it highlights the iframe as an advertisement.
That won't remove a typical banner ad, or an ad popup.
We can build a repo of images that's used to show ads, and just block by images. There's a pretty big multiplier on number of visitors to the number of ad pictures.