| POWERTINYDYNDNS(1) | Linux User Manuals | POWERTINYDYNDNS(1) |
powertinydyndns - tinydyndns compatible dynamic DNS service for PowerDNS with MySQL
powertinydyndns [-v|--version] [-h|--help] [-d|--daemonize] [-s|--start] [-S|--stop] [-R|--restart] [-b|--unblock IP] [-b|--unblock IP]
powertinydyndns is a tinydyndns compatible dynamic DNS service for PowerDNS. It mimics a POP3 server that never has any mail, making every program capable of checking a POP3 mailbox, a PowerTinyDynDNS compatible client. Since virtually every device that connects to the Internet has software that can check a POP3 mailbox, PowerTinyDynDNS can be used to provide dynamic DNS services for virtually every device that can connect to the Internet.
powertinydyndns-client exists so that you don't need to run an email program in order to use services provided by tinydyndns or powertinydyndns on devices that can run PHP scripts continuously in the background.
powertinydyndns needs to be run continuously via either cron or systemd.
-V, --version
-h, --help
-d, --daemonize
-s, --start
-S, --stop
-R, --restart
-b IP, --block IP
-u IP, --unblock IP
powertinydyndns is configured in /etc/powerdyndns/powertinydyndns.conf.php
The standard ports for POP3 are 110 (insecure and starttls), and 995 (tls). To activate the insecure port, set $insecure to TRUE. To activate STARTTLS on the insecure port, set $starttls to TRUE. To activate the TLS port, set $tls to TRUE. To activate the service on all network interfaces, use $address 0.0.0.0, or just the IP address you want the service available on. $hostname is the name associated with the service. $dynzone is the domain name the dynamic hosts are created in, ie: for "name.dyn.example.com", "dyn.example.com" is the $dynzone.
$maxclients is the maximum number of clients that can be simultaneously connected. This number should be relatively small, as clients are only conected long enough to log in, be told there is no mail, and immediately log out.
$runasuser powertinydyndns needs to start as the superuser/root, in order to open privileged ports, but then drops to this unprivileged user.
$dnsaccess is either 'db' or 'api'. Using the API allows you to decouple the dynamic DNS service from direct access to the PowerDNS primary server, but requires the use of the PowerDNS Simple API.
$socktimeout is the number of seconds to wait for a socket connection to complete.
$sesstimeout is the number of seconds of idle time before a session is automatically terminated.
Example:
<?php
$debug = FALSE;
$verbose = FALSE;
$maxclients = 15;
$daemonize = FALSE;
$hostname = 'dyn.example.com';
$dynzone = $hostname;
$address = '0.0.0.0';
$insecure = TRUE;
$starttls = TRUE;
$tls = TRUE;
$insecureport = 110;
$secureport = 995;
$sslkey = '/etc/ssl/dehydrated/example.com/privkey.pem';
$sslcert = '/etc/ssl/dehydrated/example.com/fullchain.pem';
$dbhost = '127.0.0.1';
$dbuser = 'pdns';
$dbname = 'pdns';
$dbpass = 'password';
$runasuser = 'nobody';
$socktimeout = 10;
$sesstimeout = 60;
$dnsaccess = 'db'; // db or api
$pdnsapikey = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$pdnsapiurl = 'https://dns.example.com/powerdnsapi';
powerdyndns(5), PowerDynDNS configuration file
powertinydyndns-client(1), Dynamic DNS client compatible with
tinydyndns and PowerTinyDynDNS
powerdyndns-users(1), Manages dynamic DNS user accounts and hostname
records
powerdyndns-control(1), Utility to help set up PowerDynDNS
PowerDNS Simple API, https://gothamcode.com/pdns-api
Ron Guerin <ron@vnetworx.net>
powertinydyndns can be found at https://gothamcode.com/powerdyndns and
bugs/patches can be submitted by email.
| 2025-11-18 | November 2025 |