PowerDynDNS is licensed under GPL2 or later.
PowerDynDNS Requires PHP-CLI with PCRE.
PowerTinyDynDNS Requires PHP-CLI with PCRE, Sockets, and PCNTL.

What are PowerDynDNS and PowerTinyDynDNS?
--------------------------------------------------------------------------------
PowerDynDNS is a collection of scripts that implements a "Dynamic DNS" service,
on top of the PowerDNS authoritative server and MySQL/MariaDB.  PowerDynDNS is
intended to be passibly compatible with both DynDNS.com clients that allow
custom servers, and tinydyndns clients.  As tinydyndns is based on POP3
protocol, all tinydyndns clients, POP3 checkers, and email programs that support
POP3 (virtually all of them) are compatible with the PowerDynDNS service if the
tinydyndns service is enabled.


Protocols:
----------
PowerDynDNS comes with two backend dynamic DNS protocols.
1. dyn.org and dyndns.com compatible protocol
   This runs under your web server, like any other PHP script.

2. tinydyndns compatible protocol (POP3)
   This runs as a network daemon on your server under PHP-CLI.
   The tinydyndns daemon needs to be run as root to open privileged
   ports like 110 (POP3).  It drops privileges immediately after opening
   privileged ports.

You must choose at least one protocol.  You may choose to use both.  Both
protocol services share users, passwords, and hostnames.  The user management
script powerdyndns-users is used to manage users for both.  Users choose which
protocol to use through their choice of a dynamic DNS client program.

Mailing List: http://lists.gothamcode.com/listinfo/gothamcode


Settings:
---------
All configuration settings are described in INSTALL.


Users:
------
If registration is enabled, users may create accounts from the service's web
site. (ie: https://dyn.example.com)  Users may change their password, hostname,
and email address from the site.  Service operators can manage users from the
commandline by using: powerdyndns-users

Usage: powerdyndns-users [username] [options]

Options:
  [-h|--help] (show this help, exit)
  [-v|--version] (show version number, exit)
  [-l|--list] (shows all users or the given user)
  [-a|--add] (adds the given user)
  [-r|--remove] (removes the given user)
  [-e|--email address] (sets email address for the given user)
  [-n|--hostname hostname] (sets hostname for the given user)
  [-p|--password] (prompts for a password for the given user)
  [-g|--genpass] (generates and returns a password for the given user)
  [-d|--disabled] (disables the given user)
  [-e|--enabled] (enables the given user)
  [-b|--block IP] (permanently blocks an IP address)
  [-u|--unblock IP] (unblocks a temporarily or permanently blocked IP)

See the manpage for powerdyndns-users for more information.


Clients:
--------
PowerDynDNS:
  Any clients that support dyn.org v2 protocol and allow a custom service
  hostname should be compatible with PowerDynDNS.  inadyn, and the built-in
  client on the dd-wrt router software are known to work.

  The client powerdyndns-client is provided by PowerDNS for this purpose.

  Writing your own is possible, because updating only requires calling
  https://*username*:*password*@dyn.example.com/nic/update?hostname=*hostname*
  But clients should take care to only call the update URL whenever the IP
  address changes.


PowerTinyDynDNS:
  Any clients written specifically for tinydyndns are compatible with
  PowerTinyDynDNS.  Any POP3-checker programs, and virtually all email pograms
  are compatible with PowerTinyDynDNS.  PowerTinyDynDNS appears to other
  programs to be a POP3 mail server that never has any mail in its mailboxes.
  Simply checking for mail updates the dynamic DNS.

  The client powertinydyndns-client is provided by PowerDNS for this purpose.

Client Programs:
  Your PowerDynDNS Web site will display information configuring popular
  clients after logging in.  It also has a link to a page in your site
  explaining how to configure several other client programs, and links to
  local downloads for these clients.  Please be aware that nothing aside from
  installing updated versions of PowerDynDNS will ever automatically update
  these.  You can edit the template clients.tpl to remove the download links,
  and add/remove information about client programs.


SOA Serial Number Format:
-------------------------
For the DNS zone you are using with PowerDynDNS (or any dynamic DNS service),
you should change your SOA serial number format to something sensible, if it's
not already.  If your current format is YYYYMMVVV (ie: 20251201), that's not
sensible for a dynamic DNS service, because it limits you to a maximum of 99
updates per-day, which will not be adequate except for a personal service you
run for yourself and a handful of other users.  This is covered in INSTALL.


Templates:
----------
The output of the Web site is all about function, and not about form.  If you
want to make nicer-looking Web pages, or translate the site into another 
language, you can edit these templates.  The templates are located in the Web
site's templates folder.

The Web template system is Star Templates.  For documentation about Star Templates
please visit: https://gothamcode.com/star

The Web site sends various email notices when account information is changed.
These emails are created from template files, but are simple substitutions, not
Star Templates.

See TEMPLATES for more information.

