Hi all,

I'm currently working on optimising latency of dnsmasq lookup_domain()
for a case having a list of ≈ 400'000 domains while running on a
low-end router. So far, I've successfully got tenfold speedup on my
use-case, but I'd like to benchmark a variety of cases.

My case is to give special treatment to domains contained in the
_official_ Russian internet blocklist, e.g. the one from
https://github.com/zapret-info/z-i or
https://github.com/fz139/vigruzki/

I'd appreciate pointers to other real-word cases of dnsmasq setups
having 25k+ domains in the configuration file to benchmark as I don't
want my benchmarks to be purely synthetic. I tried to dig into the
word of Pi-hole blocklists, but I've got a bit lost, as it's unclear
to me what domain lists are maintained reasonably. I see that not
every one of them is.

I don't need exact domain labels for benchmarking purposes, so if
someone uses a big list, but is unwilling to share it as-is due to
privacy, licensing or any other reason, I'd still be very glad to have
a scrambled version of it. The scrambling should preserve label
lengths and equality, but should kill actual label values. Following
python code might be used as an example of an alike transformation:

#!/usr/bin/env python3
import os, sys, hmac, hashlib, base64
key = os.urandom(256 // 8)
for line in sys.stdin:
    print(b'.'.join([
        base64.b32hexencode(hmac.digest(key, label,
hashlib.sha512))[:len(label)].lower()
        for label in line.strip().encode('ascii').split(b'.')]).decode('ascii'))

Thanks in advance :-)

-- 
WBRBW, Leonid Evdokimov, https://darkk.net.ru tel:+79816800702
PGP: 6691 DE6B 4CCD C1C1 76A0  0D4A E1F2 A980 7F50 FAB2

_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss

Reply via email to