v1.4.0 - Multi‑Upstream Failover
🔀 Multi‑Upstream Failover & Config Enhancements
This release adds support for multiple upstream DNS servers with automatic failover.
You can now define a list of upstreams (each with its own protocol, port, and hostname) and the resolver will try them in order until one succeeds – no more relying on a single provider.
✨ Added
- Multi‑upstream failover – new
[upstreams]config section allows defining multiple upstream servers with per‑server protocol/port/hostname. The resolver iterates through them until a response is received; if all fail, the last error is returned. Fully hot‑reloadable. [upstreams]configuration template – documented example (commented out) inconfig/phantomd.confshows how to configure Cloudflare, Google, and Quad9 as fallbacks.- New tests – 4 additional tests cover multi‑upstream success, failover to second upstream, total failure, and cache‑hit skipping of upstreams. Total suite: 83 tests.
🛠️ Changed
- Internal forwarding methods now accept an optional upstream dictionary (backward‑compatible).
- Single‑upstream configuration (
dns_server/dns_protocol) continues to work exactly as before.
📦 Upgrading
- Update:
./installer.sh --updatethensystemctl restart phantomd - Fresh install:
./installer.sh
Full Changelog: v1.3.0...v1.4.0