ODoH relay (RFC 9230 §5) — the forward-without-reading half of the
protocol. Runs numa relay; skips all resolver initialisation (no port
53, no cache, no recursion, no dashboard). The relay never reads the
HPKE-sealed payload and keeps no per-request logs — only aggregate
counters.
Minimal SVCB/HTTPS (RFC 9460) RDATA parser — just enough to strip
the ipv6hint SvcParam. Used by the filter_aaaa feature so
HTTPS-record-aware clients (Chrome ≥103, Firefox, Safari) don’t
receive v6 address hints on IPv4-only networks.
Shared config directory for persistent data (services.json, etc).
Unix users: ~/.config/numa/
Linux root daemon: /var/lib/numa (FHS) — falls back to /usr/local/var/numa
if a pre-v0.10.1 install already lives there.
macOS root daemon: /usr/local/var/numa (Homebrew prefix)
Windows: %PROGRAMDATA%\numa (same as data_dir — no per-user config on Windows)
Default system-wide data directory for TLS certs. Overridable via
[server] data_dir = "..." in numa.toml — this function only provides
the fallback when the config doesn’t set it.
Linux: /var/lib/numa (FHS) — falls back to /usr/local/var/numa if a
pre-v0.10.1 install already has data there.
macOS: /usr/local/var/numa (Homebrew prefix)
Windows: %PROGRAMDATA%\numa
Detect the machine hostname via the hostname command. Returns the
full hostname (e.g., macbook-pro.local), or "numa" if the command
fails. Call sites that need the short form (e.g., mDNS instance
names) should truncate at the first ..
Build version string. On tagged releases: 0.13.1. On commits ahead
of a tag: 0.13.1+a87f907. With uncommitted changes: 0.13.1+a87f907-dirty.
Falls back to CARGO_PKG_VERSION when built outside a git repo (e.g.
from a source tarball).