github center2055/DNS-Hop v2.1
DNS Hop v2.1

latest releases: v2.4, v2.3.1, v2.3...
one month ago

DNS Hop v2.1

Polish release on top of v2.0 — a long list of bug fixes, real cross-platform title-bar handling and several missing v1 features brought back.

Highlights

  • Custom DNS endpoints are back. Add UDP/TCP, DoH or DoT entries through a proper FluentAvalonia ContentDialog, persisted to settings. Each resolver row now has an include/exclude checkbox that the benchmark respects, plus a "Remove" button on custom rows.
  • Sort + filter bars on Resolvers and Results. Sort by Region / Provider / Endpoint / Protocol (Resolvers) or Best / Average / Cached / Uncached / DotCom / Provider / Status (Results), plus No-logs / My-region / Included / Hide-dead / Hide-redirecting / DNSSEC-only / Hide-poisoned chips.
  • Apply a profile now actually applies BOTH IPv4 and IPv6 to the active adapter in one elevated call. No more "applied Cloudflare but the system still uses the router via IPv6" leaks.
  • Leak test is now honest and provider-agnostic. Compares the IPs you applied via DNS Hop (from apply history) against the resolver nslookup is currently using, with /24 IPv4 and /48 IPv6 anycast tolerance — no more "always says leak detected" when you applied something other than Cloudflare.
  • Active resolver card no longer says "UnKnown". Falls back to a metadata lookup by IP, then to the bare address.

Benchmark

  • New sliding-window ETA — converges within a couple of progress callbacks instead of starting optimistic at 2 min and growing to 20 min as the dead-server tail hits.
  • Elapsed counter no longer freezes when you navigate away from the page and come back.
  • Concurrency clamp lowered from 64 to 32. The previous ceiling could exhaust native socket/TLS handles and hard-kill the process.
  • Defensive per-server guard so one bad endpoint can't take down the whole run — the offender is logged and surfaced as a Dead result, the other 239 servers keep going.
  • Status line now shows Testing X.X.X.X (847/3120) again, like v1.
  • Live / Resolvers X / Y counter on the progress card.

UI

  • Title bar finally renders correctly on Windows 10 too. Extended client area means the window's content paints all the way to the top edge instead of relying on Win11-only DWM attributes that Win10 ignores. Window drag and double-click-maximize wired back through a bubbled PointerPressedEvent handler.
  • ContentDialog for the custom-DNS modal sits on the window overlay layer — proper Win11-style scrim over the full window, no more bleed-through from the sidebar / title bar.
  • Process-wide SetPreferredAppMode call at startup so any future window in the process (FluentAvalonia ContentDialog overlays, etc.) paints in the right theme from frame 1.
  • Theme switching is instant on the active window via DWMWA_CAPTION_COLOR + SWP_FRAMECHANGED.
  • Mica only kicks in when the App theme is set to "System"; Light / Dark use solid window backgrounds so the explicit choice can't be overridden by a system-painted backdrop.
  • Settings page: dropped the duplicated Benchmark group (those settings already live on the Benchmark page) and aligned every right-side action to a uniform 220 px width.
  • Results page: dropped the "Copy chart as PNG" action.
  • Scrollbar sits flush against the window's right edge instead of 40 px in.

Repo / build

  • scripts/ folder for the publish + packaging scripts.
  • assets/ folder for the logo PNG/JPG and the bundled public-DNS-resolver INI.
  • Linux AppImage workflow now also runs on v* tags, renames the artifact with the tag suffix and attaches it to the matching GitHub Release automatically.
  • Smoke-tested on Debian 12 / Fedora 41 / Arch via the existing CI matrix.

Assets

  • DNS-Hop-Setup-v2.1.exe: Windows installer
  • DNS-Hop-Portable-v2.1.zip: portable Windows build
  • DNS-Hop-AppImage-v2.1-x86_64.AppImage: Linux AppImage

Don't miss a new DNS-Hop release

NewReleases is sending notifications on new releases.