Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

micro dns server

Project description

'Stories in Ready' Build Status Coverage Quality

udns is an authoritative, caching DNS server for development and small deployments written in Python using the circuits Application Framework and the dnslib DNS library. udns can be run standalone, via Docker or using the Docker Compose tool. udns is designed to be small, lightweight, fast and flexible. udns fully supports forwarding, caching as well as honoring TTL(s). udns will also read your /etc/hosts file at startup and use this to populate an internal hosts cache so that entries in your local /etc/hosts file are fully resolvable with tools such as host, dig and resolver client libraries.

Installation and Usage

From Source:

$ git clone https://github.com/prologic/udns
$ cd udns
$ python setup.py develop
$ sudo udnsd --debug  # Server
$ udnsc --help        # Client

From Source using Docker and Docker Compose:

$ git clone https://github.com/prologic/udns
$ cd udns
$ docker-compose up -d                  # Server
$ docker-compose run --rm udns udnsc    # Client

Using Docker:

$ docker run -d -p 53:53/udp prologic/udns

From PyPi (coming soon):

$ pip install udns
$ udnsd     # Server
$ udnsc     # Client

Running as a Daemon:

$ sudo udnsd -d --logfile=$(pwd)/udnsd.log --pidfile=$(pwd)/udnsd.pid

Managing Zones and Records

udns is a full authoritative, caching DNS server and ships with a client to help manage zones and records. Here are some quick examples:

Create new Zone:

$ udnsc create abc.com.

Create new Zone from a file:

$ udnsc create abc.com. abc.com

or::

$ udnsc create abc.com. - < abc.com

List Zones:

$ udnsc list

Show Zone Records:

$ udnsc show abc.com.

Export a Zone::

$ udnsc export abc.com.

Note

This exports the Zone to stdout which you can pipe into an output file for storage using your shell. e.g: udnsc export abc.com. > abc.com

Add Zone Records:

$ udnsc add abc.com. www 127.0.0.1

Delete a Zone Record:

$ udnsc delete abc.com. www

Delete a Zone:

$ udnsc delete abc.com.

Note

You __must__ specify zones as fully qualified domain names with a trailing period. e.g: abc.com.

Changes

udns 0.0.2 (2016-01-26)

  • Added support for CNAME(s)
  • Added support for @ ($ORIGIN)
  • Various small bugfixes

udns 0.0.1 (2014-08-26)

  • Initial Release

Project details


Download files

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

Files for udns, version 0.0.2
Filename, size File type Python version Upload date Hashes
Filename, size udns-0.0.2-py2-none-any.whl (14.8 kB) File type Wheel Python version 2.7 Upload date Hashes View hashes
Filename, size udns-0.0.2.tar.gz (11.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page