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

The latest available versions are 1.1.3-r11 adblock-fast (1.1.3.-r13 is on its way #26672 ) and 1.1.2-r18 respectively for the luci-app-adblock-fast.

Also, provide information about your OpenWRT version, router model, and architecture (execute the command below)

cat /etc/os-release

And the output from installed packages:

opkg list-installed | grep -iE 'awk|curl|sed|sort'

The router is a Dynalink WRX36

cat /etc/os-release
NAME="OpenWrt"
VERSION="23.05.3"
ID="openwrt"
ID_LIKE="lede openwrt"
PRETTY_NAME="OpenWrt 23.05.3"
VERSION_ID="23.05.3"
HOME_URL="https://openwrt.org/"
BUG_URL="https://bugs.openwrt.org/"
SUPPORT_URL="https://forum.openwrt.org/"
BUILD_ID="r23809-234f1a2efa"
OPENWRT_BOARD="ipq807x/generic"
OPENWRT_ARCH="aarch64_cortex-a53"
OPENWRT_TAINTS=""
OPENWRT_DEVICE_MANUFACTURER="OpenWrt"
OPENWRT_DEVICE_MANUFACTURER_URL="https://openwrt.org/"
OPENWRT_DEVICE_PRODUCT="Generic"
OPENWRT_DEVICE_REVISION="v0"
OPENWRT_RELEASE="OpenWrt 23.05.3 r23809-234f1a2efa"
 opkg list-installed | grep -iE 'awk|curl|sed|sort'
coreutils-sort - 9.3-1
curl - 8.6.0-1
gawk - 5.2.1-2
libcurl4 - 8.6.0-1
sed - 4.9-1

The only upgradeable one is curl, should I upgrade?

When I check the version of adblock-fast, opkg only offers 1.1.2, as you can see

opkg update
Downloading https://downloads.openwrt.org/releases/23.05.3/targets/ipq807x/generic/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_core
Downloading https://downloads.openwrt.org/releases/23.05.3/targets/ipq807x/generic/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/23.05.3/packages/aarch64_cortex-a53/base/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_base
Downloading https://downloads.openwrt.org/releases/23.05.3/packages/aarch64_cortex-a53/base/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/23.05.3/packages/aarch64_cortex-a53/luci/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_luci
Downloading https://downloads.openwrt.org/releases/23.05.3/packages/aarch64_cortex-a53/luci/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/23.05.3/packages/aarch64_cortex-a53/packages/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_packages
Downloading https://downloads.openwrt.org/releases/23.05.3/packages/aarch64_cortex-a53/packages/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/23.05.3/packages/aarch64_cortex-a53/routing/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_routing
Downloading https://downloads.openwrt.org/releases/23.05.3/packages/aarch64_cortex-a53/routing/Packages.sig
Signature check passed.
Downloading https://downloads.openwrt.org/releases/23.05.3/packages/aarch64_cortex-a53/telephony/Packages.gz
Updated list of available packages in /var/opkg-lists/openwrt_telephony
Downloading https://downloads.openwrt.org/releases/23.05.3/packages/aarch64_cortex-a53/telephony/Packages.sig
Signature check passed.
root@RobcaWRX36:~# opkg list-installed | grep -iE 'adblock'
adblock-fast - 1.1.2-20
luci-app-adblock-fast - 1.1.2
root@RobcaWRX36:~# opkg upgrade adblock-fast
root@RobcaWRX36:~# opkg list-installed | grep -iE 'adblock'
adblock-fast - 1.1.2-20
luci-app-adblock-fast - 1.1.2

You're using the previous major version of OpenWRT 23.05.3. I'm not sure that @stangri will backport adblock-fast version 1.1.3 for 23.05. And this is the reason why you don't see it. I doubt that you are hitting this bug #26228, but a fix was introduced in version 1.1.3

Also, if I'm not mistaken, your router Dynalink DL-WRX36 supports the latest OpenWRT 24.10 and after the upgrade, you'll be able to see the latest version 1.1.3-r11

Yes, the router supports the latest version, it's just that for that router there has been a naming change (For 23.05: ipq807x-generic. For Snapshots/24.10 onward: qualcommax-ipq807x.) and it will take me time to ensure it all works (including fail safe). Being the main router, any downtime will cause problems with the other users

I will upgrade as soon as possible

But, stepping back a moment: that bug doesn't seem to apply (my allow list is not empty), and the other fix referenced is for swap memory, also unlikely to happen in my case (the router is very lightly loaded). So updating to 24.10 is unlikely to help

Adblock-fast was working until I made the allow-list bigger. All I need is a way to find what line is causing problems. I looked at the adblock-fast configuration file with "view symbol" enabled in Notepad++, and there is nothing out of character (pun intended)

Adblock-fast creates a long debug log file. There has to be a way to parse that file and find the offensive item in the list

Unfortunately, I don't have the original configuration file on hand. If it’s not too much trouble, could you archive your configuration file (like tar or gzip) and upload it here? I’m not able to reproduce the error with the setup from the previous post.
If you want, you can also grab the latest version straight from the official repository and apply it manually on your router.

cd /tmp; curl -fsSL https://raw.githubusercontent.com/stangri/adblock-fast/refs/heads/main/files/etc/init.d/adblock-fast -O

@robca, in addition to what @justops1337 has said (directly downloading an updated init-script), you can try adding my repo with the newer adblock-fast to your 23.05 set-up and updating adblock-fast (and corresponding luci app) from my repo. I don't think there's anything in 1.1.3 that wouldn't work on 23.05.

@justops1337 the version stamping of the init script happens during install, so anyone just copying the init-script from github to their device would have the version of adblock-fast shown as dev-test. :wink:

I forgot the option with your repo which will be the cleanest way to install the package on 23.05. I'm fully aware about "version stamping", but this was the quickest option I could think of at that moment. :blush:

@stangri Just to mention that there is a broken link to the default config file in the DOC page.

1 Like

@stangri do you have plans to equalize the versions of luci-app-adblock-fast because they have "a few version" difference depending on where are you checking?
Luci repo - master 1.1.3-r1
Luci repo - branch 24.10 1.1.2-r18
Upstream repo - master 1.1.3-r13

1 Like

AFAIK it's frowned upon to merge version bumps without actual code change, I'll see why the release is behind the snapshot tho.

Does this package also contain lists of domains serving malware rather than ads?

The default config file containing lists that show up after installation is linked from the README and you can view it on GitHub without having to install the package. You can also add (either thru WebUI or CLI) any other remote or local list you desire, be it ads or malware.

@stangri Is there any news regarding the branch version? It seems that every time the OpenWRT system is updated, the "luci-app-adblock-fast" package is reported as outdated when your repo is configured on the system.

1.1.4-r1 (currently available from my repo) introduces:

  • testing of dnsmasq config before restarting it upon successful final block-list creation and dnsmasq configuration (I haven't looked into the same functionality for smartdns/unbound, if anyone is using those resolvers and want to test it, let me know)
  • DNS healthcheck by probing a (customizable) heartbeat domain upon resolver restart
  • reverting to ad-blocking-less configuration of resolver and restart if the DNS healthcheck fails for (customizable) number of seconds
  • option to NOT write updated remote lists file sizes into config-file thus reducing flash wear on affected models

Both principal package and luci app need to be updated.

1 Like

I noticed that adblock-fast does not start at boot on my relatively complex openwrt router installation.

To verify in a clean environment I set up a vanilla system in Hyper-V (eth0 private network, eth1 external network) with adblock-fast 1.1.3.r13 from openwrt repo. Standard dnsmasq.servers configuration, one block list enabled.

After WAN interface found, adblock-fast logs "Setting trigger (on_boot) [βœ“]" and then does nothing. Dnsmasq obviously can't read the adblock serversfile. Is that the intended behavior? I can start adblock-fast manually later no problem (16:16:39 in log), but that defies the purpose of a headless device, doesn't it?

PS: Unrelated, but interesting to see, that dnsmasq starts way too early, even before the 'lan' interface is up.

/etc/config/adblock-fast (vanilla)
config adblock-fast 'config'
	option enabled '1'
	list allowed_domain 'cdn.jsdelivr.net'
	option allow_non_ascii '0'
	option canary_domains_icloud '0'
	option canary_domains_mozilla '0'
	option compressed_cache '0'
	option compressed_cache_dir '/etc'
	option config_update_enabled '0'
	option config_update_url 'https://cdn.jsdelivr.net/gh/openwrt/packages/net/adblock-fast/files/adblock-fast.config.update'
	option curl_max_file_size '30000000'
	option curl_retry '3'
	option debug '0'
	option dns 'dnsmasq.servers'
	list dnsmasq_instance '*'
	option download_timeout '10'
	option force_dns '0'
	list force_dns_port '53'
	list force_dns_port '853'
	option parallel_downloads '1'
	option pause_timeout '20'
	option procd_trigger_wan6 '0'
	option procd_boot_delay '0'
	option procd_boot_wan_timeout '60'
	option verbosity '2'

config file_url
	option name 'Hagezi - Pro'
	option url 'https://cdn.jsdelivr.net/gh/hagezi/dns-blocklists@latest/domains/pro.txt'
	option size '12522070'
	option action 'block'
	option enabled '0'

config file_url
	option name 'AdguardTeam - CNAME Trackers'
	option url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_trackers_justdomains.txt'
	option size '6241707'
	option action 'block'
	option enabled '0'

config file_url
	option name 'OISD - Big'
	option url 'https://big.oisd.nl/'
	option size '6163363'
	option action 'block'
	option enabled '0'

config file_url
	option name 'StevenBlack - Unified hosts'
	option url 'https://cdn.jsdelivr.net/gh/StevenBlack/hosts/hosts'
	option size '6475160'
	option action 'block'

config file_url
	option name '1Hosts - Lite'
	option url 'https://o0.pages.dev/Lite/domains.txt'
	option size '2786010'
	option action 'block'
	option enabled '0'

config file_url
	option name 'Bongochong - Combined Privacy Block Lists (TLD Optimized)'
	option url 'https://cdn.jsdelivr.net/gh/bongochong/CombinedPrivacyBlockLists/NoFormatting/cpbl-ctld.txt'
	option size '2608152'
	option action 'block'
	option enabled '0'

config file_url
	option name 'CERT Polska - Dangerous Websites'
	option url 'https://hole.cert.pl/domains/v2/domains.txt'
	option size '731479'
	option action 'block'
	option enabled '0'

config file_url
	option name 'Kboghdady - YouTube Ads DNS'
	option url 'https://cdn.jsdelivr.net/gh/kboghdady/youTube_ads_4_pi-hole/black.list'
	option size '553006'
	option action 'block'
	option enabled '0'

config file_url
	option name 'AdguardTeam - CNAME Clickthroughs'
	option url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_clickthroughs_justdomains.txt'
	option size '362170'
	option action 'block'
	option enabled '0'

config file_url
	option name 'SomeoneWhoCares - Hosts'
	option url 'https://someonewhocares.org/hosts/hosts'
	option size '347410'
	option action 'block'
	option enabled '0'

config file_url
	option name 'WinHelp2002 MVPS - Hosts'
	option url 'https://winhelp2002.mvps.org/hosts.txt'
	option size '334861'
	option action 'block'
	option enabled '0'

config file_url
	option name 'AdAway - Hosts'
	option url 'https://adaway.org/hosts.txt'
	option size '243454'
	option action 'block'
	option enabled '0'

config file_url
	option name 'AdguardTeam - CNAME Ads'
	option url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_ads_justdomains.txt'
	option size '222595'
	option action 'block'
	option enabled '0'

config file_url
	option name 'AdguardTeam - CNAME Microsites'
	option url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_microsites_justdomains.txt'
	option size '123275'
	option action 'block'
	option enabled '0'

config file_url
	option name 'Yoyo.org - Hosts'
	option url 'https://pgl.yoyo.org/as/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext'
	option size '99588'
	option action 'block'
	option enabled '0'

config file_url
	option name 'Hoshsadiq - NoCoin Adblock List'
	option url 'https://cdn.jsdelivr.net/gh/hoshsadiq/adblock-nocoin-list/hosts.txt'
	option size '11149'
	option action 'block'
	option enabled '0'
/etc/config/dhcp (vanilla)
config dnsmasq
	option domainneeded '1'
	option boguspriv '1'
	option filterwin2k '0'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option nonegcache '0'
	option cachesize '1000'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option resolvfile '/tmp/resolv.conf.d/resolv.conf.auto'
	option nonwildcard '1'
	option localservice '1'
	option ednspacket_max '1232'
	option filter_aaaa '0'
	option filter_a '0'
	option serversfile '/var/run/adblock-fast/dnsmasq.servers'

config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option dhcpv4 'server'
	option dhcpv6 'server'
	option ra 'server'
	option ra_slaac '1'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'
System log (vanilla)
...
16:16:03 2025 kern.info kernel: [    7.144150] e1000: Intel(R) PRO/1000 Network Driver
16:16:03 2025 kern.info kernel: [    7.144485] e1000: Copyright (c) 1999-2006 Intel Corporation.
16:16:03 2025 user.info kernel: [    7.147555] urngd: v1.0.2 started.
16:16:03 2025 kern.info kernel: [    7.156393] ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver
16:16:03 2025 kern.info kernel: [    7.156644] ixgbe: Copyright (c) 1999-2016 Intel Corporation.
16:16:03 2025 kern.info kernel: [    7.163547] i2c_dev: i2c /dev entries driver
16:16:03 2025 kern.info kernel: [    7.181213] e1000e: Intel(R) PRO/1000 Network Driver
16:16:03 2025 kern.info kernel: [    7.181446] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
16:16:03 2025 kern.info kernel: [    7.186663] PPP generic driver version 2.4.2
16:16:03 2025 kern.info kernel: [    7.187156] NET: Registered PF_PPPOX protocol family
16:16:03 2025 user.info kernel: [    7.196579] kmodloader: done loading kernel modules from /etc/modules.d/*
16:16:03 2025 user.notice dnsmasq: DNS rebinding protection is active, will discard upstream RFC1918 responses!
16:16:03 2025 user.notice dnsmasq: Allowing 127.0.0.0/8 responses
16:16:03 2025 daemon.info dnsmasq[1]: started, version 2.90 cachesize 1000
16:16:03 2025 daemon.info dnsmasq[1]: DNS service limited to local subnets
16:16:03 2025 daemon.info dnsmasq[1]: compile time options: IPv6 GNU-getopt no-DBus UBus no-i18n no-IDN DHCP no-DHCPv6 no-Lua TFTP no-conntrack no-ipset no-nftset no-auth no-cryptohash no-DNSSEC no-ID loop-detect inotify dumpfile
16:16:03 2025 daemon.info dnsmasq[1]: UBus support enabled: connected to system bus
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
16:16:03 2025 daemon.warn dnsmasq[1]: no servers found in /tmp/resolv.conf.d/resolv.conf.auto, will retry
16:16:03 2025 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
16:16:03 2025 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 0 names
16:16:03 2025 daemon.err dnsmasq[1]: cannot read /var/run/adblock-fast/dnsmasq.servers: No such file or directory
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
16:16:03 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
16:16:03 2025 authpriv.info dropbear[1604]: Not backgrounding
16:16:03 2025 user.notice : Added device handler type: vrf
16:16:03 2025 user.notice : Added device handler type: bonding
16:16:03 2025 user.notice : Added device handler type: 8021ad
16:16:03 2025 user.notice : Added device handler type: 8021q
16:16:03 2025 user.notice : Added device handler type: macvlan
16:16:03 2025 user.notice : Added device handler type: veth
16:16:03 2025 user.notice : Added device handler type: bridge
16:16:03 2025 user.notice : Added device handler type: Network device
16:16:03 2025 user.notice : Added device handler type: tunnel
16:16:03 2025 daemon.notice netifd: Interface 'lan' is enabled
16:16:03 2025 daemon.notice netifd: Interface 'lan' is setting up now
16:16:03 2025 daemon.notice netifd: Interface 'lan' is now up
16:16:03 2025 kern.info kernel: [    8.543174] br-lan: port 1(eth0) entered blocking state
16:16:03 2025 kern.info kernel: [    8.543448] br-lan: port 1(eth0) entered disabled state
16:16:03 2025 kern.info kernel: [    8.543633] hv_netvsc d5727c0b-eaa2-44af-a430-e7ecb4bf37c4 eth0: entered allmulticast mode
16:16:03 2025 kern.info kernel: [    8.543888] hv_netvsc d5727c0b-eaa2-44af-a430-e7ecb4bf37c4 eth0: entered promiscuous mode
16:16:03 2025 kern.info kernel: [    8.544636] br-lan: port 1(eth0) entered blocking state
16:16:03 2025 kern.info kernel: [    8.544853] br-lan: port 1(eth0) entered forwarding state
16:16:03 2025 daemon.notice netifd: bridge 'br-lan' link is up
16:16:03 2025 daemon.notice netifd: Interface 'lan' has link connectivity
16:16:03 2025 daemon.notice netifd: Interface 'loopback' is enabled
16:16:03 2025 daemon.notice netifd: Interface 'loopback' is setting up now
16:16:03 2025 daemon.notice netifd: Interface 'loopback' is now up
16:16:03 2025 daemon.notice netifd: Interface 'wan' is enabled
16:16:03 2025 daemon.notice netifd: Interface 'wan6' is enabled
16:16:03 2025 daemon.notice netifd: bridge 'br-lan' link is down
16:16:03 2025 daemon.notice netifd: Interface 'lan' has link connectivity loss
16:16:03 2025 daemon.notice netifd: Network device 'eth0' link is up
16:16:03 2025 daemon.notice netifd: bridge 'br-lan' link is up
16:16:03 2025 daemon.notice netifd: Interface 'lan' has link connectivity
16:16:03 2025 daemon.notice netifd: Network device 'lo' link is up
16:16:03 2025 daemon.notice netifd: Interface 'loopback' has link connectivity
16:16:03 2025 daemon.notice netifd: Network device 'eth1' link is up
16:16:03 2025 daemon.notice netifd: Interface 'wan' has link connectivity
16:16:03 2025 daemon.notice netifd: Interface 'wan' is setting up now
16:16:03 2025 daemon.notice netifd: Interface 'wan6' has link connectivity
16:16:03 2025 daemon.notice netifd: Interface 'wan6' is setting up now
16:16:03 2025 daemon.notice netifd: wan (2032): udhcpc: started, v1.36.1
16:16:03 2025 daemon.err odhcp6c[2051]: Failed to send RS (Network unreachable)
16:16:03 2025 user.notice firewall: Reloading firewall due to ifup of lan (br-lan)
16:16:03 2025 user.notice ucitrack: Setting up /etc/config/luci-splash reload dependency on /etc/config/firewall
16:16:03 2025 user.notice ucitrack: Setting up /etc/config/qos reload dependency on /etc/config/firewall
16:16:03 2025 user.notice ucitrack: Setting up /etc/config/miniupnpd reload dependency on /etc/config/firewall
16:16:03 2025 user.notice ucitrack: Setting up /etc/config/odhcpd reload dependency on /etc/config/dhcp
16:16:03 2025 daemon.notice netifd: wan (2032): udhcpc: broadcasting discover
16:16:03 2025 user.notice ucitrack: Setting up /etc/config/dhcp reload dependency on /etc/config/network
16:16:03 2025 user.notice ucitrack: Setting up /etc/config/network reload dependency on /etc/config/wireless
16:16:03 2025 user.notice ucitrack: Setting up non-init /etc/config/fstab reload handler: /sbin/block mount
16:16:03 2025 user.notice ucitrack: Setting up /etc/config/system reload trigger for non-procd /etc/init.d/led
16:16:03 2025 user.notice ucitrack: Setting up /etc/config/luci_statistics reload dependency on /etc/config/system
16:16:03 2025 user.notice ucitrack: Setting up /etc/config/dhcp reload dependency on /etc/config/system
16:16:03 2025 user.notice adblock-fast [2231]: Waiting to discover WAN Interface...
16:16:03 2025 daemon.err odhcp6c[2051]: Failed to send SOLICIT message to ff02::1:2 (Network unreachable)
16:16:04 2025 daemon.notice netifd: wan (2032): udhcpc: broadcasting select for 10.87.21.112, server 10.17.122.10
16:16:04 2025 user.notice adblock-fast [2231]: Waiting to discover WAN Interface...
16:16:04 2025 daemon.notice netifd: wan (2032): udhcpc: lease of 10.87.21.112 obtained from 10.17.122.10, lease time 1800
16:16:04 2025 daemon.notice netifd: Interface 'wan' is now up
16:16:04 2025 daemon.info dnsmasq[1]: reading /tmp/resolv.conf.d/resolv.conf.auto
16:16:04 2025 daemon.info dnsmasq[1]: using nameserver 10.17.122.10#53
16:16:04 2025 daemon.info dnsmasq[1]: using nameserver 10.17.121.30#53
16:16:04 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
16:16:04 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
16:16:04 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
16:16:04 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
16:16:04 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
16:16:04 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
16:16:04 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
16:16:04 2025 user.notice firewall: Reloading firewall due to ifup of wan (eth1)
16:16:04 2025 daemon.err odhcp6c[2051]: Failed to send SOLICIT message to ff02::1:2 (Address not available)
16:16:05 2025 user.notice adblock-fast [2231]: WAN interface found: 'wan'.
16:16:05 2025 user.notice adblock-fast [2231]: WAN gateway found: '10.87.0.1.'
16:16:05 2025 user.notice adblock-fast [2231]: Setting trigger (on_boot) [βœ“]
16:16:05 2025 daemon.info procd: - init complete -
16:16:11 2025 daemon.info dnsmasq[1]: exiting on receipt of SIGTERM
16:16:11 2025 daemon.info dnsmasq[1]: started, version 2.90 cachesize 1000
16:16:11 2025 daemon.info dnsmasq[1]: DNS service limited to local subnets
16:16:11 2025 daemon.info dnsmasq[1]: compile time options: IPv6 GNU-getopt no-DBus UBus no-i18n no-IDN DHCP no-DHCPv6 no-Lua TFTP no-conntrack no-ipset no-nftset no-auth no-cryptohash no-DNSSEC no-ID loop-detect inotify dumpfile
16:16:11 2025 daemon.info dnsmasq[1]: UBus support enabled: connected to system bus
16:16:11 2025 daemon.info dnsmasq-dhcp[1]: DHCP, IP range 192.168.1.100 -- 192.168.1.249, lease time 12h
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
16:16:11 2025 daemon.info dnsmasq[1]: reading /tmp/resolv.conf.d/resolv.conf.auto
16:16:11 2025 daemon.info dnsmasq[1]: using nameserver 10.17.122.10#53
16:16:11 2025 daemon.info dnsmasq[1]: using nameserver 10.17.121.30#53
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
16:16:11 2025 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
16:16:11 2025 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 4 names
16:16:11 2025 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c.2882 - 4 names
16:16:11 2025 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
16:16:11 2025 daemon.err dnsmasq[1]: cannot read /var/run/adblock-fast/dnsmasq.servers: No such file or directory
16:16:11 2025 daemon.info dnsmasq[1]: using nameserver 10.17.122.10#53
16:16:11 2025 daemon.info dnsmasq[1]: using nameserver 10.17.121.30#53
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
16:16:11 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
16:16:11 2025 daemon.info dnsmasq[1]: exiting on receipt of SIGTERM
16:16:12 2025 daemon.info dnsmasq[1]: started, version 2.90 cachesize 1000
16:16:12 2025 daemon.info dnsmasq[1]: DNS service limited to local subnets
16:16:12 2025 daemon.info dnsmasq[1]: compile time options: IPv6 GNU-getopt no-DBus UBus no-i18n no-IDN DHCP no-DHCPv6 no-Lua TFTP no-conntrack no-ipset no-nftset no-auth no-cryptohash no-DNSSEC no-ID loop-detect inotify dumpfile
16:16:12 2025 daemon.info dnsmasq[1]: UBus support enabled: connected to system bus
16:16:12 2025 daemon.info dnsmasq-dhcp[1]: DHCP, IP range 192.168.1.100 -- 192.168.1.249, lease time 12h
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
16:16:12 2025 daemon.info dnsmasq[1]: reading /tmp/resolv.conf.d/resolv.conf.auto
16:16:12 2025 daemon.info dnsmasq[1]: using nameserver 10.17.122.10#53
16:16:12 2025 daemon.info dnsmasq[1]: using nameserver 10.17.121.30#53
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
16:16:12 2025 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
16:16:12 2025 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 4 names
16:16:12 2025 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
16:16:12 2025 daemon.err dnsmasq[1]: cannot read /var/run/adblock-fast/dnsmasq.servers: No such file or directory
16:16:12 2025 daemon.info dnsmasq[1]: using nameserver 10.17.122.10#53
16:16:12 2025 daemon.info dnsmasq[1]: using nameserver 10.17.121.30#53
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
16:16:12 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
16:16:15 2025 daemon.info dnsmasq-dhcp[1]: DHCPREQUEST(br-lan) 192.168.1.193 00:15:5d:60:ff:04
16:16:15 2025 daemon.info dnsmasq-dhcp[1]: DHCPACK(br-lan) 192.168.1.193 00:15:5d:60:ff:04 sparky01
16:16:17 2025 daemon.warn odhcpd[1829]: No default route present, overriding ra_lifetime to 0!
16:16:17 2025 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
16:16:17 2025 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 4 names
16:16:17 2025 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 2 names
16:16:17 2025 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
16:16:17 2025 daemon.err dnsmasq[1]: cannot read /var/run/adblock-fast/dnsmasq.servers: No such file or directory
16:16:17 2025 daemon.info dnsmasq[1]: using nameserver 10.17.122.10#53
16:16:17 2025 daemon.info dnsmasq[1]: using nameserver 10.17.121.30#53
16:16:17 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
16:16:17 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
16:16:17 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
16:16:17 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
16:16:17 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
16:16:17 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
16:16:17 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
16:16:17 2025 auth.info login[3134]: root login on 'tty1'
16:16:25 2025 daemon.warn odhcpd[1829]: No default route present, overriding ra_lifetime to 0!
16:16:32 2025 daemon.err uhttpd[1959]: [info] luci: accepted login on / for root from 192.168.1.193
16:16:39 2025 user.notice adblock-fast [3358]: Starting adblock-fast 1.1.3-r13...
16:16:41 2025 user.notice adblock-fast [3358]: [DL] Blocked List: StevenBlack - Unified hosts (hosts) [βœ“]
16:16:41 2025 user.notice adblock-fast [3358]: Sorting combined list [βœ“]
16:16:41 2025 daemon.warn odhcpd[1829]: No default route present, overriding ra_lifetime to 0!
16:16:46 2025 user.notice adblock-fast [3358]: Optimizing combined list [βœ“]
16:16:46 2025 user.notice adblock-fast [3358]: Removing allowed domains from combined list [βœ“]
16:16:46 2025 user.notice adblock-fast [3358]: Formatting combined list file [βœ“]
16:16:46 2025 user.notice adblock-fast [3358]: Allowing domains [βœ“]
16:16:46 2025 user.notice adblock-fast [3358]: Creating dnsmasq servers file [βœ“]
16:16:46 2025 user.notice adblock-fast [3358]: Removing temporary files [βœ“]
16:16:46 2025 daemon.info dnsmasq[1]: exiting on receipt of SIGTERM
16:16:48 2025 kern.info kernel: [   49.034494] hv_balloon: Max. dynamic memory size: 1024 MB
16:16:49 2025 user.notice adblock-fast [3358]: Restarting dnsmasq [βœ“]
16:16:49 2025 daemon.info dnsmasq[1]: started, version 2.90 cachesize 1000
16:16:49 2025 daemon.info dnsmasq[1]: DNS service limited to local subnets
16:16:49 2025 daemon.info dnsmasq[1]: compile time options: IPv6 GNU-getopt no-DBus UBus no-i18n no-IDN DHCP no-DHCPv6 no-Lua TFTP no-conntrack no-ipset no-nftset no-auth no-cryptohash no-DNSSEC no-ID loop-detect inotify dumpfile
16:16:49 2025 daemon.info dnsmasq[1]: UBus support enabled: connected to system bus
16:16:49 2025 daemon.info dnsmasq-dhcp[1]: DHCP, IP range 192.168.1.100 -- 192.168.1.249, lease time 12h
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
16:16:49 2025 daemon.info dnsmasq[1]: reading /tmp/resolv.conf.d/resolv.conf.auto
16:16:49 2025 daemon.info dnsmasq[1]: using nameserver 10.17.122.10#53
16:16:49 2025 daemon.info dnsmasq[1]: using nameserver 10.17.121.30#53
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for test
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for onion
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for localhost
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for local
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for invalid
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for bind
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for lan
16:16:49 2025 daemon.info dnsmasq[1]: read /etc/hosts - 12 names
16:16:49 2025 daemon.info dnsmasq[1]: read /tmp/hosts/dhcp.cfg01411c - 4 names
16:16:49 2025 daemon.info dnsmasq[1]: read /tmp/hosts/odhcpd - 2 names
16:16:49 2025 daemon.info dnsmasq-dhcp[1]: read /etc/ethers - 0 addresses
16:16:49 2025 daemon.info dnsmasq[1]: using nameserver 10.17.122.10#53
16:16:49 2025 daemon.info dnsmasq[1]: using nameserver 10.17.121.30#53
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zzz.onion.pet
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zzmaciej.top
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zzgylc.com
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zzgnyc.com
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zzaalewsos6esyvatpsh13i0pr3f87.s3.eu-south-2.amazonaws.com
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zz3r0.com
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zyzulay.pro
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zyzeqyi2.pro
16:16:49 2025 daemon.info dnsmasq[1]: using standard nameservers for cdn.jsdelivr.net
16:16:49 2025 daemon.info dnsmasq[1]: using 116753 more local addresses
16:16:49 2025 user.notice adblock-fast [3358]: adblock-fast 1.1.3-r13 is blocking 116754 domains (with dnsmasq.servers) [βœ“]
16:16:49 2025 user.notice adblock-fast [3358]: Setting trigger for wan [βœ“]
16:16:49 2025 user.notice adblock-fast [3358]:
16:16:49 2025 daemon.info dnsmasq[1]: using nameserver 10.17.122.10#53
16:16:49 2025 daemon.info dnsmasq[1]: using nameserver 10.17.121.30#53
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zzz.onion.pet
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zzmaciej.top
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zzgylc.com
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zzgnyc.com
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zzaalewsos6esyvatpsh13i0pr3f87.s3.eu-south-2.amazonaws.com
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zz3r0.com
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zyzulay.pro
16:16:49 2025 daemon.info dnsmasq[1]: using only locally-known addresses for zyzeqyi2.pro
16:16:49 2025 daemon.info dnsmasq[1]: using standard nameservers for cdn.jsdelivr.net
16:16:49 2025 daemon.info dnsmasq[1]: using 116753 more local addresses

@bedouin67 what's your network like?

Any other services from non-included packages fail to start?

1.1.4-r4 (soon to be merged to OpenWrt repositories) improves the internal version checking and has a lot of under-the-hood changes to how the warnings/errors are stored and processed by principal package and luci app.

I'd appreciate some testing before I merge it.

@stangri the config/log is from a completely vanilla openwrt + adblock-fast installation, no extra services. eth0/br-lan for lan and eth1 for wan, running in Hyper-V with "private" (VM-only) eth0 and "external" (uplink) eth1. So it's plain "out-of-the-box" behaviour, I'd say.

That's weird. I use the same boot-up logic in all my packages and there have been weird reports with some of them occasionally not starting, I'll be looking into it in a foreseeable future.

Not sure if this is related, but I also notice that dnsmasq tries to start way before the interfaces (both wan and lan) are up, only to run into issues binding to them and dying/having to be restarted by some watchdog. In my fully productive setup this leads to a lot of sigsegv/crashing before its six dnsmasq instances are finally up all right. I'm no expert in openwrt startup logic, so can't be of a lot of help and it's beyond the scope of this thread, I guess.

I just merged the 1.1.4-r4 into snapshots and I'll merge it into 24.10 some time over the next 24-48 hours. When you update to that version (or you can update now from my repo), try commenting out/deleting line https://github.com/stangri/adblock-fast/blob/d3ab5841e9dc26358e1207f4e0cf6c494428e337/files/etc/init.d/adblock-fast#L2182 from /etc/init.d/adblock-fast and let me know if that helps.

The issue is that if you have dnsmasq problems, the adblock-fast may not be able to download anything/get past the heartbeat probe. If you set it to store compressed cache of final block-list on device, it may start successfully tho.