Upgrade Complete - 4/12/2018.

External Links Open In New Tab

External Links Should Be Strictly On Shrink Link Or Link Shrink Any Who Fails To Shorten The Topic/Links Will Be Deleted

Conformation Mail Error Solved

Short Links Are Available On Every Page
For Short Links QR just add .qr at the end of short link
Eg -
http://links.darkdroid.tech/xyz
To
http://links.darkdroid.tech/xyz.qr

Upgraded To Newer Servers

May Find Errors - If Any Please Report Them HERE

New Advertisement Methods
Now You Can Be On Our Every Page!
Advertise With Us

Upgrade Complete - 05/06/2018.

Whats New ?

Google Login Method Added.

Email Verification Is Now Mandatory.

Forum Description Added In Spoiler / Drop Down Container For Better Viewing Experience For Desktops And Mobile.

Premium Forum Added For Paid Advertisement Of Your Services.

More New Forums Are On Their Way Releasing Soon ...

100s Of New Smileys ...

Announcement

Hello On Board Crew

Porn Content Is Strictly Prohibited

Please Go For Better Tittles For Posting And Strictly Language Should Be English For Tittles ...

Henceforth The Content Should Be In English 1st And Then You Can Add Your Own Language Below Of English Content!!

Rules Are Rule !!!
If You Fail To Follow Them Post Will Be Deleted And Account Will Be Either Deleted Or Deactivated ...

Consider For Donation
CRYPTO DONATATION
PAYPAL DONATATION

[DDNS][Cloudflair][Scrip] Cloudflare DDNS Update Script - Dynamic IP

Cloudflair DDNS Update Script - Dynamic IP

Image
► Show Spoiler
http://links.darkdroid.tech/programming
:
:

Reviews For This Post

You may select 1 option

 
 
View results

User avatar
zAce
Admin
Admin
Posts: 287
Contact:

[DDNS][Cloudflair][Scrip] Cloudflare DDNS Update Script - Dynamic IP

Post#1 » Thu Dec 27, 2018 8:26 pm

Cloudflare DDNS Update Script - Dynamic IP

Mod By DarkDroid - DD

To Force Update Delete IP File And Run The Script

Cron Is Unable To Start Your Script At Boot Or Scheduled ?
Point It To c.sh

cron
@reboot /home/path_to_cloudflair/cloudflare/c.sh or cloudflare.sh
*/5 * * * * /home/path_to_cloudflare/cloudflare/c.sh or cloudflare.sh

Before Pointing Cron Edit Path To cloudflare.sh in c.sh

If You Are Facing Problem In Host Follow Below
Create Host - CNAME - yourdomain.com To www.yourdomain.com
Create A Record www.yourdomain.com Pointing To 127.0.0.1
Then Run The Script To Set Your Dynamic IP


Code: Select all

#!/bin/bash
#Mod By DarkDroid - DD

#To Force Update Delete IP File And Run The Script

#Cron Is Unable To Start Your Script At Boot Or Scheduled ?
#Point It To c.sh
#Before Pointing Cron Edit Path To cloudflare.sh in c.sh

#Cloudflair Account Details
auth_email="xyz@xyz.com"
auth_key="477e35416514acd5ea208618b849912a05e1c" # found in cloudflare account settings
zone_name="yourdomain.com"
record_name="www.yourdomain.com"

#If You Are Facing Problem In Host Follow Below
#Create Host - CNAME - yourdomain.com To www.yourdomain.com
#Create A Record www.yourdomain.com Pointing To 127.0.0.1
#Then Run The Script To Set Your Dynamic IP

#Getting Current IP
ip=$(curl -s https://ifconfig.me/)
ip_file="ip.txt"
id_file="cloudflare.ids"
log_file="cloudflare.log"

#Dont Edit Below

# LOGING
log() {
    if [ "$1" ]; then
        echo -e "[$(date)] - $1" >> $log_file
    fi
}

# Checking Old IP
log "Check Initiated"

if [ -f $ip_file ]; then
    old_ip=$(cat $ip_file)
    if [ $ip == $old_ip ]; then
        echo "IP has not changed."
        exit 0
    fi
fi

if [ -f $id_file ] && [ $(wc -l $id_file | cut -d " " -f 1) == 2 ]; then
    zone_identifier=$(head -1 $id_file)
    record_identifier=$(tail -1 $id_file)
else
    zone_identifier=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones?name=$zone_name" -H "X-Auth-Email: $auth_email" -H "X-Auth-Key: $auth_key" -H "Content-Type: application/json" | grep -Po '(?<="id":")[^"]*' | head -1 )
    record_identifier=$(curl -s -X GET "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records?name=$record_name" -H "X-Auth-Email: $auth_email" -H "X-Auth-Key: $auth_key" -H "Content-Type: application/json"  | grep -Po '(?<="id":")[^"]*')
    echo "$zone_identifier" > $id_file
    echo "$record_identifier" >> $id_file
fi

update=$(curl -s -X PUT "https://api.cloudflare.com/client/v4/zones/$zone_identifier/dns_records/$record_identifier" -H "X-Auth-Email: $auth_email" -H "X-Auth-Key: $auth_key" -H "Content-Type: application/json" --data "{\"id\":\"$zone_identifier\",\"type\":\"A\",\"name\":\"$record_name\",\"content\":\"$ip\"}")

if [[ $update == *"\"success\":false"* ]]; then
    message="API UPDATE FAILED. DUMPING RESULTS:\n$update"
    log "$message"
    echo -e "$message"
    exit 1
else
    message="IP changed to: $ip"
    echo "$ip" > $ip_file
    log "$message"
    echo "$message"
fi

#Mod By DarkDroid - DD


Image



 ! Message from: zAce
We Are Here To Share! If You are Owner Of This, Register or Login And Message Us With The Link For OWNERSHIP


Contribute With Your Knowledge And Win VIP Membership For Free
Post On Empty Topics Or Topics Which Shows Unknown Solutions

Image

Return to “Programming”

Who is online

Users browsing this forum: No registered users and 0 guests

ʞɹɐꓷDroid - ꓷD : Disclaimer