# VYDNS A simple DynDNS v2 client written in Python, compatible with providers such as OVH DynHost. ## Features - Periodically checks the public IP address - Updates DNS records only when the IP changes - Uses a local cache to avoid unnecessary updates - No external dependencies except `requests` module ## Usage Run the script with Python. It will periodically: - Query a web endpoint that returns the public IP in plain text - Compare it with the cached IP - If the IP has not changed, sleep for the configured delay - If the IP has changed, update the DNS records and refresh the cache - If no cache exists, create it and perform an initial update ## Configuration The script relies on a JSON configuration file named `config.json` located in the working directory. It must contain the following keys: - `ip_server`: URL of the endpoint used to retrieve the public IP (must return plain text) - `dns_endpoint`: DynDNS v2 API endpoint of the provider - `username`: DynDNS account username - `password`: DynDNS account password - `domains`: list of domain names to update - `delay`: interval in seconds between checks You can find an example configuration file in this repo. **Warning:** the password is stored in plain text. Changing config file permissions is recommended. ## Supported DynDNS providers To this day, these DynDNS providers have been found to work well with the script: - OVH ## License This script and the provided examples are under the MIT license.