CZDS
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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| czds-0.1.4.tar.gz | 14.0 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.