Skip to main content

CZDS

PyPI Status Python Version License

Read the documentation at https://czds.readthedocs.io/ Code Quality & Tests

Codecov

pre-commit Black

What is CZDS?

Each Top Level Domain (TLD) is maintained by a registry operator, who also manages a publicly available list of Second Level Domains (SLDs) and the details needed to resolve those domain names to Internet Protocol (IP) addresses.

The registry operator’s zone data contains the mapping of domain names, associated name server names, and IP addresses for those name servers. These details are updated by the registry operator for its respective TLDs whenever information changes or a domain name is added or removed.

Each registry operator keeps its zone data in a text file called the Zone File which is updated once every 24 hours.

Features

  • Retrieve Centralized Zone Transfer Files from root DNS servers hosted by ICAAN and other agencies
  • Download one or all of the zone files and return data in multiple formats; text, json or a file (default)
  • You can now retrieve zone files using multi-threading

Roadmap

The following are some of the features I am planning on adding but would love to hear everyones thoughts as well.

  • Add ability to search based on domain and/or TLD
    • This may include using algorithms like Levenshtein distance, confusables/idna characters, etc.
  • Add ability to derive differences between zone files over time
  • Add ability to retrieve other contextual external information like WHOIS
  • Add ability to save/store data into a database

Requirements

  • You need a CZDS account with ICAAN. You can sign-up here
  • Internet access

Installation

You can install CZDS via pip from PyPI:

$ pip install czds

If you are using poetry (recommended) you can add it to your package using

poetry add czds

Usage

Below is the command line reference but you can also use the current version of czds to retrieve the help by typing czds --help.

NAME
    czds - Main class for ICAAN CZDS.

SYNOPSIS
    czds GROUP | VALUE | --username=USERNAME --password=PASSWORD --save_directory=SAVE_DIRECTORY

DESCRIPTION
    Main class for ICAAN CZDS.

ARGUMENTS
    USERNAME
        Type: ~AnyStr
    PASSWORD
        Type: ~AnyStr
    SAVE_DIRECTORY
        Type: ~AnyStr

GROUPS
    GROUP is one of the following:

     BASE_HEADERS

     links

VALUES
    VALUE is one of the following:

     AUTH_URL

     BASE_URL

     OUTPUT_FORMAT

     PASSWORD

     SAVE_PATH

     THREAD_COUNT

     USERNAME

     connection

Contributing

Contributions are very welcome. To learn more, see the Contributor Guide.

Developmemt

You can clone the repositry and begin development using

git clone https://github.com/MSAdministrator/czds.git
cd czds
poetry install

If you are using pyenv to manage your enviroments you can set a config option in poetry to use the set pyenv version of python by running this:

poetry config virtualenvs.prefer-active-python true
poetry install

License

Distributed under the terms of the [MIT license][LICENSE.md], CZDS is free and open source software.

Security

Security concerns are a top priority for us, please review our Security Policy.

Issues

If you encounter any problems, please file an issue along with a detailed description.

Credits

This project was generated from @MSAdministrator's Hypermodern Python Cookiecutter template.

Metadata

Release files for czds 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for czds 0.1.4
File Size Uploaded Provenance
czds-0.1.4.tar.gz 14.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for czds 0.1.4
File Interpreter ABI Platform
czds-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 28.4 kB

Release files / czds-0.1.4.tar.gz

Download URL czds-0.1.4.tar.gz
Size 14.0 kB
Tags Source
SHA-256 checksum
How to use checksums
57a18b5e3fcaccf465135a001ea07aa3ce415fbc909504cbc997a6a9f93656a2
BLAKE2b-256 checksum
How to use checksums
755fc0fb3d3a6750ab09efac3a9e62a0e6a5a255cfa604866229a54c7c66fbf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2025.

Transparency log

Release files / czds-0.1.4-py3-none-any.whl

Download URL czds-0.1.4-py3-none-any.whl
Size 14.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a22ba8130e573258a07e9abd70fa08b1f466939798936d981b143472e502b8a8
BLAKE2b-256 checksum
How to use checksums
2970e56da26f7d876a3d067745eb26b352c22c788a3c63221a643cba044be571
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2025.

Transparency log

Security for czds 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for czds-0.1.4.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2025.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page