Giter Club home page Giter Club logo

duiadns's Introduction

## duiadns

This is a simple dynamic updater for DUIA DNS written in Python.

Dependencies:

  - netaddr >= 0.7.18
    * https://pypi.org/project/netaddr/

  - netifaces >= 0.10.5
    * https://pypi.org/project/netifaces

  - requests 2.7.0
    * https://pypi.org/project/requests/

The updater can optionally update IPv4 or IPv6 addresses for one or more
hostnames using the same MD5 password hash. Parameters are encoded in a simple
INI-style configuration. A commented sample is provided. To invoke the updater,
simply run

	duiadns /path/to/config

This script can be run by a regular user, but running as root (especially
periodically) is recommended to allow permissions on the configuration file to
be restricted to prevent disclosure of the MD5 password hash.

IPv4 addresses are determined from the response of http://ipv4.duiadns.net/.

IPv6 addresses are determined from the response of http://ipv6.duiadns.net/.
The updater will ignore any unreasonable addresses:

* Unspecified (::/128) or link-local (::1/128),
* IPv4 mapping or translation (::ffff:0:0/96, ::ffff:0:0:0/96, 64:ff9b::/96),
* Discard (100::/64)
* Unique local (fc00::/7) and link-local (fe80::/10)

If possible, the updater will also attempt to substitute a stable address
found on the same subnet as the DUIA response if the response corresponds to a
temporary address. (This is currently only possible on BSD or macOS systems.)

## duiatxt

This is a simple shell script to send dynamic TXT updates for a given host. It
relies on curl to make the update request and awk to process a duiadns.conf
file for a password. Parsing is unaware of actual file structure, so any line
that starts with "password: " will assume the second token is the password to
use, even if it isn't in a "[duia]" section.

NOTE: This script will make the password visible on the curl command line.

duiadns's People

Contributors

ahesford avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.