Skip to content

emilianomaccaferri/simplest-ddns-client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

simplest-ddns-client

A very simple and minimal DDNS client that checks if your public IP has changed and updates a specified DNS zone.

how to

  • create a config.toml file in /etc/simplest-ddns-client/
  • install Rust
  • clone this repo
  • change provider in config.toml to one of these providers
  • run cargo build --release
  • binary will be available in target/release/

the config.toml file

This file will contain all the information needed (generally authentication stuff) to update your DNS records.
The first entry in this file is the initial address the client will base its queries from: initial_ip.
There is an example file located at the root dir called example_config.toml.

configurations list

OVH configuration

A complete config.toml file for OVH looks something like this:

provider = "ovh"
initial_ip = "1.1.1.1"
[ovh]
user = "your-ovh-user" # the user you registered on ovh
password = "ovh-password" # the password you chose on ovh
hostname = "hostname.example.com" # the hostname you registered as dynamic on ovh

Refer to this guide for more.

CloudFlare configuration

A complete config.toml file for CloudFlare looks something like this:

provider = "cloudflare"
initial_ip = "1.1.1.1"
[cloudflare]
apikey = "your-apikey" # API Token generated from the User Profile 'API Tokens' page
zoneid = "zoneid" # domain's zone id
hostname = "hostname.example.com" # the hostname you want to update

Refer to this guide to get zoneid.

DuckDNS configuration

A complete config.toml file for DuckDNS looks something like this:

provider = "duckdns"
initial_ip = "1.1.1.1"
[duckdns]
token = "your-token" # the token duckdns gives to you
subdomain = "your-subdomain" # the subdomain you chose on duckdns

IONOS configuration

provider = "ionos"
initial_ip = "1.1.1.1"
[ionos]
prefix = "your-public-prefix" # the public prefix IONOS gives to you
secret = "your-secret" # the secret key IONOS gives to you
hostname = "hostname.example.com" # the hostname you want to update

Refer to this guide to get an apikey.

About

a very simple ddns client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages