Skip to main content

Dyndnsc - dynamic dns update client

https://img.shields.io/pypi/v/dyndnsc.svg https://img.shields.io/pypi/l/dyndnsc.svg https://img.shields.io/pypi/pyversions/dyndnsc.svg https://travis-ci.org/infothrill/python-dyndnsc.svg?branch=master Code coverage

Dyndnsc is a command line client for sending updates to dynamic dns (ddns, dyndns) services. It supports multiple protocols and services, and it has native support for ipv6. The configuration file allows using foreign, but compatible services. Dyndnsc ships many different IP detection mechanisms, support for configuring multiple services in one place and it has a daemon mode for running unattended. It has a plugin system to provide external notification services.

Quickstart / Documentation

See the Quickstart section of the https://dyndnsc.readthedocs.io/

Installation

# from pypi:
pip install dyndnsc

# using docker:
docker pull infothrill/dyndnsc-x86-alpine

# from downloaded source:
python setup.py install

# directly from github:
pip install https://github.com/infothrill/python-dyndnsc/zipball/develop

Requirements

  • Python 2.7 or 3.4+

Status

Dyndnsc is 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.5.1 (July 7th 2019)

0.5.0 (June 25th 2019)

  • improved: simplified notification plugin and externalized them using entry_points

  • added: WAN IP detection through DNS (detector ‘dnswanip’)

  • improved: replaced built-in daemon code with daemonocle

  • switched to pytest for running tests

  • changed (INCOMPATIBLE): dropped support for python 2.6 and python 3.3

  • added: new command line option -v to control verbosity

  • improved: infinite loop and daemon stability, diagnostics #57

  • improved: updated list of external urls for IP discovery

  • improved: install documentation updated

  • improved: add many missing docstrings and fixed many code smells

  • improved: run flake8 code quality checks in CI

  • improved: run check-manifest in CI

  • improved: run safety in CI

0.4.4 (December 27th 2017)

  • fixed: fixed wheel dependency on python 2.6 and 3.3

  • fixed: pep8 related changes, doc fixes

0.4.3 (June 26th 2017)

  • fixed: nsupdate URLs

  • fixed: several minor cosmetic issues, mostly testing related

0.4.2 (March 8th 2015)

0.4.1 (February 16th 2015)

  • bugfixes

0.4.0 (February 15th 2015)

  • changed (INCOMPATIBLE): command line arguments have been drastically adapted to fit different update protocols and detectors

  • added: config file support

  • added: running against multiple update services in one go using config file

  • improved: for python < 3.2, install more dependencies to get SNI support

  • improved: the DNS resolution automatically resolves using the same address family (ipv4/A or ipv6/AAAA or any) as the detector configured

  • improved: it is now possible to specify arbitrary service URLs for the different updater protocols.

  • fixed: naming conventions

  • fixed: http connection robustness (i.e. catch more errors and handle them as being transient)

  • changed: dependency on netifaces was removed, but if installed, the functionality remains in place

  • a bunch of pep8, docstring and documntation updates

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

Download files

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

Source Distribution

dyndnsc-0.5.1.tar.gz (53.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dyndnsc-0.5.1-py2.py3-none-any.whl (63.0 kB view details)

Uploaded Python 2Python 3

File details

Details for the file dyndnsc-0.5.1.tar.gz.

File metadata

  • Download URL: dyndnsc-0.5.1.tar.gz
  • Upload date:
  • Size: 53.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

File hashes

Hashes for dyndnsc-0.5.1.tar.gz
Algorithm Hash digest
SHA256 4b2e94d1784843d98f9b39e658aaa8caa137e2f684f387f0962be8b9a17b0ddd
MD5 55bc511dbc6d9a9d46f89bcfaa70f37c
BLAKE2b-256 d239c92cb0f85d9a14b801360b8e334020ae6f98f706865445a5af8a59b02d2a

See more details on using hashes here.

File details

Details for the file dyndnsc-0.5.1-py2.py3-none-any.whl.

File metadata

  • Download URL: dyndnsc-0.5.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 63.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.8

File hashes

Hashes for dyndnsc-0.5.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 057111136f7f4b7676be8a068a060857612529da8f7edf780eb3d836852d039a
MD5 d5d64c31b137f6aea59995625e99e487
BLAKE2b-256 b6258d3470ffc06e90ab764d8cdf7cd6a0489a2e89863da9cc94c29dc9525f04

See more details on using hashes here.

Release history Release notifications | RSS feed

0.6.1

2 files

0.6.0

2 files

This release

0.5.1 This release

2 files

0.5.0

2 files

0.4.4

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.3.4

3 files

0.3.3

4 files

0.3.2

3 files

0.3.1

1 file

0.3

1 file

0.2.1

1 file

0.2.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page