Package: ruddr
RuddrRobotic Updater for Dynamic DNS RecordsSteer DNS queries to the proper IP addresses.With support for IPv6!PyPI:https://pypi.org/project/ruddr/Documentation:https://ruddr.dcpx.org/GitHub:https://github.com/dominickpastore/ruddrChangelog:https://github.com/dominickpastore/ruddr/blob/master/CHANGELOG.mdIssues:https://github.com/dominickpastore/ruddr/issuesDiscussion:https://github.com/dominickpastore/ruddr/discussionOverviewRuddr is amodulardynamic DNS client. It separates the job into two tasks:Detecting IP address changes, handled bynotifiers.Publishing the changed addresses, handled byupdatersRuddr provides built-in updaters and notifiers for common use cases and
services. For example, thewebnotifier will periodically query a
what-is-my-ip style website, and thestandardupdater uses the de facto
standard API,http(s)://.../nic/update, to publish updates compatible with
several well-known services. There are a variety of others; see thefull
documentationfor the full list.However, if the built-in notifiers or updaters do not meet your needs, Ruddr isextensible. You can easily  write your own and tie it into your
configuration. (If you think your custom notifier will be useful to others,
feel free to submit a contribution, or you can upload it to PyPI yourself as an
extension!)Finally (and the main reason Ruddr was born), Ruddr does its best to make
dynamic DNS work withIPv6, despite the fact that hosts are not likely
behind network address translation (NAT).For more information about the built-in updaters and notifiers or writing your
own, see thefull documentation.Installation from PyPIAt this time, Ruddr runs on Linux and possibly other Unix-like platforms.
Non-Unix-like platforms may be supported in the future.It is available on PyPI under the nameruddr. Basic installation
works similarly to any other Python package:pip3 install ruddrRuddr is now installed. You can continue to configuration.Note:If you would like to use thesystemdnotifier, there are extra
steps. See the installation instructions in thefull documentationfor
details.Quick Start GuideWrite this configuration to/etc/ruddr.conf:[ruddr]
notifier = main

[notifier.main]
type = web
url = https://icanhazip.com/

[updater.main]
# Updater config herePaste in one of the updater configurations from the "Updaters" page in thefull documentationSet up Ruddr to run as a service. If using systemd, create a new unit file
at/etc/systemd/system/ruddr.service:[Unit]
Description=Robotic Updater for Dynamic DNS Records
After=network.target

[Service]
Type=notify
ExecStart=ruddr
NotifyAccess=main

[Install]
WantedBy=multi-user.targetthen enable and start the service (as root or withsudo):systemctl enable ruddr
systemctl start ruddrIf not using systemd, then using whatever means your system supports, set
theruddrscript to run at startup, with SIGTERM sent to it at shutdown.Full DocumentationThe full documentation can be found here:https://ruddr.dcpx.org/It contains much more information, including the following:How Ruddr worksDetailed usage and configuration instructionsDescriptions and configuration info for all the built-in updaters and
notifiersInformation for developers, including how to write custom updaters and
notifiersFrequently asked questions and additional help resources.LicenseGNU General Public License version 3 or later. See theCOPYINGfile
for the full license.Copyright © 2023 Dominick C. Pastore