Skip to content

DanHerbert/dynamic-dns-name.com

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dynamic IP Updater for name.com DNS

Minimal script for checking a machine's external IP and updating its DNS when the IP address changes using the name.com APIs.

Features

  • Simple yaml driven config
  • Uses name.com's publicly documented APIs for managing DNS
  • Avoids making excessive calls to name.com's APIs by storing the last known public IP and only trying to make updates if there are changes.
  • Low-noise default logging (for info level & above)
  • Optionally sends email updates when an IP changes
  • Optionally sends email updates when an error happens
  • Avoids repeat error emails if the script rapidly fails during repeated runs.

Dependencies & Usage

Requires python and pip to be installed on the machine running the script.

Usage:

  1. Clone this repo
  2. From within the repository's root folder, setup a python venv to install dependencies with the following commands:
    python3 -m venv env
    source env/bin/activate
    pip install .
  3. Copy config.example.yaml as config.yaml into the same directory the script is located and configure your settings.
  4. Run the script. Set it as a chron job or Systemd timer to update as often as you'd like. Systemd unit files are included in this repository and require setting the DYNDNS_WORKING_DIR environment variable so the systemd service can reference it.

About

Minimal script to update a dynamic IP for a name.com registered domain

Resources

License

Stars

Watchers

Forks

Languages