__PHP_DDNS__ is designed to add, update and remove device IP addresses from a database, allowing you to keep track of your devices for providing a way to access them remotely - all from your existing hosting + domain combo.
In short: the goal is to make a simple, self-hosted and personal Dynamic DNS tool for just about anyone with a hosting package (PHP and MySQL a must) and domain.
Made in response to discovering Remonit, to hopefully make it easier for use on my PC/laptop. Other ideas I've had since starting are a push-notifications service and an IP-restrictive authorisation tool - but if I have a go at making these myself, __PHP_DDNS__ will be the core and they will be made as separate projects, possibly even plugins.
__PHP_DDNS__ has now reached v1.0, which means all core functionality is implemented! Hurray!
Keep an eye on the to-do list below to see the currently implemented features, as well as the estimated order of yet-to-be-done features.
Once everything is installed the pinger
script on your devices will periodically call a hook
on your domain, updating their entry in the database.
You can add and remove devices programmatically or via the admin portal, once developed, giving you plenty of control over the devices being tracked. Devices update themselves, but can only be added or removed from the portal/programmatically.
Using the public methods of __PHP_DDNS__ you can easily retrieve the details of a tracked device, allowing you to build interfaces/tunnels/whatever for services running on it.
Do not consider this list complete, it is an estimate based on current development progress:
server
directory to your hosting.install.php
via a web browser - this will set up the database.device
directory somewhere on your device.
php pinger.php "setup" "<hook URL>"
on the device you want to add.pinger
's output through PHP_DDNS->addDevice()
on your server.php pinger.php
automatically.
The section numbers in this list should roughly equate to major version releases, once all sub-tasks are crossed out. The tasks are (hopefully) in order of importance, and (almost definitely) in order of when I'll do them.
hook
.pinger
.hook
and pinger
.CREATE TABLE
followed by an ALTER TABLE
pinger
into languages besides PHP.This is a rough list of the "official" plugins for __PHP_DDNS__ that I will be developing and maintaining alongside the core, in no meaningful order.
As usual with my work, this project is available under the BSD 3-Clause license. In short, you can do whatever you want with this code as long as:
For more details, read the included LICENSE.md file or read about it on opensource.org.