DNSCrypt Proxy GUI 1.0.4
A major robustness release focused on protecting your existing network configuration.
Highlights
- Your DNS settings are now safe. Before any change, the GUI snapshots your current system DNS configuration and restores it exactly on deactivation or exit - manually configured servers are no longer replaced by DHCP defaults. A new Restore DNS button is always available as a safety hatch.
- Crash-safe by design: if the GUI is force-killed, the proxy child process is cleaned up automatically (Windows Job Object / POSIX watchdog) instead of leaving your DNS pointed at a dead port.
- Visible errors: a rotating log file now records what happens (
%LOCALAPPDATA%\DNSCryptClientGUI\logs,~/Library/Logs/DNSCryptClientGUI,~/.cache/dnscryptclientgui/logs), and proxy start failures show their actual error output. - Honest session persistence: explicit Deactivate stays deactivated across restarts; settings persist even when the resolver list cannot be fetched offline.
- Correct configs: relay mappings that reference relays which no longer exist upstream are dropped instead of producing configs dnscrypt-proxy rejects; stale-relay and parser behaviour covered by a new automated test suite.
- Faster refreshes: server/relay lists use conditional downloads - unchanged lists cost almost nothing.
- Better UX on modern systems: crisp text on high-DPI Windows displays, dark-theme-friendly table rows, window size/position remembered, modal relay selector, single-instance guard, cache fields validated (and correctly labelled as entries).
For contributors
- New CI pipeline: lint + unit tests (Python 3.11/3.12) + headless GUI smoke test on every PR/push.
- Release archives now ship with
SHA256SUMS.txt; Linux builds target glibc 2.35 for wider distro compatibility.
Notes
- macOS builds remain unsigned - right-click → Open on first launch (or allow in Privacy & Security).
- Place the official
dnscrypt-proxyexecutable next to the GUI, or set its path under Configuration → System Paths.
What's Changed
New Contributors
Full Changelog: v1.0.3...v1.0.4