What is happening with AdThwart and Adblock Plus?
AdThwart development is being handed over to the Firefox Adblock Plus people. AdThwart will be renamed to "Adblock Plus for Google Chrome" and development will continue under that name. Current users will be automatically upgraded. The AdThwart developer will continue to be involved but won't be running the project anymore. Please see the announcement at adblockplus.org for more information.
What does AdThwart do?
This extension prevents many advertisements from appearing on web pages you view with Google Chrome.
AdThwart uses ad filter lists like EasyList. You can also choose from a selection of several others, specify custom URLs of filter lists, or specify your own custom filters. AdThwart periodically checks for new versions of the filter lists you have enabled.
AdThwart's ad blocking engine is partly taken from the open-source Adblock Plus Mozilla Firefox extension.
Google Chrome says that AdThwart will have access to my private data on all websites. That's scary.
This is technically true, but AdThwart does not actually make use of this access, nor does it “phone home” except to automatically update to the latest version. It does not send any private data anywhere. You can verify this by looking at the source code, which is in the .crx file (as downloaded when you click the Install button; it's a zipfile), or available separately here.
Why do I see ads for a moment before they disappear? Why aren't all ads blocked? Does AdThwart block ads or just hide them?
Short answer: Chrome has limitations that extensions can't work around. Most ads are blocked but some are still just removed after they are loaded.
Technical answer: Although support for the beforeload DOM event has been added to AdThwart, there is still no synchronous message passing API (like Safari 5 has) that would allow AdThwart to ask its backend about a URL and get a response in time to prevent the loading of the resource. So for the moment a certain group of important ad servers are always blocked, and the rest still require a backend query.
Another problem is that the beforeload handler must be attached before resources are loaded to catch all beforeload events. However, the page content script must ask the backend whether ad blocking is enabled for the current site. The backend must respond using an asynchronous callback, which may not actually run until the page is partly loaded. This means that the handler is not always attached at the very beginning, so some ads are missed and must be removed during a separate pass later on.
I am experimenting with loading more of the filtering engine into the content script but that can produce a noticeable slowdown and potentially increased memory usage with very little improvement in actual ad blocking.
After installing AdThwart, certain websites no longer work properly.
It's possible that AdThwart may hide some part of a page that you actually wanted to see. In this case, you can try different filter lists (see AdThwart Options). Or you can disable AdThwart entirely for that page: click on the little devil icon in the address bar to toggle AdThwart off, then reload the page.
What are these default custom filters and whitelisted sites in AdThwart Options?
They are there as examples. The acid3.acidtests.org entry is so AdThwart doesn't interfere with the Acid3 test. But you can delete them if you want.
I found a bug or a bad translation.
Please report it. Thanks!
I'm a developer. Or, I know a language that AdThwart hasn't been translated into yet. Can I contribute?
Yes! The source code is available on GitHub. Please file a bug or send me a message on GitHub.
You jerk! You are depriving my site of revenue by helping people be freeloaders!
Yep. It's like fast-forwarding through TV commercials. Invasive ads are annoying, and I kind of like the idea of incentivizing the use of unintrusive text ads. Also, the user's right to choose what her own computer displays, whether or not it concerns ads, is far more important.