Numa 是一款用 Rust 从零开发的便携式 DNS 解析器,无第三方 DNS 库依赖,以单文件(约 8MB)形式运行,无需云账户或树莓派等额外硬件,核心是让用户 “在任何地方都能拥有自己的 DNS”,可替代 Pi-hole、AdGuard Home,兼顾轻量性与高性能。
一个仅 8MB 的单文件 DNS 开源工具
内置基于 Hagezi Pro 列表的 38.5 万+ 广告与追踪域名拦截库。因为服务直接跑在你的笔记本上,无论你连入咖啡厅、酒店还是机场的公共 Wi-Fi,广告拦截都会一直生效。
同时,它原生支持 ODoH 协议,将查询请求拆分封装,避免网络提供商(ISP)或中间节点窥探你的网页浏览记录。
Numa 允许你直接为本地开发环境分配 .numa 专属后缀域名(如 https://frontend.numa)。它会在后台自动处理 TLS 证书(小绿锁配置)和 WebSocket 透传,并支持 mDNS 局域网互认发现。只需让手机扫描 numa setup-phone 命令生成的二维码,手机的网络流量就能通过 TLS 安全路由进来,直接跨设备预览调试本地局域网服务。
性能方面,Numa 的缓存查询被优化到最低 0.1 毫秒,跟 Unbound 达到了同一水平。底层使用了线级缓存(Wire-level cache)和请求对冲技术——当出现丢包时,它会并发地发起多个请求,从而有效削掉因为丢包产生的延迟毛刺。
在解析模式上,它支持作为系统默认 DNS 的透明转发,也支持直连根服务器的递归解析(带完整 DNSSEC 信任链验证),具备自动探测能力,当直连受阻时会自动回退到加密的 DoH 模式。
Numa 基于 MIT 协议开源,跨平台支持 macOS、Linux 和 Windows(Docker 部署需要对应的系统支持),目前在 GitHub 上大约有 832 颗 Star。
项目地址:https://github.com/razvandimescu/numa
|
|