Added
- Caddy source: Extract hostnames from Docker containers that use
caddy-docker-proxy
style labels (caddy=app.example.comor indexedcaddy_0,caddy_1).
Enable withDNSWEAVER_SOURCES=caddy(combinable with other sources).
Caddyfile discovery is not included — only Docker labels are parsed.
Closes #175. - nginx-proxy source: Extract hostnames from Docker containers that
declare aVIRTUAL_HOSTin the jwilder/nginx-proxy convention.
Recognizes both the literalVIRTUAL_HOSTlabel and the canonical
com.nginx-proxy.virtual_hostlabel; comma-separated hostnames are
supported. Env-var extraction (upstream jwilder reads from container
environment) is not yet supported and is tracked separately.
Enable withDNSWEAVER_SOURCES=nginx-proxy.
Closes #174.
Fixed
- Proxmox: filter non-routable IPs from guest-agent and LXC responses.
The guest-agent and LXCnet0parsers were returning loopback, link-local,
and other non-routable addresses alongside real LAN IPs, producing
unusable A records. All RFC 5735 / RFC 4291 non-routable ranges are now
filtered out at the source (loopback, link-local, multicast, broadcast,
unspecified, documentation, benchmarking, IPv6 ULA non-fc00::/7 edges,
etc.). - Proxmox: allow CGNAT range (100.64.0.0/10) for Tailscale IPs.
The non-routable filter was too aggressive: it dropped 100.64.0.0/10
addresses, which Tailscale uses for its mesh (100.x.y.z). CGNAT is
now treated as routable so Proxmox VMs/LXCs on a Tailscale network
resolve correctly.
Changed
- Documentation accuracy pass: Removed stale references to AdGuard
as a primary provider example, deleted unused Proxmox role-creation
copy that referenced internal hostnames, corrected provider capability
tables to reflect actual code (Pi-hole and dnsmasq are A/CNAME only;
Cloudflare adds SRV), simplified the architecture mermaid, and removed
inaccurate claims of Caddy/nginx-proxy support that have now been
properly implemented in this release.
Docker Images
docker pull ghcr.io/maxfield-allison/dnsweaver:v1.3.0
docker pull docker.io/maxamill/dnsweaver:v1.3.0