Repolode
razvandimescu

razvandimescu/numa

用 Rust 编写的便携式 DNS 解析器,可拦截广告、为本地服务分配 .numa 域名,并支持 ODoH 加密查询。

可替代:Pi-holeAdGuard Home

Star
1,975
Fork
140
未关闭 Issue
29
最近提交
4天前

这是什么?

Numa 是一个以单个二进制文件分发的 DNS 解析器,无需云账号或专用硬件即可在笔记本上运行。它使用 Hagezi Pro 名单拦截广告和追踪器,支持通过 frontend.numa 这类名称访问本地开发服务并自动启用 HTTPS,也能用任意域名覆盖解析结果,并在设定时间后自动恢复。

它可以转发到现有的系统 DNS,也可以从根服务器递归解析并进行 DNSSEC 校验,还可以通过 ODoH 中继发送查询,使任何单一方都无法同时看到客户端身份和查询内容。Numa 同时支持 DNS-over-TLS 和 DNS-over-HTTPS 客户端,并可作为公共 ODoH 中继运行。DNS 协议解析器为手写实现,未依赖任何 DNS 库。

安装方式包括 Docker、Homebrew、Cargo、Nix、Arch 软件包和安装脚本。执行安装命令后会注册系统服务、将系统 DNS 指向 Numa 并信任其本地 CA。局域网内多台机器还可通过 mDNS 互相发现服务。

核心功能

  • 01使用 Hagezi Pro 名单拦截广告和追踪器,每日更新。
  • 02支持 .numa 本地域名,并提供 HTTPS 和 WebSocket 透传。
  • 03可覆盖任意域名解析并自动恢复,支持通过 REST API 操作。
  • 04支持带 DNSSEC 校验的递归解析。
  • 05上游查询可通过 DoH、DoT 或 ODoH 加密。
  • 06向客户端提供 DoT 和 DoH 服务,包括 iOS 私有 DNS。

适用场景

  • 为本地开发服务分配名称,并在浏览器中通过 HTTPS 访问。
  • 在家庭或办公网络中统一拦截广告和追踪器。
  • 搭建带 DNSSEC 校验的私有递归解析器。
  • 通过 ODoH 中继发送 DNS 查询以保护隐私。

快速上手

  1. 1

    用 Homebrew 安装(macOS)

    brew install razvandimescu/tap/numa
  2. 2

    前台运行 Numa(53 端口需要 root 权限)

    sudo numa
  3. 3

    用本地解析器测试域名查询

    dig @127.0.0.1 example.com

使用前须知

  • README 将 Numa 的成熟度标为“新”,其使用历史比 Pi-hole、AdGuard Home 或 Unbound 短。
  • Numa 不支持 DHCP 和集群,大多数设置需要在配置文件中修改,而不是在仪表盘中完成。

收录于专题

标签

常见问题

numa 是什么?
用 Rust 编写的便携式 DNS 解析器,可拦截广告、为本地服务分配 .numa 域名,并支持 ODoH 加密查询。 Numa 是一个以单个二进制文件分发的 DNS 解析器,无需云账号或专用硬件即可在笔记本上运行。它使用 Hagezi Pro 名单拦截广告和追踪器,支持通过 frontend.numa 这类名称访问本地开发服务并自动启用 HTTPS,也能用任意域名覆盖解析结果,并在设定时间后自动恢复。
numa 可以免费使用吗?用的什么许可证?
numa 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
numa 还在维护吗?
活跃维护中。numa 最近一次提交是在 2026年11月3日。
numa 适合用来做什么?
为本地开发服务分配名称,并在浏览器中通过 HTTPS 访问。 在家庭或办公网络中统一拦截广告和追踪器。 搭建带 DNSSEC 校验的私有递归解析器。 通过 ODoH 中继发送 DNS 查询以保护隐私。
numa 怎么安装和运行?
用 Homebrew 安装(macOS): brew install razvandimescu/tap/numa 前台运行 Numa(53 端口需要 root 权限): sudo numa 用本地解析器测试域名查询: dig @127.0.0.1 example.com
在哪里获取 numa?
源代码和安装说明在 GitHub 上:https://github.com/razvandimescu/numa

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目