Projet

DnsClientX

DnsClientX is an async C# library for DNS over UDP, TCP, HTTPS (DoH), and TLS (DoT). It also has a PowerShell module that can be used to query DNS records. It provides a simple way to query DNS records using multiple DNS providers. It supports multiple DNS record types and parallel queries.

Étoiles27
Forks3
Tickets ouverts0
Téléchargements totaux87025
Versionv2.3.1
Langage: C# Mise à jour: 2026-11-06

Installation

PowerShell Gallery

Install-Module DnsClientX -Scope CurrentUser

NuGet

dotnet add package DnsClientX

Récupération du code

git clone https://github.com/EvotecIT/DnsClientX.git

Téléchargements

Journal des modifications

DnsClientX 2.3.1

Latest Stable

DnsClientX 2.3.1

The PowerShell Gallery package preserves Authenticode signatures on its manifest-loaded format and type XML. I've rebuilt it with the shared publisher fix from PSPublishModule #1233.

This patch includes 2.3.0's Native AOT compatibility work across the .NET 8 and .NET 10 libraries. Library-owned response and persistence JSON uses generated contracts, and caller-owned payloads can supply JsonTypeInfo metadata. General serializers and dynamic provider loaders retain explicit annotations.

Native consumer checks cover loopback resolution, typed answers, caching, JSON, profiles and scores, Ed25519 signatures, ODoH configuration and DNSCrypt native asset loading on Windows, Linux and macOS for both modern targets. The core NuGet package, PowerShell module and 12 CLI archives are included. Optional providers remain source-only.

DnsClientX 2.3.0

DnsClientX 2.3.0

DnsClientX's .NET 8 and .NET 10 libraries are trim and Native AOT compatible. Library-owned response and persistence JSON uses generated contracts, and caller-owned payloads can supply JsonTypeInfo metadata. Existing general serializers and dynamic provider loaders retain explicit annotations.

Strict analyzers and native publish/runtime checks cover both modern targets on Windows, Linux and macOS. The consumer checks loopback resolution, typed answers, caching, JSON, profiles and scores, Ed25519 signatures, ODoH configuration and DNSCrypt native asset loading. Legacy test fixtures now complete UDP receives against their owned sockets.

The release contains the core NuGet package and PowerShell module. The optional provider projects remain source-only.

The format and type XML files in the 2.3.0 Gallery package lack Authenticode signatures, which prevents importing them under an AllSigned execution policy. The GitHub module ZIP retains valid signatures on those files. The shared publisher fix is included in PSPublishModule #1233, and a corrected DnsClientX patch is being prepared.

DnsClientX 2.2.0

2.2.0 - 2026-11-02

The CLI archives cover Windows, Linux and macOS on x64 and ARM64. They are framework-dependent: choose the .NET 8 or .NET 10 archive matching your installed runtime. Windows CLI executables are signed.

  • Publish the core NuGet package, PowerShell module and CLI archives without optional provider dependencies. DnsClientX.Odoh, DnsClientX.DnsCrypt and DnsClientX.DnsSec.EdDsa are not published on NuGet and are excluded from this release; their examples require source-built providers.

  • Include the DNS correctness, configuration, DNSSEC, cache and cross-platform workflow fixes from #581, authenticated DNS administration and discovery workflows from #582, and stable resolver-candidate identity and reporting from #583.

  • Add a deterministic provider-by-transport JSON catalog at Assets/Data/provider-profiles.json, generated with the README from the library's supported formats and default configurations. Packaged-module validation checks both outputs against the library.

  • Refresh dependencies and improve regression coverage across the supported .NET and PowerShell targets.

  • Normalize recognized JSON EDE comments into structured extended DNS errors without replacing provider comments or explicit error arrays.

  • Select published provider transports without changing existing preset defaults, with shared provider definitions for configuration, resolver expansion and generated documentation.

  • Configure DNSCrypt and ODoH providers from role-specific DNS stamps, inspect privacy stamps from CLI/PowerShell, and load trusted optional providers explicitly for queries without adding crypto dependencies to the core or CLI.

  • Add New-DnsPrivacyTransport for caller-owned PowerShell setup and CLI privacy query options using the shared response and explanation workflow.

  • Preserve completed TCP/DoT replies when a peer closes while the request write finishes, avoiding a false failure and duplicate retry.

  • Add data_normalized to record JSON while preserving the existing raw data field.

  • Show provider diagnostics in regular CLI text output and include DNS status in PowerShell warnings through shared display-safe formatting.

  • Give cooperative PowerShell query cleanup up to one second to finish when the pipeline is stopped, using the canonical async cmdlet implementation.

  • Add CleanBrowsing Security, Adult, and Family DoH presets, and Control D Unfiltered, Malware, Ads & Tracking, and Family DoH presets.

  • Add Comodo Secure DNS and DNS.WATCH plain-DNS presets, including DNS.WATCH's IPv6 resolvers.

  • Refresh AdGuard presets to the current adguard-dns.com hostnames and share their endpoint definitions with multi-resolver queries.

  • Document personal NextDNS profile URLs and distinguish generic resolution, filtering policy, and encrypted transports.

DnsClientX 2.1.2

What's Changed

Full Changelog: Compare DnsClientX-v2.1.1 to DnsClientX-v2.1.2

DnsClientX 2.1.1

What's Changed

Full Changelog: Compare DnsClientX-v20260724095714 to DnsClientX-v2.1.1

DnsClientX 2026.07.21-14.20.15

What's Changed

Full Changelog: Compare DnsClientX-PowerShellModule.v1.0.5 to DnsClientX-v20260721142015

Parcours de conseil

Besoin d’aide pour mettre cela en production ?

Services de mise en production

  • Transformer un outil open source en mode opératoire prêt pour la production.
  • Définir tôt le déploiement, les responsabilités, le reporting et le support.
  • Structurer le travail pour que les équipes internes puissent l’exploiter sereinement.

Nous intervenons sur la mise en œuvre, la remédiation, la conception d’automatisations et la livraison autour des plateformes liées à ce projet.