Repolode
mr-karan

mr-karan/doggo

Консольный DNS-клиент на Go — современная версия dig с лаконичным выводом и поддержкой DoH, DoT, DoQ и DNSCrypt.

Open source альтернатива:dig

Звёзды
4,523
Форки
148
Открытые issues
0
Последний коммит
3 дня назад

Что это?

doggo — консольный DNS-клиент на Go, предназначенный для тех же задач, что и dig. Он выводит результаты запросов в компактной цветной таблице, а для скриптов может формировать JSON. Запросы можно отправлять по обычным UDP и TCP, а также через зашифрованные протоколы: DNS-over-HTTPS, DNS-over-TLS, DNS-over-QUIC и DNSCrypt.

Помимо базовых запросов, doggo поддерживает трассировку делегирования с обходом серверов с помощью --trace, обратные DNS-запросы и работу с несколькими резолверами, для которых можно настроить стратегию запросов. Клиент обрабатывает параметры EDNS, такие как Client Subnet, NSID, Cookies и Padding, а также IDN-имена с преобразованием в punycode и настройки ndots и search. Значения по умолчанию можно задать в TOML-файле конфигурации или через переменные окружения DOGGO_*.

Проект распространяется в виде готовых бинарных файлов, доступен во многих пакетных менеджерах, устанавливается через go install, а также выпускается в виде Docker-образа. Вдохновением для него послужила утилита dog на Rust.

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

  • 01Цветной табличный вывод с возможностью формировать JSON для скриптов
  • 02Поддержка протоколов UDP, TCP, DoH, DoT, DoQ и DNSCrypt
  • 03Трассировка делегирования с обходом серверов с помощью --trace
  • 04Параметры EDNS, включая Client Subnet, NSID, Cookies и Padding
  • 05Обратные DNS-запросы и поддержка IDN через punycode
  • 06Настройки по умолчанию из TOML-файла конфигурации и переменных окружения DOGGO_*

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

  • Диагностика DNS-записей из терминала
  • Запросы к выбранным резолверам через зашифрованные соединения DoH или DoT
  • Автоматизация проверок DNS с помощью вывода в JSON
  • Трассировка цепочки делегирования домена

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

  1. 1

    Установить через Homebrew

    brew install doggo
  2. 2

    Выполнить простой DNS-запрос

    doggo example.com
  3. 3

    Запросить MX-записи, используя указанный сервер имен

    doggo MX github.com @9.9.9.9

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

  • Распространяется по лицензии GPL-3.0 — лицензии с авторским левом, которая требует, чтобы производные работы оставались открытыми.

В подборках

Темы

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

Что такое doggo?
Консольный DNS-клиент на Go — современная версия dig с лаконичным выводом и поддержкой DoH, DoT, DoQ и DNSCrypt. doggo — консольный DNS-клиент на Go, предназначенный для тех же задач, что и dig. Он выводит результаты запросов в компактной цветной таблице, а для скриптов может формировать JSON. Запросы можно отправлять по обычным UDP и TCP, а также через зашифрованные протоколы: DNS-over-HTTPS, DNS-over-TLS, DNS-over-QUIC и DNSCrypt.
doggo можно использовать бесплатно? Какая у него лицензия?
doggo распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
doggo всё ещё поддерживается?
Активно поддерживается. Последний коммит в doggo — 22 окт. 2026 г..
Для чего можно использовать doggo?
Диагностика DNS-записей из терминала Запросы к выбранным резолверам через зашифрованные соединения DoH или DoT Автоматизация проверок DNS с помощью вывода в JSON Трассировка цепочки делегирования домена
Как установить doggo?
Установить через Homebrew: brew install doggo Выполнить простой DNS-запрос: doggo example.com Запросить MX-записи, используя указанный сервер имен: doggo MX github.com @9.9.9.9
Где скачать doggo?
Исходный код и инструкции по установке — на GitHub: https://github.com/mr-karan/doggo

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

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

Бесплатный межсетевой экран с открытым исходным кодом для Windows и Linux: отслеживает и контролирует сетевой трафик каждого приложения, поддерживает защищённый DNS и блокировку трекеров.

14 тыс.+4 за неделю601GoGPL-3.0Обновлён 3 дня назад