Indeed, I think the point is straight forward, there are part of dnsmasq
where we do want to comply with RFC, etc, others that are locally
significant only and can bypass certain check, adblock being one of those.
There are a number of lists I can suggest, see this link we maintain:
https://wiki.freshtomato.org/doku.php/adblock_dns_filtering
However, unless you have de-duplication run internally at code level,
you can simply pick up any list and append it (>>) multiple times to a
temp file. That's what I did in my test to then echo in a bogus domain
at the bottom of the file to satisfy the grep test. This gives you great
control on the file size and number of records.
I'll have to see what it takes to suck the patch in, but I can ask help
from our community. So yes it is of interest for sure!
In my mind I see the margin for a new directive, e.g named block-file or
something where based on the directive syntax each domain in that file
will return the very same result e.g.
block-file=dnsmasq.adblockme/#
Returning NX for its content and BTW this special file would only need
domains defined not the full address/local syntax
Likewise
block-file=dnsmasq.adblockme/
would return 0.0.0.0
Pretty much the same syntax as we currently have for individual domains.
Somehow, at code level I do see how this could be treated as an upstream
server with "special file operation" and queried with the highest
priority in a hard-coded strict-order leaving unresolved domains to the
standard DNS operation (strict,no-fail,round-robin)
Thanks
On 20/11/2024 15:06, Leonid Evdokimov wrote:
On Tue, Nov 19, 2024 at 8:05 PM Ercolino de Spiacico
<bellocar...@hotmail.com> wrote:
If given the possibility, I would be very happy to map a file in RAM knowing
that
this is handled differently from the "standard" conf-file.
I agree with this point and I'm developing libddt (dense domain table)
that is basically a mmap()'able tire representing a list of domains.
The data structure resembles the one libpsl uses to store
publicsuffix.org database.
Preliminary results for a test-case of 500k domains were ~2 MiB of RAM
usage and sub-10ms resolution latency.
However, I got no replies for my call-for-test-cases[1] a few months
ago, so I moved my focus to other sub-projects of that project for a
while.
I would be grateful if you can share your block-lists with me, so I
can test my code with more cases.
Also, please tell me, if you have any interest in testing the
patch-set. We can't know if it'll be merged to the main dnsmasq repo,
but extra testing and feedback kinda increases chances of that
happening :-)
[1] https://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2024q3/017627.html
_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss