Install
dotnet add package Meziantou.DnsProxy --version 1.0.5
No framework information available.
README
Meziantou.DnsProxy
This project provides a DNS proxy service built with:
Meziantou.Framework.DnsServerto accept queries from clientsMeziantou.Framework.DnsFilterto apply filter lists and rewritesMeziantou.Framework.DnsClientto forward queries to multiple upstream DNS servers
Pipeline:
client -> filter -> forward to remotes (fastest) -> response to client
Default configuration:
- DNS listeners: UDP/TCP on port
5053 - Web diagnostics UI on port
5080 - DNS over HTTPS listener: disabled by default (
DnsOverHttpsPort=0; endpoint path/dns-query) - DNS over TLS listener: disabled by default (
DnsOverTlsPort=0) - DNS over QUIC listener: disabled by default (
DnsOverQuicPort=0) - Filter list refresh interval:
00:30:00 - Default filter lists:
- AdGuard DNS filter (
https://adguardteam.github.io/HostlistsRegistry/assets/filter_1.txt) - StevenBlack hosts (
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts)
- AdGuard DNS filter (
- Remote DNS servers (DoQ): Cloudflare (
cloudflare-dns.com), Quad9 (dns.quad9.net), and NextDNS (dns.nextdns.io) - In-memory diagnostics history size:
10000entries
Enabling secure listeners (DoH/DoT/DoQ):
- Set one or more of:
DnsProxy__DnsOverHttpsPortDnsProxy__DnsOverTlsPortDnsProxy__DnsOverQuicPort
- Configure certificate:
DnsProxy__CertificatePathDnsProxy__CertificatePassword
- Optional DoH path override:
DnsProxy__DnsOverHttpsPath
Notes:
- When
DnsOverHttpsPortis enabled, the DoH endpoint is served over HTTPS on that port. - When disabled (
0), the existing HTTP endpoint remains available onHttpPortfor diagnostics/testing.
Diagnostics:
- Open
/in the browser to inspect recent DNS requests/responses and client information.
Parallel instances:
- Override settings using environment variables such as:
DnsProxy__DnsPortDnsProxy__HttpPortDnsProxy__FilterRefreshInterval
Changes from Previous Version
No structural changes between v1.0.4 and v1.0.5.
Adoption Assessment
A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.
No target framework metadata is available. Confirm compatibility in a representative project before standardising on this package.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.