Gather IP address of a computer and push it to an Snap DynDNS Server instance.
Go to file
Max Mehl 64832fc1b1 remove wget dependency, use curl instead 2024-02-29 11:41:25 +01:00
.gitignore enable to use custom config file, and multiple domains to update at once 2020-06-08 10:56:17 +02:00
LICENSE initial commit 2016-04-27 23:00:39 +02:00
README.md remove wget dependency, use curl instead 2024-02-29 11:41:25 +01:00
config.cfg.sample remove wget dependency, use curl instead 2024-02-29 11:41:25 +01:00
dnsupdate.sh remove wget dependency, use curl instead 2024-02-29 11:41:25 +01:00

README.md

Snap DynDNS Client

Snap DynDNS Client is the perfect counterpart to Snap DynDNS Server. This software can be easily used by any person having an account on such a server instance. This script looks up the current public IP address, sends it to the server part (together with the DynDNS domain name, personal username, and password), which in the end does all the updating process of the domain itself.

Additional Features

The application can also be instructed to ignore certain IP addresses. For those there will be no update sent to the server part. This may make sense if you use a VPN server or tunnel every traffic through Tor. For the latter, it downloads the official list of Tor exit nodes every 7 days and compares your actual public IP with these addresses.

You can use any service returning your IP address in a plain form (so no HTML headers or other website content). There is one service set by default. Of course, you can also use IPv6 addresses. It just has to correlate with the DynDNS domain's record. Please read more in the server documentation about this.

Requirements

This Bash script requires curl to be installed. It has been tested on a Debian Bookworm and doesn't use fancy parameters for both applications.

Installation

Clone the git repository to any directory of your computer. Rename the file config.cfg.sample to config.cfg. Open it in an editor and modify the settings as described in the file.

For the settings user, and password, please use the data you have created in the server's users.db file. The server variable is the Snap DynDNS Server URL, appended by update.php.

Debugging

By default, the application creates both a file with the latest known IP address (to detect whether it should send an update to the server at all) called old.ip. It also creates a small log file (update.log) for each run, containing a timestamp and some information about what the script has done (updated successfully, or aborted because ignored IPs or unchanged IP).