Skip to content

dyndns2-styled Dynamic DNS update API server using Amazon Route 53 as a backend.

Notifications You must be signed in to change notification settings

goura/dynamic53

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Dynamic53
===========
Dynamic53 is a REST API interface server backed by Amazon Route 53.
Dynamic53 provides an API similar to DDNS providers,
specifically dyndns2-like protocol,
thus it can be used to build a personal dynamic DNS service
which is updatable via existing DDNS clients like ddclient.

Requirement
============
You need to be signed up with Amazon Route 53.
You need your own domain.
Zone must be created on Route53,
WHOIS information for the domain must be setup correctly for Route 53,
to access the updated information.
You need python and python-setuptools installed in the server.

Installation
=============
	# python setup.py install
(will install depending python modules, and puts dynamic53 command in your bin directory)

Running
========
	# dynamic53 --bind_ip=0.0.0.0 --port=80
(for other options, consult `dynamic53 --help` output)

Example
========
To update IP address using ddclient, use config like:

	daemon=300	
	ssl=no			
	use=web
	login=AK*******************             # AWS Access ID
	password=PW*******************          # AWS Secret Access Key
	server=127.0.0.1                        # IP address where dynamic53 is running
	protocol=dyndns2,
	your-dynamic-host.example.com           # hostname to update

Old ddclient Problem
======================
Old ddclient has problems in Base64 encoding for long passwords.
Use newer ones.

If you can't use newer ones, comment out the 3 lines below in /usr/sbin/ddclient,
by inserting '#' on the head. This should not harm anything.

    # break encoded string into lines of no more than 76 characters each
#    if (length $eol) {
#        $res =~ s/(.{1,76})/$1$eol/g;
#    }

Nested Zones Problem
=======================
If you have nested zones registered in your Route 53,
requests for changes will be ambiguous.
If you like to set A records to the domain itself,
add '.' in front of the hostname.

ex)
If you have 'example.com' 'hige.example.com' registered in Route 53,
and you want to add/change 'hige.example.com' to 'example.com',
use 'hige.example.com'.
If you want to add/change 'hige.example.com' to 'hige.example.com',
use '.hige.example.com'.

Limitations
=============
* Doesn't support multi hostnames in requests yet.

Disclaimer
============
This is nothing more than a quick-hack project.
Using this in production environment is not recommended.

About

dyndns2-styled Dynamic DNS update API server using Amazon Route 53 as a backend.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published