Repolode
razvandimescu

razvandimescu/numa

Resolvedor DNS portátil em Rust que bloqueia anúncios, dá nomes .numa a serviços locais de desenvolvimento e pode proteger consultas com ODoH.

Alternativa open source a:Pi-holeAdGuard Home

Estrelas
1,973
Forks
140
Issues abertas
29
Último commit
há 3 dias

O que é?

O Numa é um resolvedor DNS distribuído como um único binário, que roda em um laptop sem exigir uma conta na nuvem ou hardware dedicado. Ele bloqueia anúncios e rastreadores usando as listas Hagezi Pro, permite acessar serviços locais de desenvolvimento por nomes como frontend.numa com HTTPS automático e oferece suporte à substituição de qualquer hostname com reversão automática.

Ele pode encaminhar consultas para um DNS de sistema existente, resolver recursivamente a partir dos servidores raiz com validação DNSSEC ou enviar consultas por um relay ODoH, para que nenhuma parte veja ao mesmo tempo a identidade do cliente e a consulta. Também atende clientes DNS-over-TLS e DNS-over-HTTPS, e pode funcionar como um relay ODoH público. O parser do protocolo DNS wire foi escrito do zero, sem bibliotecas DNS.

A instalação está disponível via Docker, Homebrew, Cargo, Nix, pacotes Arch e scripts de instalação. O comando de instalação registra um serviço do sistema, configura o DNS do sistema para usar o Numa e confia na CA local. O Numa também oferece descoberta de serviços baseada em mDNS entre várias máquinas em uma LAN.

Recursos principais

  • 01Bloqueia anúncios e rastreadores com as listas Hagezi Pro, atualizadas diariamente.
  • 02Resolve domínios locais .numa com HTTPS e passthrough de WebSocket.
  • 03Substitui hostnames com reversão automática, controlável por uma REST API.
  • 04Oferece suporte à resolução recursiva com validação DNSSEC.
  • 05Criptografa consultas upstream com DoH, DoT ou ODoH.
  • 06Atende clientes DoT e DoH, incluindo o Private DNS do iOS.

Casos de uso

  • Dar nomes a servidores locais de desenvolvimento e acessá-los pelo navegador via HTTPS.
  • Bloquear anúncios e rastreadores em uma rede doméstica ou de escritório.
  • Executar um resolvedor recursivo privado com validação DNSSEC.
  • Enviar consultas DNS por um relay ODoH para ter mais privacidade.

Início rápido

  1. 1

    Instalar com Homebrew (macOS)

    brew install razvandimescu/tap/numa
  2. 2

    Executar o Numa em primeiro plano (a porta 53 requer acesso root)

    sudo numa
  3. 3

    Testar uma consulta ao resolver local

    dig @127.0.0.1 example.com

Antes de usar

  • O README classifica o nível de maturidade do Numa como «New», então ele tem menos histórico que Pi-hole, AdGuard Home ou Unbound.
  • O Numa não oferece DHCP nem clustering, e a maioria das configurações fica no arquivo de configuração, não no painel.

Em coleções

Tópicos

Perguntas frequentes

O que é numa?
Resolvedor DNS portátil em Rust que bloqueia anúncios, dá nomes .numa a serviços locais de desenvolvimento e pode proteger consultas com ODoH. O Numa é um resolvedor DNS distribuído como um único binário, que roda em um laptop sem exigir uma conta na nuvem ou hardware dedicado. Ele bloqueia anúncios e rastreadores usando as listas Hagezi Pro, permite acessar serviços locais de desenvolvimento por nomes como frontend.numa com HTTPS automático e oferece suporte à substituição de qualquer hostname com reversão automática.
numa é gratuito? Qual é a licença?
numa é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
numa ainda é mantido?
Manutenção ativa. O último commit de numa foi em 3 de nov. de 2026.
Para que posso usar numa?
Dar nomes a servidores locais de desenvolvimento e acessá-los pelo navegador via HTTPS. Bloquear anúncios e rastreadores em uma rede doméstica ou de escritório. Executar um resolvedor recursivo privado com validação DNSSEC. Enviar consultas DNS por um relay ODoH para ter mais privacidade.
Como instalar numa?
Instalar com Homebrew (macOS): brew install razvandimescu/tap/numa Executar o Numa em primeiro plano (a porta 53 requer acesso root): sudo numa Testar uma consulta ao resolver local: dig @127.0.0.1 example.com
Onde consigo numa?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/razvandimescu/numa

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados

Bloqueador de anúncios local, no nível do sistema operacional, escrito em Bash puro, que bloqueia domínios de anúncios para todos os navegadores e aplicativos usando o arquivo hosts ou o Dnsmasq.

1,9 mil72ShellApache-2.0Atualizado há 3 meses