Repolode
miekg

miekg/dns

Biblioteca Go para criar clientes e servidores DNS, com suporte a todos os tipos de resource record, incluindo DNSSEC.

Estrelas
8,807
Forks
1,223
Issues abertas
3
Último commit
há 4 dias

O que é?

miekg/dns é uma biblioteca DNS escrita em Go para programadores que precisam trabalhar com DNS no nível do protocolo. Ela oferece suporte a todos os tipos de resource record, incluindo os tipos DNSSEC, e pode ser usada para criar servidores e resolvers. A API é intencionalmente enxuta: oferece os blocos básicos, em vez de muitas funções de conveniência.

A biblioteca oferece suporte a consultas UDP e TCP por IPv4 e IPv6, análise de arquivos de zona e programação de servidores baseada no pacote net/http. Em segurança, ela permite assinar e validar DNSSEC e gerar chaves para DSA, RSA, ECDSA e Ed25519, além de oferecer suporte a TSIG, SIG(0) e DNS over TLS. Também implementa transferências de zona AXFR/IXFR e opções EDNS0, como NSID, Cookies e Client Subnet.

O projeto informa que seu sucessor, DNS version 2, está hospedado no Codeberg e que este repositório receberá apenas correções específicas antes de ser arquivado.

Recursos principais

  • 01Oferece suporte a todos os tipos de resource record DNS, incluindo os tipos DNSSEC
  • 02Permite criar servidores DNS e resolvers do lado do cliente
  • 03Assinatura e validação DNSSEC, além de geração de chaves para vários algoritmos
  • 04Análise de arquivos de zona com $INCLUDE, $ORIGIN, $TTL e $GENERATE
  • 05Transferências de zona AXFR/IXFR e autenticação TSIG/SIG(0)
  • 06DNS over TLS e opções EDNS0, como NSID e Cookies

Casos de uso

  • Criar um servidor DNS autoritativo personalizado em Go
  • Criar um resolver ou forwarder DNS com controle detalhado sobre as consultas
  • Implementar assinatura ou validação DNSSEC em uma aplicação Go
  • Criar ferramentas de diagnóstico que enviem consultas DNS brutas e inspecionem as respostas

Início rápido

  1. 1

    Instale a biblioteca com a ferramenta Go

    go get github.com/miekg/dns
  2. 2

    Leia a visão geral da API no início de doc.go ou execute godoc para o pacote

Antes de usar

  • O desenvolvimento foi transferido para DNS version 2 em codeberg.org/miekg/dns, e este repositório recebe apenas correções específicas.
  • Este repositório será arquivado em algum momento.

Tópicos

#dns#go#dnssec#dns-library#networking#protocol

Perguntas frequentes

O que é dns?
Biblioteca Go para criar clientes e servidores DNS, com suporte a todos os tipos de resource record, incluindo DNSSEC. miekg/dns é uma biblioteca DNS escrita em Go para programadores que precisam trabalhar com DNS no nível do protocolo. Ela oferece suporte a todos os tipos de resource record, incluindo os tipos DNSSEC, e pode ser usada para criar servidores e resolvers. A API é intencionalmente enxuta: oferece os blocos básicos, em vez de muitas funções de conveniência.
dns é gratuito? Qual é a licença?
dns é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
dns ainda é mantido?
Manutenção ativa. O último commit de dns foi em 3 de nov. de 2026.
Para que posso usar dns?
Criar um servidor DNS autoritativo personalizado em Go Criar um resolver ou forwarder DNS com controle detalhado sobre as consultas Implementar assinatura ou validação DNSSEC em uma aplicação Go Criar ferramentas de diagnóstico que enviem consultas DNS brutas e inspecionem as respostas
Como instalar dns?
Instale a biblioteca com a ferramenta Go: go get github.com/miekg/dns Leia a visão geral da API no início de doc.go ou execute godoc para o pacote
Onde consigo dns?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/miekg/dns

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

Projetos relacionados