dynamic dns update client package that tries to be extensible, re-usable and efficient on network resources
Project description
Dyndnsc - dynamic dns update client
dyndnsc is both a script to be used directly as well as a re-usable and hopefully extensible python package for doing updates over http to dynamic dns services. This package currently focuses on supporting the dyndns2 protocol (http://dyn.com/support/developers/api/) and variations thereof.
Examples
Basic example that should fit most peoples needs:
$ dyndnsc --hostname test.dyndns.com --userid bob --password=fub4r
Are you using Miredo and want to assign a hostname dynamically to your ipv6 tunnel?
$ dyndnsc --hostname test.dyndns.com --userid bob --method=teredo
Supported services
Currently, (at least basic) support is offered for
freedns.afraid.org (experimental)
Feel free to send pull requests to add more.
Installation
$ pip install dyndnsc
or, if you want to work using the source tarball:
$ python setup.py install
Requirements
Python 2.6, 2.7, 3.2 or 3.3
Goals
dyndnsc was born as a minimal module for use in the ANGEL APP, a p2p filesystem on top of webdav. At the time, the command line interface was not important. Now that time has passed, the goals are essentially to provide both an easy to use command line tool as well as providing an OK API for developers who want to add dyndns capabilities to their software. Also, providing support for many different ways of detecting and updating IP/DNS records is important.
Status
dyndnsc is currently still in alpha stage, which means that any interface can still change at any time. For this to change, it shall be sufficient to have documented use of this package which will necessitate stability (i.e. community process).
Release history
0.3.3 (02.12.2013)
added: experimental support for http://freedns.afraid.org
added: detecting ipv6 addresses using ‘webcheck6’ or ‘webcheck46’
fixed: long outstanding state bugs in detector base class
improved: input validation in Iface detection
improved: support pytest conventions
0.3.2 (16.11.2013)
added: command line option –debug to explicitly increase loglevel
fixed potential race issues in detector base class
fixed: several typos, test structure, naming conventions, default loglevel
changed: dynamic importing of detector code
0.3.1 (November 2013)
added: support for https://nsupdate.info
fixed: automatic installation of ‘requests’ with setuptools dependencies
added: more URL sources for ‘webcheck’ IP detection
improved: switched optparse to argparse for future-proofing
fixed: logging initialization warnings
improved: ship tests with source tarball
improved: use reStructuredText rather than markdown
0.3 (October 2013)
moved project to https://github.com/infothrill/python-dyndnsc
added continuous integration tests using http://travis-ci.org
added unittests
dyndnsc is now a package rather than a single file module
added more generic observer/subject pattern that can be used for desktop notifications
removed growl notification
switched all http related code to the “requests” library
tentatively added http://www.noip.com
removed dyndns.majimoto.net
dropped support for python <= 2.5 and added support for python 3.2+
0.2.1 (February 2013)
moved code to git
minimal PEP8 changes and code restructuring
provide a makefile to get dependencies using buildout
0.2.0 (February 2010)
updated IANA reserved IP address space
Added new IP Detector: running an external command
Minimal syntax changes based on the 2to3 tool, but remaining compatible with python 2.x
0.1.2 (July 2009)
Added a couple of documentation files to the source distribution
0.1.1 (September 2008)
Focus: initial public release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.