fourkitchens / czdap-tools

Tools for downloading zone data and authentication credentials from ICANN's CZDS application.
MIT License
125 stars 47 forks source link

CZDAP Tools

Some registries allow users to download zone data directly from CZDAP, and others provide FTP credentials that you can use to login to their servers. These tools allow you to programatically perform these two tasks:

Installation

This script requires Python 2.x plus the pycrypto and requests extension libraries.

Mac OSX

Tested on Snow Leopard and Mountain Lion

OSX comes with Python preinstalled. To install the required extensions, issue the following commands:

sudo easy_install pip
sudo pip install --upgrade pycrypto requests

Linux

Tested on Ubuntu 13.04 Raring Ringtail

sudo apt-get install python-crypto python-requests

Windows

Tested on Windows 7

Download and configure the Python environment:

Install pycrypto and requests:

Decrypting credentials

To confirm that you've installed the dependencies correctly, simply run the test and it should process the example data successfully:

cd credentials-decrypt/test
python test-decrypt.py

You should get the following sample output in basic CSV format:

server,username,password
ftp.download.com,com_ftp_access,specialpassword__22
ftp.download.biz,sally,password12345$
ftp.download.net,net_access,secretpassword456

To decrypt your own FTP credentials:

  1. Visit CZDAP and copy your token. You can find it on your user profile page, under the tab "API".
  2. In the /credentials-decrypt directory, make a copy of the config.sample.json file and name it config.json.
  3. Edit config.json and overwrite the "token" parameter with the your unique token.
  4. Copy your private key into this directory and make sure it's named czdap.private.key.
  5. Run python decrypt.py.

Downloading zone data

  1. Visit CZDAP and copy your token. You can find it on your user profile page.
  2. In the /zonedata-download directory, make a copy of the config.sample.json file and name it config.json.
  3. Edit config.json and overwrite the "token" parameter with the your unique token.
  4. Run python download.py

Contributing

Contributions are welcome.