GitHub - ctrlaltdev/DIYDDNS: 🌐 Dynamic DNS, DIY, with Cloudflare

1 min read Original article ↗

DIY Script for Dynamic DNS using Cloudflare APIs

INSTALLATION

HomeBrew (only for macOS and linux amd64 and arm64)

brew install ctrlaltdev/tap/diyddns

or

brew tap ctrlaltdev/tap
brew install diyddns

Easy Shell Script

curl -fSsL https://ln.0x5f.info/getDIYDDNS | sh

It will prompt you for your OS and ARCH to download and install the right version - it will require sudo to install the binary to /usr/local/bin

DIY Shell Script

version=v2.1.0

os=$1
arch=$2

if [ -z "$os" ] || [ -z "$arch" ]; then
  echo -n "What is your OS? [darwin/linux] "
  read os < /dev/tty
  echo -n "What is your ARCH? [amd64/arm64/armv7/armv6/armv5] "
  read arch < /dev/tty
fi

curl -o DIYDDNS-$os-$arch.tar.gz -sL https://github.com/ctrlaltdev/DIYDDNS/releases/download/$version/DIYDDNS-$os-$arch.tar.gz
curl -o DIYDDNS-$os-$arch.tar.gz.sha256 -sL https://github.com/ctrlaltdev/DIYDDNS/releases/download/$version/DIYDDNS-$os-$arch.tar.gz.sha256
sha256sum -c DIYDDNS-$os-$arch.tar.gz.sha256

tar xzf DIYDDNS-$os-$arch.tar.gz

rm DIYDDNS-$os-$arch.tar.gz*

sudo mv DIYDDNS /usr/local/bin/

echo "\nDIYDDNS INSTALLED\n"

DIYDDNS -h

INIT

You'll need your Cloudflare API Key (in your profile, on cloudflare website)

and provide your cloudflare email and api key when prompted

RUN IT LIKE YOU MEAN IT

Now that you're set, you have to make that run: all hail the mighty cron

You should be able to use something like that:

* * * * * DIYDDNS -fqdn sub.domain.tld >> /dev/null