Calls https://myip.supermicro.com/
to detect external IP address and then calls Namecheap Dynamic DNS REST API to update DNS record.
Released image is based on portablectl
image. See references section below for details.
namecheap-ddns [config_file]
- config_file is a YAML configuration file. Default value is
namecheap-ddns.yaml
. See, example
All of the following commands require sudo
prepended if running from non-root account.
mkdir -p /usr/local/portable-images/
cd /usr/local/portable-images
curl -LO https://github.com/kulak/namecheap-ddns/releases/download/1.2/namecheap-ddns.raw
mkdir /etc/namecheap-ddns
dd of=/etc/namecheap-ddns/namecheap-ddns.yaml
# paste your file configuration
hosts:
- hostname1
- hostname2
domain: domain.com
password: your_password
# Use Ctrl-D to end input stream
portablectl attach /usr/local/portable-images/namecheap-ddns.raw
# run once
systemctl start namecheap-ddns.service
# enable and run timer
systemctl enable --now namecheap-ddns.timer
# monitor service
journalctl -u namecheap-ddns
The build file uses taskfile.dev.