The new blocking variant uses an unspecified IP address for blocking ("::" in IPv6 and "0.0.0.0" in IPv4). It must never be assigned to any node and indicates the absence of an address. If you dig for such address, you see this:
; <<>> DiG 9.11.5-P4-5.1+b1-Debian <<>> doubleclick.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 134
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;doubleclick.net. IN A
;; ANSWER SECTION:
doubleclick.net. 0 IN A 0.0.0.0
Effectively the client does not even try to establish a connection for the requested website, so no need for pixel server etc. Both blocking variants are covered by the report engine. Selective whitelisting (you whitelist a subdomain, even if the top level domain is blocked) does not work with the 'null' variant.
No worries, you could simply switch between these dns varaints via LuCI.
I don't think you'll notice it when you surf. But I'm using only quite small block lists and my main router uses unbound and not dnsmasq. However the numbers of @Mushoz prove that the dnsmasq answers via "addn-hosts" are more performant ... just try it on your own.
Yep, just add for this additional dnsmasq instance something like ...
list addnhosts '/tmp/<LISTNAME>'
but there is no need to switch both instances, you can mix both variants (nxdomain/null).
Yep, that's really funny ... here's the first changelog from my private git ...
BTW, just pushed adblock 3.8.1 to master, you should start with that version cause I've fixed some 'null' related things with this update (see first post).
Thanks!