Update cloudxns.sh
This commit is contained in:
parent
f9d321266b
commit
43c9bbaa81
|
@ -7,13 +7,25 @@ if [ ! -f "$CONFIG" ];then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
. $CONFIG
|
# shellcheck source=/dev/null
|
||||||
|
. "$CONFIG"
|
||||||
|
|
||||||
if [ -f "$LAST_IP_FILE" ];then
|
if [ -f "$LAST_IP_FILE" ];then
|
||||||
. $LAST_IP_FILE
|
# shellcheck source=/dev/null
|
||||||
|
. "$LAST_IP_FILE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
IP=$(curl -s ip.xdty.org)
|
IP=""
|
||||||
|
RETRY="0"
|
||||||
|
while [ $RETRY -lt 5 ]; do
|
||||||
|
IP=$(curl -s ip.xdty.org)
|
||||||
|
RETRY=$((RETRY+1))
|
||||||
|
if [ -z "$IP" ];then
|
||||||
|
sleep 3
|
||||||
|
else
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
if [ "$IP" = "$LAST_IP" ];then
|
if [ "$IP" = "$LAST_IP" ];then
|
||||||
echo "$(date) -- Already updated."
|
echo "$(date) -- Already updated."
|
||||||
|
@ -22,29 +34,30 @@ fi
|
||||||
|
|
||||||
URL_D="https://www.cloudxns.net/api2/domain"
|
URL_D="https://www.cloudxns.net/api2/domain"
|
||||||
DATE=$(date)
|
DATE=$(date)
|
||||||
HMAC_D=$(echo -n "$API_KEY$URL_D$DATE$SECRET_KEY"|md5sum|cut -d" " -f1)
|
HMAC_D=$(printf "%s" "$API_KEY$URL_D$DATE$SECRET_KEY"|md5sum|cut -d" " -f1)
|
||||||
DOMAIN_ID=$(curl -k -s $URL_D -H "API-KEY: $API_KEY" -H "API-REQUEST-DATE: $DATE" -H "API-HMAC: $HMAC_D"|grep -o "id\":\"[0-9]*\",\"domain\":\"$DOMAIN"|grep -o "[0-9]*"|head -n1)
|
DOMAIN_ID=$(curl -k -s $URL_D -H "API-KEY: $API_KEY" -H "API-REQUEST-DATE: $DATE" -H "API-HMAC: $HMAC_D"|grep -o "id\":\"[0-9]*\",\"domain\":\"$DOMAIN"|grep -o "[0-9]*"|head -n1)
|
||||||
|
|
||||||
echo "DOMAIN ID: "$DOMAIN_ID
|
echo "DOMAIN ID: $DOMAIN_ID"
|
||||||
|
|
||||||
URL_R="https://www.cloudxns.net/api2/record/$DOMAIN_ID?host_id=0&row_num=500"
|
URL_R="https://www.cloudxns.net/api2/record/$DOMAIN_ID?host_id=0&row_num=500"
|
||||||
HMAC_R=$(echo -n "$API_KEY$URL_R$DATE$SECRET_KEY"|md5sum|cut -d" " -f1)
|
HMAC_R=$(printf "%s" "$API_KEY$URL_R$DATE$SECRET_KEY"|md5sum|cut -d" " -f1)
|
||||||
RECORD_ID=$(curl -k -s $URL_R -H "API-KEY: $API_KEY" -H "API-REQUEST-DATE: $DATE" -H "API-HMAC: $HMAC_R"|grep -o "record_id\":\"[0-9]*\",\"host_id\":\"[0-9]*\",\"host\":\"$HOST\""|grep -o "record_id\":\"[0-9]*"|grep -o "[0-9]*")
|
RECORD_ID=$(curl -k -s "$URL_R" -H "API-KEY: $API_KEY" -H "API-REQUEST-DATE: $DATE" -H "API-HMAC: $HMAC_R"|grep -o "record_id\":\"[0-9]*\",\"host_id\":\"[0-9]*\",\"host\":\"$HOST\""|grep -o "record_id\":\"[0-9]*"|grep -o "[0-9]*")
|
||||||
|
|
||||||
echo "RECORD ID: "$RECORD_ID
|
echo "RECORD ID: $RECORD_ID"
|
||||||
|
|
||||||
URL_U="https://www.cloudxns.net/api2/record/$RECORD_ID"
|
URL_U="https://www.cloudxns.net/api2/record/$RECORD_ID"
|
||||||
|
|
||||||
PARAM_BODY="{\"domain_id\":\"$DOMAIN_ID\",\"host\":\"$HOST\",\"value\":\"$IP\"}"
|
PARAM_BODY="{\"domain_id\":\"$DOMAIN_ID\",\"host\":\"$HOST\",\"value\":\"$IP\"}"
|
||||||
HMAC_U=$(echo -n "$API_KEY$URL_U$PARAM_BODY$DATE$SECRET_KEY"|md5sum|cut -d" " -f1)
|
HMAC_U=$(printf "%s" "$API_KEY$URL_U$PARAM_BODY$DATE$SECRET_KEY"|md5sum|cut -d" " -f1)
|
||||||
|
|
||||||
RESULT=$(curl -k -s $URL_U -X PUT -d $PARAM_BODY -H "API-KEY: $API_KEY" -H "API-REQUEST-DATE: $DATE" -H "API-HMAC: $HMAC_U" -H 'Content-Type: application/json')
|
RESULT=$(curl -k -s "$URL_U" -X PUT -d "$PARAM_BODY" -H "API-KEY: $API_KEY" -H "API-REQUEST-DATE: $DATE" -H "API-HMAC: $HMAC_U" -H 'Content-Type: application/json')
|
||||||
|
|
||||||
echo $RESULT
|
echo "$RESULT"
|
||||||
|
|
||||||
if [ $(echo -n "$RESULT"|grep -o "message\":\"success\""|wc -l) = 1 ];then
|
if [ "$(printf "%s" "$RESULT"|grep -c -o "message\":\"success\"")" = 1 ];then
|
||||||
echo "$(date) -- Update success"
|
echo "$(date) -- Update success"
|
||||||
echo "LAST_IP=\"$IP\"" > $LAST_IP_FILE
|
echo "LAST_IP=\"$IP\"" > "$LAST_IP_FILE"
|
||||||
|
curl -k -s https://www.xdty.org/mail.php -X POST -d "event=ip($IP) changed&name=$HOST&email=$EMAIL"
|
||||||
else
|
else
|
||||||
echo "$(date) -- Update failed"
|
echo "$(date) -- Update failed"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue