Simple GUI for Route 53 Amazon DNS written with Flask and boto
Python CSS Ruby
Latest commit 5ee961f Jun 4, 2014 @zen4ever Merge pull request #19 from yekeqiang/master
fix issue #18


Route 53 Manager

Simple GUI for Route 53 Amazon Cloud DNS service written using Flask and boto.


  • Create/delete hosted zones
  • Create/update/delete records
  • Manipulate recordsets
  • Stores change log in the SQL database
  • Optional Digest Authentication
  • Import DNS records from Slicehost one zone at a time
  • Clone DNS zone with all rules, but new domain

Route 53 Manager is meant to be running locally, on user's machine, or local network behind the firewall. It allows you to manage DNS zones and records for AWS credentials specified in application.cfg (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)

Since you are running the app, you don't need to pass your AWS credentials to any third party website.

How to install

Clone the project from GitHub

git clone git://
cd route53manager

Install dependencies

pip install -r requirements.txt

Create config file

cp route53/application.cfg.example route53/application.cfg

Add your AWS credentials to newly created "application.cfg"

Create empty database and run development server


Visit in your favorite browser


If you want to run Route53Manager on intranet open only to certain users, you can enable digest authentication. Define AUTH_USERS variable in your route53/application.cfg like this:

  ('admin', 'admin_password'),
  ('test', 'secret_password'),


  1. Which Python version is supported by route53manager?

    Flask documentation says that Python2.5+ is required. Some of the plugins might use Python 2.6 specific features, so, recommended version is Python 2.6+.

  2. How do I make Route53Manager accessible to requests from other machines on my local network?

    By default spins a local development server which listens to IP address, which is not accessible from other machines on your network. You can use your machine's IP address (e.g. or in"")

    so your dev server will listen to external requests.

    You can also use some other WSGI server like Gunicorn.

    pip install gunicorn
    gunicorn route53:app -b