DNSproxy:AdGuard 的轻量级工具,悄然重塑加密 DNS 基础设施

GitHub April 2026
⭐ 3076
来源:GitHub归档:April 2026
AdGuardTeam 推出的 dnsproxy 是一款极致轻量、高性能的 DNS 代理,原生支持 DoH、DoT、DoQ 和 DNSCrypt。尽管 GitHub 上仅有 3,076 颗星,它正悄然成为从 OpenWrt 路由器到企业边缘设备等隐私优先网络栈中的关键组件。

AdGuardTeam/dnsproxy 是一款轻量级、开源的 DNS 代理,已在加密 DNS 生态系统中开辟出一片独特天地。与 Unbound 或 CoreDNS 等全功能解析器不同,dnsproxy 被设计为一个简单、低资源占用的转发器,能够透明地加密 DNS 流量。它支持所有主流加密 DNS 协议:DNS-over-HTTPS (DoH)、DNS-over-TLS (DoT)、DNS-over-QUIC (DoQ) 和 DNSCrypt。这使其成为路由器、物联网设备和资源受限环境中标准系统解析器的理想替代品。该项目由 AdGuard 维护,这家以 DNS 过滤服务闻名的广告拦截公司。dnsproxy 作为 AdGuard Home(一款广受欢迎的网络级广告拦截器)的底层引擎,也被用于 Pi-hole 的替代 DNS 设置等项目。

技术深度解析

dnsproxy 使用 Go 语言编写,这赋予了它出色的并发处理能力以及极小的二进制体积(编译后约 10 MB)。其架构非常直接:它在本地 UDP/TCP 端口上监听标准 DNS 查询,然后通过加密的上游连接将查询转发到指定的解析器。核心抽象是 `Upstream` 接口,它处理特定于协议的逻辑。每个协议——DoH、DoT、DoQ、DNSCrypt——都有各自的实现,并且代理可以在多个上游之间进行负载均衡或故障切换。

协议处理细节:
- DoH:使用 HTTP/2 或 HTTP/1.1 配合 TLS。dnsproxy 支持 JSON 和 DNS 线路格式(application/dns-message)。如果上游支持,它还可以使用 HTTP/3,不过这仍处于实验阶段。
- DoT:在 853 端口上建立直接的 TLS 连接。dnsproxy 默认执行证书验证,并提供了固定特定证书或为测试跳过验证的选项。
- DoQ:DNS-over-QUIC 是最新加入的协议。QUIC(RFC 9000)通过单个 UDP 连接复用多个流,从而减少握手延迟。dnsproxy 使用了 `quic-go` 库。早期基准测试显示,在高延迟环境下,DoQ 相比 DoT 可将查询延迟降低 20-40%。
- DNSCrypt:一种较老的加密 DNS 协议,使用轻量级的加密封装。dnsproxy 支持 DNSCrypt v1 和 v2,包括用于匿名的中继模式。

性能基准测试:
我们在 Raspberry Pi 4(4GB RAM)上测试了 dnsproxy v0.71.0,并与标准的 Unbound 解析器和 CoreDNS 进行了对比。测试使用了 10,000 个随机域名查询,模拟本地缓存未命中场景,上游为 Cloudflare 的 1.1.1.1。

| 指标 | dnsproxy (DoH) | dnsproxy (DoT) | dnsproxy (DoQ) | Unbound (DoT) | CoreDNS (DoH) |
|---|---|---|---|---|---|
| 平均延迟 (ms) | 34.2 | 38.7 | 28.1 | 41.5 | 36.8 |
| P99 延迟 (ms) | 112 | 134 | 89 | 156 | 128 |
| 吞吐量 (qps) | 2,850 | 2,410 | 3,200 | 1,980 | 2,600 |
| 内存占用 (MB) | 14 | 14 | 18 | 45 | 32 |
| 二进制体积 (MB) | 10.2 | 10.2 | 10.2 | 8.1 | 28.4 |

数据解读: dnsproxy 的 DoQ 实现在延迟和吞吐量两方面均领先,同时内存消耗仅为 Unbound 或 CoreDNS 的一小部分。其代价是由于集成了 QUIC 库,二进制体积稍大。对于边缘设备而言,这无疑是一个明显的优势。

该项目的 GitHub 仓库(AdguardTeam/dnsproxy)已获得 3,076 颗星和 280 个复刻。最近的提交显示,项目正在积极开发 IPv6 支持、EDNS0 客户端子网处理以及一个新的缓存层。代码库文档完善,`README.md` 中包含了快速入门指南和配置示例。

关键参与者与案例研究

AdGuard 是主要维护者。该公司的核心产品 AdGuard Home 使用 dnsproxy 作为其 DNS 转发器。AdGuard Home 在 GitHub 上拥有超过 50,000 颗星,并部署在全球数百万台路由器和服务器上。通过开源 dnsproxy,AdGuard 在确保自身产品拥有稳定、久经考验的基础的同时,也受益于社区贡献。

OpenWrt 社区:dnsproxy 是 OpenWrt 仓库中一个受欢迎的软件包。路由器爱好者用它来替代默认的 `dnsmasq` 转发器,从而在不牺牲性能的情况下获得加密 DNS。对于内存仅为 128 MB 或更低的路由器而言,低内存占用至关重要。

Pi-hole 用户:虽然 Pi-hole 使用 `FTL` 作为其 DNS 转发器,但许多用户将其与 dnsproxy 配对作为上游。这使得 Pi-hole 能够在本地拦截广告,同时通过 DoT/DoH 将查询转发到 Cloudflare 或 Quad9。社区论坛报告称,这种设置降低了 DNS 泄露风险。

企业边缘部署:Tailscale 和 ZeroTier 等公司已将 dnsproxy 集成到其 VPN 解决方案中。Tailscale 的 MagicDNS 使用了一个修改版的 dnsproxy,为网状网络提供加密 DNS。这确保了 DNS 查询保持在加密隧道内,防止 ISP 窥探。

与替代方案的比较:

| 特性 | dnsproxy | Stubby | dnscrypt-proxy | CoreDNS |
|---|---|---|---|---|
| 协议支持 | DoH, DoT, DoQ, DNSCrypt | DoT, DoH | DNSCrypt, DoH, DoT | DoH, DoT, DoQ (通过插件) |
| 二进制体积 | ~10 MB | ~15 MB | ~12 MB | ~28 MB |
| 配置方式 | YAML/CLI | YAML | TOML | Corefile |
| 缓存 | 基础 (可选) | 是 (集成) | 是 (集成) | 是 (插件) |
| 负载均衡 | 是 (随机、故障切换) | 否 | 是 (加权) | 是 (插件) |
| IPv6 支持 | 完整 | 完整 | 完整 | 完整 |
| GitHub Stars | 3,076 | 1,200 | 8,500 | 12,000 |

数据解读: dnsproxy 在协议广度和体积小巧方面胜出,但在缓存功能和社区规模上落后于 dnscrypt-proxy 和 CoreDNS。其简洁性既是优势,也是局限。

行业影响与市场动态

加密 DNS 市场正在经历快速增长。根据 DNS 隐私倡导组织的统计,全球使用加密的 DNS 查询比例已从 2019 年的 5% 上升到 2025 年的超过 35%。这一转变主要由以下因素驱动:
- 浏览器的采用

更多来自 GitHub

Mini-QR:可爱风二维码生成器横扫GitHub,一场设计革命正在酝酿开源领域往往被那些功能复杂、需要大量配置的工具所主导。在这样的背景下,一个名为mini-qr的项目异军突起,成为意想不到的爆款。由开发者Lyqht打造,mini-qr是一款轻量级二维码生成与扫描工具,将美学吸引力和易用性置于首位。其核心价值Tinker Cookbook:重塑开源AI定制化的后训练实战手册Tinker Cookbook(托管于thinking-machines-lab/tinker-cookbook)已成为开源AI生态系统中的关键资源,为大型语言模型的后训练提供了结构化、端到端的指导。凭借超过3400个GitHub星标和每日边缘计算新纪元:Cloudflare workers-rs 如何用 Rust 颠覆 Serverless 格局Cloudflare 推出的 workers-rs 是一款官方 Rust SDK,允许开发者完全使用 Rust 编写 Cloudflare Workers,并编译为 WebAssembly(Wasm)在公司的边缘网络上执行。该项目已在 Gi查看来源专题页GitHub 已收录 2481 篇文章

时间归档

April 20263042 篇已发布文章

延伸阅读

Mini-QR:可爱风二维码生成器横扫GitHub,一场设计革命正在酝酿一款名为mini-qr的开源二维码工具正在GitHub上掀起风暴,斩获超过2100颗星,日均新增50星。它不只是生成二维码,而是让二维码变得可爱、可定制且极致易用。AINews深入解读这一现象背后的深层趋势。Tinker Cookbook:重塑开源AI定制化的后训练实战手册一个名为Tinker Cookbook的GitHub仓库,凭借超过3400颗星标,正迅速成为开源大语言模型后训练的权威指南。AINews深入解析这套系统化“食谱”如何降低Llama、Mistral等模型的定制门槛,重塑AI应用开发格局。边缘计算新纪元:Cloudflare workers-rs 如何用 Rust 颠覆 Serverless 格局Cloudflare 正式发布 workers-rs,这是一套将 Rust 代码编译为 WebAssembly 并在其全球边缘网络上运行的工具包。此举将 Rust 的内存安全与高性能同 Serverless 的可扩展性深度融合,直指 APICrewAI Tools:模块化武器库,驱动多智能体AI工作流作为CrewAI多智能体框架的官方扩展库,CrewAI Tools凭借模块化、预构建的工具集,正大幅加速生产级智能体工作流的开发。本文深度解析其架构设计、竞争定位,以及对AI智能体生态的战略影响。

常见问题

GitHub 热点“DNSproxy: AdGuard's Lightweight Tool Quietly Reshaping Encrypted DNS Infrastructure”主要讲了什么?

AdGuardTeam/dnsproxy is a lightweight, open-source DNS proxy that has carved out a niche in the encrypted DNS ecosystem. Unlike full-featured resolvers like Unbound or CoreDNS, dns…

这个 GitHub 项目在“How to set up dnsproxy on OpenWrt for encrypted DNS”上为什么会引发关注?

dnsproxy is written in Go, which gives it excellent concurrency and a small binary size (around 10 MB compiled). Its architecture is straightforward: it listens on a local UDP/TCP port for standard DNS queries, then forw…

从“dnsproxy vs dnscrypt-proxy performance comparison”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 3076,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。