doggo基于 Golang 的命令行 DNS 客户端
doggo 是一个用 Golang 编写的现代命令行 DNS 客户端。它以一种简洁的方式输出信息,并支持 DoH、DoT 和 DNSCrypt 等协议。
特点:
- 可读的输出 —— 支持颜色和表格格式。
- 支持 JSON 格式 —— 在编写脚本时很有用。
- 支持多种传输协议。
- DNS over HTTPS (DoH)
- DNS over TLS (DoT)
- DNS over TCP
- DNS over UDP
- DNS over DNSCrypt
- 支持来自 resolv.conf 或命令行参数的 ndots 和搜索配置。
- 同时支持多个解析器。
- 同时支持 IPv4 和 IPv6。
- 也可以作为一个网络工具:https://doggo.mrkaran.dev。
- zsh 和 fish 的 Shell 补全
- 反向 DNS 查询
安装
二进制
可以从 Releases 部分获取适用于 Linux、MacOS 和 Windows 的最新二进制文件。
例如,要拉取最新的linux-amd64
二进制文件:
$ cd "$(mktemp -d)" $ curl -sL "https://github.com/mr-karan/doggo/releases/download/v0.3.7/doggo_0.3.7_linux_amd64.tar.gz" | tar xz $ mv doggo /usr/local/bin # doggo should be available now in your $PATH $ doggo
Docker
图像托管在 Github Container Registry (ghcr.io) 上。可以在此处查看所有标签。它甚至支持 ARM,因此您可以在 RPi 上启动一个容器来进行 DNS 查询。
pull
docker pull ghcr.io/mr-karan/doggo:latest
run
可以将所有参数直接提供给 CLIdocker run
命令。例如:
docker run ghcr.io/mr-karan/doggo:latest mrkaran.dev @1.1.1.1 MX
评论