Coder Social home page Coder Social logo

update_cf.sh's Introduction

Update Cloudflare DNS Script

This bash scripts updates the dynamic public IP of your server to Cloudflare DNS.

This script compares the current public IP address against the Cloudflare DNS IP address and update the Cloudflare DNS entry with the current IP address.

Prerequisites

This script requires the jq JSON Processor package to parse the json output from Cloudflare API

RHEL/CentOS
$ sudo yum install jq

DEBIAN
$ sudo apt-get install jq

Configuring

Define the parameters at the top of the script.

Zone ID

Define the Zone ID Parameter. The value can be found on the Overview Page.

API Token

Generate an API Token for this script in Cloudflare. Grant the edit permission to the DNS Zone for your domain.

Host

Define the Fully Qualified Domain Name of your host in the domain.

Record ID

Get the record ID of your host FQDN using the API Token generated above and the Zone ID.

$ curl -X GET "https://api.cloudflare.com/client/v4/zones/<zone id>/dns_records?name=<host> \
-H "Authorization: Bearer <API Token>" \
-H "Content-Type: application/json" | jq -r '.result[].id'

Deployment

After configuring the script, change the permission of the script to allow execution and define a cron job to periodically poll and update the Cloudflare DNS entry.

$ chmod +x /path/to/update_cf.sh

$ crontab -e
*/30 * * * * /path/to/update_cf.sh

update_cf.sh's People

Contributors

wongkeewee avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.