Wrapper for many dynamic DNS providers

Installs: 24

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 3

Forks: 0

Open Issues: 0


0.2 2022-12-22 10:15 UTC

This package is auto-updated.

Last update: 2024-06-22 13:58:17 UTC



This package wraps the update API for many different dynamic DNS providers.

Currently supported providers:


composer require madbob/manydns


require 'vendor/autoload.php';

use ManyDNS\ManyDNS;
use ManyDNS\FailedUpdateException;

	To obtain a list of supported providers
$providers = ManyDNS::getProviders();
foreach($providers as $provider) {
	echo $provider->getName() . "\n";

	getProvider() accepts the name of a supported provider, and returns a
	ManyDNS\Client object (or NULL if none is found).
$provider = ManyDNS::getProvider('NoIP');

	To perform a new update of DNS addressing, just call the updateNow()
	function on the preferred client.
	The $ip parameter is optional: most providers accepts the current public IP
	as default, if not the package tries to retrieve the current public IP of
	the instance.
try {
	$provider->updateNow($username, $password, $hostname, $ip);
catch (FailedUpdateException $e) {
		In case of error, FailedUpdateException provides both a human message
		and an error code defined as:
	echo $e->getMessage() . "\n";
	echo $e->getCode() . "\n";

Special Behaviors

The DuckDNS authentication is based on a single token, to be used in place of the password when asking for an update.

$provider = ManyDNS::getProvider('DuckDNS');
$provider->updateNow(null, $token, $hostname, $ip);