Repolode
miekg

miekg/dns

Библиотека Go для создания DNS-клиентов и серверов с поддержкой всех типов ресурсных записей, включая DNSSEC.

Звёзды
8,803
Форки
1,220
Открытые issues
3
Последний коммит
3 дня назад

Что это?

miekg/dns — библиотека DNS на Go для разработчиков, которым нужно работать с DNS на уровне протокола. Она поддерживает все типы ресурсных записей, включая типы DNSSEC, и подходит для создания серверов и резолверов. API намеренно сделан небольшим: библиотека предоставляет базовые строительные блоки, а не множество функций для удобства.

Библиотека поддерживает запросы по UDP и TCP через IPv4 и IPv6, разбор файлов зон и программирование серверной части по образцу пакета net/http. Для защиты она умеет подписывать и проверять DNSSEC, а также генерировать ключи для DSA, RSA, ECDSA и Ed25519; кроме того, поддерживаются TSIG, SIG(0) и DNS over TLS. Библиотека также реализует передачу зон AXFR/IXFR и опции EDNS0, такие как NSID, Cookies и Client Subnet.

В проекте отмечено, что его преемник, DNS version 2, размещён на Codeberg, а этот репозиторий будет получать только отдельные исправления, прежде чем его архивируют.

Ключевые возможности

  • 01Поддержка всех типов ресурсных записей DNS, включая типы DNSSEC
  • 02Создание DNS-серверов и клиентских резолверов
  • 03Подписание и проверка DNSSEC, а также генерация ключей для нескольких алгоритмов
  • 04Разбор файлов зон с директивами $INCLUDE, $ORIGIN, $TTL и $GENERATE
  • 05Передача зон AXFR/IXFR и аутентификация с помощью TSIG/SIG(0)
  • 06DNS over TLS и опции EDNS0, такие как NSID и Cookies

Сценарии использования

  • Разработка собственного авторитетного DNS-сервера на Go
  • Создание DNS-резолвера или форвардера с точным контролем над запросами
  • Реализация подписания или проверки DNSSEC в приложении на Go
  • Создание диагностических инструментов для отправки DNS-запросов в исходном виде и анализа ответов

Быстрый старт

  1. 1

    Установите библиотеку с помощью инструмента Go

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

    Прочитайте обзор API в начале файла doc.go или запустите godoc для пакета

Что важно знать

  • Разработка перенесена на DNS version 2 по адресу codeberg.org/miekg/dns; в этом репозитории будут появляться только отдельные исправления.
  • В какой-то момент этот репозиторий будет архивирован.

Темы

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

Частые вопросы

Что такое dns?
Библиотека Go для создания DNS-клиентов и серверов с поддержкой всех типов ресурсных записей, включая DNSSEC. miekg/dns — библиотека DNS на Go для разработчиков, которым нужно работать с DNS на уровне протокола. Она поддерживает все типы ресурсных записей, включая типы DNSSEC, и подходит для создания серверов и резолверов. API намеренно сделан небольшим: библиотека предоставляет базовые строительные блоки, а не множество функций для удобства.
dns можно использовать бесплатно? Какая у него лицензия?
dns распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
dns всё ещё поддерживается?
Активно поддерживается. Последний коммит в dns — 3 нояб. 2026 г..
Для чего можно использовать dns?
Разработка собственного авторитетного DNS-сервера на Go Создание DNS-резолвера или форвардера с точным контролем над запросами Реализация подписания или проверки DNSSEC в приложении на Go Создание диагностических инструментов для отправки DNS-запросов в исходном виде и анализа ответов
Как установить dns?
Установите библиотеку с помощью инструмента Go: go get github.com/miekg/dns Прочитайте обзор API в начале файла doc.go или запустите godoc для пакета
Где скачать dns?
Исходный код и инструкции по установке — на GitHub: https://github.com/miekg/dns

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Рекурсивный DNS-резолвер с проверкой DNSSEC и кэшированием, созданный для высокой скорости и экономного использования ресурсов.

5 тыс.+22 за неделю471CBSD-3-ClauseАктивно поддерживаетсяОбновлён 18 часов назад

Асинхронный событийный Java-фреймворк для создания удобных в сопровождении и высокопроизводительных серверов и клиентов сетевых протоколов.

35,1 тыс.+6 за неделю16,3 тыс.JavaApache-2.0Обновлён 14 часов назад