aboutsummaryrefslogtreecommitdiff
# Ascension

Tool to easily migrate existing DNS Zones into the GNU Name System using
incremental zone transfers (AXFR/IXFR).

## How to install
To install the ascension simply execute one of the following commands in the
freshly cloned directory:

```bash
# System wide installation
sudo python3 setup.py install

# Local installation through virtualenv
python3 -m venv .venv
source .venv/bin/activate
python3 setup.py install
```

## How to install (Developer)
A developer installation is very handy when you are making changes to the source
code as this way you don't need to re-run the installation procedure every time
you make a change.

```bash
# installation through virtualenv
python3 -m venv .venv
source .venv/bin/activate
python3 setup.py develop
```

## How to use
If you have installed it, simply execute ascension with one of several options.
You can also just run the file ascension.py itself directly.

Taken from the docstring of the ascension.py file:
```
usage: ascension [-h] [-n NAMESERVER] [-P PORT] [-k KEYFILE] [-l LOGLEVEL] [-t TTL] [-s] [-p] [-g] [-V] domain

Easy tool to migrate DNS zones into GNS

positional arguments:
  domain                Domain to be migrated into GNS

options:
  -h, --help            show this help message and exit
  -n NAMESERVER, --nameserver NAMESERVER
                        Nameserver to use for migrating
  -P PORT, --port PORT  Port to use for zone transfer with nameserver
  -k KEYFILE, --keyfile KEYFILE
                        Keyfile to use for DNS TSIG
  -l LOGLEVEL, --loglevel LOGLEVEL
                        Loglevel to use, 10 Debug, 20 Info, 30 Warning, 40 Error, 50 Critical
  -t TTL, --ttl TTL     Sets the minimum ttl of records added to GNS
  -s, --standalone      Run ascension once and not as daemon
  -p, --public          Push records to the public DHT
  -g, --dryrun          Tests if zone is transferrable without changing anything
  -V, --version         show program's version number and exit
```

Example use:
```
# Transfers the nu TLD from zonedata.iis.se with loglevel debug
ascension nu -n zonedata.iis.se. -l10
```