Skip to main content

DNS propagation checker

Project description

dnspropagation

CLI utility to check propagation of DNS records using multiple DNS servers simultaneously.

Installation

pip install dnspropagation
# or
pipx install dnspropagation
# or run in docker
docker run berkas1/dnspropagation a google.com

Usage

Specify the record type and domain name:

dnspropagation a google.com

# docker
docker run berkas1/dnspropagation a google.com

Queries six default public nameservers and prints a formatted table. Use --json or --yaml for machine-readable output.

Table 1

Parameters

Custom DNS servers

Supply one or more servers with --server:

dnspropagation --server 1.1.1.1 --server 8.8.8.8 a google.com

Or provide a YAML-formatted server list via --custom_list using a local file path or an http(s):// URL:

dnspropagation --custom_list custom-list.yaml a google.com
dnspropagation --custom_list https://example.com/my-servers.yaml a google.com

See custom-list.yaml for the expected format. Remote lists are fetched over HTTPS (recommended) or HTTP with a 10-second timeout and a 1 MB size limit. Every entry must contain a valid ipv4 field.

Expected results

Use --expected to assert a specific value. Matching values are highlighted green; non-matching values are highlighted red. The flag can be used multiple times.

expect1

Filtering DNS servers

--tags and --owner filter which servers from the default list or a custom list are queried. Both flags accept multiple values and are combined with AND logic.

TTL

--ttl adds a TTL column to the output table. Works with --json, --yaml, and --html output modes as well.

Generate HTML output

--html writes a self-contained HTML page to STDOUT.

Other features

  • --no-color - disable ANSI color codes in terminal output.
  • --timeout <seconds> - per-query timeout in seconds (float). Defaults to dnspython's built-in timeout.
  • --random <N> - randomly select N servers from the active server list before querying.
  • --show-default - print the built-in default DNS server list to STDOUT (add --yaml for YAML format).
  • --file <path> - run multiple record/domain checks defined in a YAML file and output results as JSON.
  • --version - print the current version and exit.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dnspropagation-0.0.8.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dnspropagation-0.0.8-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file dnspropagation-0.0.8.tar.gz.

File metadata

  • Download URL: dnspropagation-0.0.8.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dnspropagation-0.0.8.tar.gz
Algorithm Hash digest
SHA256 7516407c4af4ba59968730552d744ada9eeebfdbc1433a4626f5b0c606cb4e6d
MD5 1e8314872454e2905bccb3f776577dec
BLAKE2b-256 0d950798a532e46e680f00be0b0b1677537f4c6abe391caaa7dfdaa7caf744a4

See more details on using hashes here.

File details

Details for the file dnspropagation-0.0.8-py3-none-any.whl.

File metadata

  • Download URL: dnspropagation-0.0.8-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dnspropagation-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 268a2c0ba78e563be561d66510ce3d064e8bbc446b09420e8a582e2d47bae875
MD5 c186e08c234d4eba84bdf0b1839ca975
BLAKE2b-256 75316a32f9d5d53bdf4a939c464b73be5efd752d73df43d43117301bed47e9e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page