If you need to have a DNS record that point to a Dynamic IP (DDNS), for example, your home IP address, this tool allow you to accomplish this job!
For do this this we need cloudflare-dynamic-ip tool allow you to simply have a specific DNS record such as
home.example.com that point to your dynamic IP.
- Domain Name
- Cloudflare Account
- Raspberry Pi4 or any other Linux Based OS
Clone the Github repo, install dependencies, set API Token and set a cron job every 15min that run this script and you’re done!
git clone https://github.com/andp97/cloudflare-dynamic-ip.git cd cloudflare-dynamic-ip INSTALL_PATH=$(pwd) composer install --no-dev nano .env echo -e "*/15 * * * * $INSTALL_PATH/cf-ip 2>&1 > /dev/null\n" crontab -e
You can also execute this script via bash
#Get dns record name from env and target ip from remote host (https://ip.andreapavone.com) ./cf-ip #Passing parameters to the script ./cf-ip <dns_record_name> <target_ip>
.env file you can set:
CLOUDFLARE_TOKEN(see how can you generate token here: https://support.cloudflare.com/hc/en-us/articles/200167836-Managing-API-Tokens-and-Keys)
DNS_RECORD_NAMEis the subdomain that you prefer to use (for example: home.example.com). If you prefer to be safer use a randomized token for the
git pull composer update