Repolode
mr-karan

mr-karan/doggo

用 Go 编写的命令行 DNS 客户端,类似 dig,输出简洁,支持 DoH、DoT、DoQ 和 DNSCrypt。

可替代:dig

Star
4,522
Fork
148
未关闭 Issue
0
最近提交
前天

这是什么?

doggo 是一个命令行 DNS 客户端,用途类似 dig,使用 Go 编写。查询结果以简洁、带颜色的表格形式输出,也可以输出 JSON 供脚本处理。除普通 UDP 和 TCP 外,它还支持 DoH、DoT、DoQ 和 DNSCrypt 等加密传输方式。

除基础查询外,doggo 支持用 --trace 逐级追踪委托链,支持反向 DNS 查询,并可配置多个解析器及查询策略。它支持 Client Subnet、NSID、Cookies、Padding 等 EDNS 选项,通过 punycode 处理国际化域名,也支持 ndots 和 search 配置。默认参数可写入 TOML 配置文件,或通过 DOGGO_* 环境变量设置。

项目提供预编译二进制文件,可通过多种包管理器、go install 或 Docker 镜像安装。

核心功能

  • 01带颜色的表格输出,并支持 JSON 格式便于脚本处理
  • 02支持 UDP、TCP、DoH、DoT、DoQ 和 DNSCrypt 协议
  • 03通过 --trace 逐级追踪 DNS 委托链
  • 04支持 Client Subnet、NSID、Cookies、Padding 等 EDNS 选项
  • 05支持反向 DNS 查询和通过 punycode 处理国际化域名
  • 06可通过 TOML 配置文件或 DOGGO_* 环境变量设置默认参数

适用场景

  • 在终端中排查域名的 DNS 记录问题
  • 通过加密的 DoH 或 DoT 连接查询指定解析器
  • 用 JSON 输出编写 DNS 检查脚本
  • 追踪域名的委托解析过程

快速上手

  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 许可证,这是一种 copyleft 许可证,要求衍生作品同样保持开源。

收录于专题

标签

常见问题

doggo 是什么?
用 Go 编写的命令行 DNS 客户端,类似 dig,输出简洁,支持 DoH、DoT、DoQ 和 DNSCrypt。 doggo 是一个命令行 DNS 客户端,用途类似 dig,使用 Go 编写。查询结果以简洁、带颜色的表格形式输出,也可以输出 JSON 供脚本处理。除普通 UDP 和 TCP 外,它还支持 DoH、DoT、DoQ 和 DNSCrypt 等加密传输方式。
doggo 可以免费使用吗?用的什么许可证?
doggo 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
doggo 还在维护吗?
活跃维护中。doggo 最近一次提交是在 2026年10月22日。
doggo 适合用来做什么?
在终端中排查域名的 DNS 记录问题 通过加密的 DoH 或 DoT 连接查询指定解析器 用 JSON 输出编写 DNS 检查脚本 追踪域名的委托解析过程
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

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

相关项目