Public | Automated Build

Last pushed: 2 years ago
Short Description
full featured micro DNS server
Full Description

Note: Moved to Github:


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 fig 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:

$ hg clone
$ cd udns
$ python develop
$ sudo udnsd --debug  # Server
$ udnsc --help        # Client

From Source using fig and Docker:

$ hg clone
$ cd udns
$ fig up                   # Server
$ fig 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)/

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

Create new Zone from a file:

$ udnsc create


$ udnsc create - <

List Zones:

$ udnsc list

Show Zone Records:

$ udnsc show

Export a Zone::

$ udnsc export


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

Add Zone Records:

$ udnsc add www

Delete a Zone Record:

$ udnsc delete www

Delete a Zone:

$ udnsc delete


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

Docker Pull Command
Source Repository