Skip to content

BiznetGIO/digs

Repository files navigation

digs

dig many at once.

A digs demo


digs is a DNS command-line client that is able to query many DNS servers at once.

Why?

We work with DNS records a lot. Having a tool that inspects multiple records across different machines at once is a lifesaver.

Features

  • Prevent invalid input before querying, such as invalid record types or configuration.
  • No panics, good error handling.
  • much faster compared to previous digs.py.
  • Fancy error messages and colorful output.
  • Cross-platform and single binary.

Usage

Prepare a configuration file that should look like this:

[[servers]]
address = "8.8.8.8"
name = "Google"

[[servers]]
address = "9.9.9.9:54" # Custom port, default: 53
name = "Quad9"

The servers blocks can be as many as you want.

Example commands:

digs example.net A                         Query a domain using the configuration in the current directory
digs example.net A --config custom.toml    ...using custom configuration

Run digs --help to see more available options.

Installation

From binaries

The release page includes pre-compiled binaries for GNU/Linux, macOS, and Windows.

From source

Using cargo-binstall

cargo binstall digs

Using Rust's package manager cargo:

cargo install digs

Development

git clone https://github.com/BiznetGIO/digs
cd digs

# Run unit tests and integration tests
cargo test

# Install
cargo install --path .

Contributing

To learn more read the contributing guide

Licence

digs source code is licensed under the MIT.