Adblock doesn't block ads

Good evening,
I installed the "adblock", "luci-app-adblock" and "tcpdump-mini" packages (for the DNS Report) and from the OpenWRT configuration page it seems to work correctly, as its status is "enabled" and shows 191,022 sites blocked. Despite this, browsing with my devices, I continue to view advertisements; nothing changes even if I restart the modem, clear the browser cache or restart individual devices. I have also used several websites that check adblocks are working correctly (https://d3ward.github.io/toolz/adblock.html) and I score very low (11% out of 100%). Do you know how I can solve? Thanks in advance. PS: if you have any questions I remain available (I am not very experienced with OpenWRT and I may not have explained myself clearly).

Open up a SSH session and enter: /etc/init.d/adblock status.

Copy the output and post here using </> above

DNS based adblocking can never be absolute, it reduces the number of ads and squashes some of the worst offenders, but it can't work as thoroughly as a browser plugin (which does see the actual decrypted content, rather than just well-known ad servers).

1 Like

Your point is well taken.

DNS based, browser plugins, custom blacklists . . . there is no panacea against this scourge so you do what you can.

1 Like

Please, give a URL referencing a non-blocked ad.
Be advised, that ads, which are "rooted" within a legitimate site, can not be blocked using Adblocks DNS-based blocking. I.e. https://cnn.com/anyadvert
can not be blocked. A browser-based adblocker, which sees the complete, decrypted page, is able to block this ad, though.

1 Like

What devices?
Apps can have hard-coded DNS settings, forcing you to capture and redirect the DNS calls in your firewall.

Chrome and Firefox have DoH enabled, and Android have DoT enabled on OS level by default.
You need to turn those off, or install Banip.

I think the only app that shows ads here at home (I don't use a lot of them though, I use a browser) is actually youtube. Pretty much every thing else gets blocked.

I use a pihole, but it's the same as adblock, blocking on DNS level. My block list's however
1.4 milion entries.

1 Like
::: adblock runtime information
  + adblock_status  : enabled
  + adblock_version : 4.1.3
  + blocked_domains : 191022
  + active_sources  : adaway, adguard, adguard_tracking, android_tracking, andryou, anti_ad, anudeep, bitcoin, disconnec
                      t, firetv_tracking, games_tracking, gaming, oisd_basic, openphish, phishing_army, reg_it, smarttv_
                      tracking, spam404, stalkerware, stopforumspam, wally3k, winhelp, winspy, yoyo
  + dns_backend     : dnsmasq (-), /tmp/dnsmasq.d
  + run_utils       : download: /bin/uclient-fetch, sort: /usr/libexec/sort-coreutils, awk: /bin/busybox
  + run_ifaces      : trigger: lan, report: br-lan
  + run_directories : base: /tmp, backup: /etc/adblock, report: /tmp/adblock-Report, jail: /tmp
  + run_flags       : backup: ✔, flush: ✘, force: ✘, search: ✘, report: ✔, mail: ✘, jail: ✘
  + last_run        : reload, 4m 6s, 123/39/20, 20.01.2022 21:41:01
  + system          : TP-Link Archer C6 v2 (EU/RU/JP), OpenWrt 21.02.1 r16325-88151b8303

Yes, I see. Thanks so much for the clarification.

My PC (Windows 11) and my iPhone 11

Well, I use ublock origin on top of pihole on my Windows hosts, but even if I disable it, I'd (probably) not see any ads, except for Youtube, those can only be caught by analyzing the whole URL.

When I think of it, some of the embedded ads on FB can be hard to catch, even for a browser addon, I had to google, and manually add some new filters to ublock.

1 Like

Pretty normal. Can you see NX responses in DNS Report?

DNS Report > Refresh > enter NX in filter criteria > Refresh

It will list any blocked domains by Adblock

1 Like

Ah, ok. Thank you so much.

Yes, I can see 18 domains blocked by adblock

Adblock is working then. Check a few of the NX domains against your blocklist in the DNS Report tab - Blocklist Query.

When you run a DNS Report it indicates how many DNS request have been made and how many blocked. For reference, I just use a basic blocklist with ~54000 domains, and of all requests made, I typically see ~33% requests blocked by Adblock.

Add the check on Force Local DNS. save/apply.

Stop and restart dnsmasq: /etc/init.d/dnsmasq stop
/etc/init.d/dnsmasq start
logread - e nameserve

You should see an entry
using ??????? more nameservers where ?????? should be a numeric value that approximates your blocklist count.

Mine says "enabled" and it is not blocking anything. The status needs to say "running / 4.1.5" which I am never getting to, and the logs are worthless in showing why it is not starting. I have cleaned it out completely and reinstalled everything from scratch, but the status will never go to running.

Maybe my running version of the OpenWRT is the reason?

OpenWrt 22.03.2 r19803-9a599fee93 / LuCI openwrt-22.03 branch git-23.069.50944-cd8bea9

That is half of whats required.
One line down, how many domains have it actually loaded?

Have you pushed the reload button?

I had it over 93,000 domains before, but I cleared it out to all defaults and it went to just over 50,000 domains. Yes I have reloaded it, many times! The thing is, it used to work and showed running / 4.1.5 and was actually blocking ads. I can't remember what fully happened but I was in the process of reloading it and I must have killed it out in the process of reloading it. Ever since then, even with a full removal, including the config files, allowlist, etc. it will never go back to running. That is maybe why I am thinking that it might be my version of OpenWRT, or it might need to be reinstalled. But, the simple-adblock works just fine and blocks all the ads with ease.