Skip to main content

dynamic dns (dyndns) update client that tries to be extensible, re-usable and efficient on network resources

Project description

Dyndnsc - dynamic dns update client

https://travis-ci.org/infothrill/python-dyndnsc.png https://coveralls.io/repos/infothrill/python-dyndnsc/badge.png https://badge.fury.io/py/dyndnsc.png

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 http based update protocols.

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

Compatible protocols

Feel free to send pull requests to add more.

Compatible services

This list is incomplete, since there are for example a lot of dyndns2 compatible services out there, but we are not keeping a full list here. Also, due to current limitations in Dyndnsc (#4) it is not yet possible to use an arbitrary service with a compatible protocol (yet).

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+

Documentation

Documentation is available at http://dyndnsc.readthedocs.org/.

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.4 (January 3rd 2014)

  • added: initial support for dnsimple.com through dnsimple-dyndns
  • added: plugin based desktop notification (growl and OS X notification center)
  • changed: for python3.3+, use stdlib ‘ipaddress’ instead of ‘IPy’
  • improved: dyndns2 update is now allowed to timeout
  • improved: freedns.afraid.org robustness
  • improved: webcheck now has an http timeout
  • improved: naming conventions in code
  • added: initial documentation using sphinx

0.3.3 (December 2nd 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 (November 16th 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
  • 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

History Node

0.4.4

History Node

0.4.3

History Node

0.4.2

History Node

0.4.1

This version
History Node

0.3.4

History Node

0.3.3

History Node

0.3.2

History Node

0.3.1

History Node

0.3

History Node

0.2.1

History Node

0.2.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
dyndnsc-0.3.4-py27-none-any.whl (35.6 kB) Copy SHA256 hash SHA256 Wheel 2.7 Jan 3, 2014
dyndnsc-0.3.4-py33-none-any.whl (35.6 kB) Copy SHA256 hash SHA256 Wheel 3.3 Jan 3, 2014
dyndnsc-0.3.4.tar.gz (22.9 kB) Copy SHA256 hash SHA256 Source None Jan 3, 2014

Supported by

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