Adblock-fast: ad-blocking service for dnsmasq, smartdns, unbound and bind/named

Also would you please add support for bind server?

Scheduled tasks

10 5 * * * /etc/init.d/adblock-fast dl

I don't want to do it manually, it need to be done automatically

Hello, I would like to add the time and duration of automatic list updates to AdBlock-Fast - status, or to the overview.

dev repo has been updated with adblock-fast builds with scheduled updates (hopefully) fixed and initial support for bind/named. Due to the bind not having uci-compatible config, it would require a one-time manual configuration to target the adblock-fast block-list.

First up: huge thanks for this, it's honestly indispensable.

Has anything changed recently with the handling of downloading lists?

I've been using the (admittedly huge) Hagezi TIF on my MT6000 without issue for a good year or so, but recently it just gets "Download failed". I've had a poke through the logs and can't see anything of any interest, just the same "Download failed" warning. I've tried a few different versions and mirrors of the TIF (dnsmasq, just domains and a few others) and they all fail the same way. If I move over to the smaller 'Medium' variants, it all works just fine.

If I CURL the URL over SSH it also works just fine. I've tried blanking config and starting again with the same result.

Thanks!

Depending on which version did you install and from where. Some fine-tuning dl parameters were recently changing, including the overall download time, maybe your giant list download is exceeding that and download is getting killed.

Go thru the download options in README and see what you have in config file that may need to be adjusted.

I'm running Version 1.2.4-r4 (but I have upgraded a couple times since I first noticed this), on a vanilla version of OpenWrt with packages from the main repo.

Yep after rechecking through everything in the README, I realised that I got the size of the list wrong. I thought it was under the Curl default maximum size limit, but that wasn't true it was much bigger than I thought it was (~38000000 bytes). Raising the limit accordingly sorted it all out and it's back to working perfectly.

With these large lists from Hagezi, is it best for me to use the Wildcard Domains or DNSmasq lists (I'm using DNSmasq)?

Thanks!

How long does it usually take for a release to end up in the openwrt repo? The last release on github was more than a week ago.

There is no automatic update, it depends on the developer whether he thinks this release should be available to the general public.
Sometimes many releases will pass before it is deemed ready

You can of course just fetch the release yourself from stans repo but of course at your own risk, always make a backup before doing.

1 Like
[8 Aug 2026, 11:14:31 GMT+10] user.notice: adblock-fast: Cycling dnsmasq βœ“βœ“βœ“βœ”βœ“..........βœ—Resetting/Restarting dnsmasq βœ“βœ“
[8 Aug 2026, 11:14:31 GMT+10] user.notice: adblock-fast: adblock-fast 1.2.4-r4 failed to start: Testing resolver on heartbeat.mossdef.org.
[8 Aug 2026, 11:14:31 GMT+10] user.notice: adblock-fast: [ERROR] Heartbeat domain is not accessible after resolver restart!
[8 Aug 2026, 11:14:31 GMT+10] user.notice: adblock-fast: [ERROR] Failed to create block-list or restart DNS resolver!

Does adblock fail to start when your website isn't accessable? It seems not to be working for me right now

All blocklists are downloading fine, but because your heartbeat.mossdef.org domain hasn't been accessible for at least 12hrs, adblock-fast wont work properly on a service restart? Seems like undesirable behaviour. Why is it a requirement?

Does a manual resolveip heartbeat.mossdef.org work from the router CLI?

You can also change the heartbeat_domain option to whatever you like, as long as resolveip can resolve it.

well, it's resolving now

[9 Aug 2026, 04:21:32 GMT+10] user.notice: adblock-fast: * adblock-fast 1.2.4-r4 is blocking 2771921 domains (with dnsmasq.servers)

What is the heartbeat used for? If I can change it to an arbitrary domain what is different?

If the heartbeat domain fails to resolve, it assumes something bad happened while loading the Adblock-fast list or configuration and reverts its changes so DNS continues to work. So you want a reliable domain that is unlikely to ever be blocked or be removed from public DNS.

okay, I get it. Would google.com or something huge like that be wrong to use? Could the heartbeat_domain setting be exposed in luci_adblock-fast?