Metadata-Version: 2.0
Name: dyndnsc
Version: 0.3.3
Summary: dynamic dns update client package that tries to be extensible, re-usable and efficient on network resources
Home-page: https://github.com/infothrill/python-dyndnsc
Author: Paul Kremer
Author-email: paul@spurious.biz
License: MIT License
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: DFSG approved
Classifier: License :: OSI Approved
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Internet :: Name Service (DNS)
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Environment :: Console
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: POSIX :: BSD :: FreeBSD
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
Requires-Dist: requests
Requires-Dist: IPy (>=0.56)
Requires-Dist: netifaces-py3 (==0.8)

Dyndnsc - dynamic dns update client
===================================

.. image:: https://travis-ci.org/infothrill/python-dyndnsc.png
    :target: https://travis-ci.org/infothrill/python-dyndnsc

.. image:: https://coveralls.io/repos/infothrill/python-dyndnsc/badge.png
        :target: https://coveralls.io/r/infothrill/python-dyndnsc

.. image:: https://badge.fury.io/py/dyndnsc.png
    :target: http://badge.fury.io/py/dyndnsc

.. image:: https://pypip.in/d/dyndnsc/badge.png
        :target: https://crate.io/packages/dyndnsc/


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

.. code-block:: bash

    $ dyndnsc  --hostname test.dyndns.com --userid bob --password=fub4r


Are you using `Miredo <http://www.remlab.net/miredo/>`_ and want to assign
a hostname dynamically to your ipv6 tunnel?

.. code-block:: bash

    $ dyndnsc  --hostname test.dyndns.com --userid bob --method=teredo


Supported services
==================
Currently, (at least basic) support is offered for

* `dyndns.org <http://dyndns.org/>`_
* `no-ip <https://www.no-ip.com/>`_
* `nsupdate.info <https://nsupdate.info/>`_
* `freedns.afraid.org <http://freedns.afraid.org/>`_ (experimental)

Feel free to send pull requests to add more.

Installation
============

.. code-block:: bash

    $ pip install dyndnsc

or, if you want to work using the source tarball:

.. code-block:: bash

    $ 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

