update le-cloudxns.sh

This commit is contained in:
tianyu 2016-02-14 22:37:07 +08:00
parent 35fa2f1657
commit c8bd32d54c
4 changed files with 21 additions and 13 deletions

4
le-dns/cloudxns-hook.sh Normal file → Executable file
View File

@ -2,8 +2,8 @@
function deploy_challenge {
local DOMAIN="${1}" TOKEN_FILENAME="${2}" TOKEN_VALUE="${3}"
echo $DOMAIN $TOKEN_FILENAME $TOKEN_VALUE
./cloudxns.sh ./cloudxns.conf $DOMAIN $TOKEN_VALUE
echo "$DOMAIN" "$TOKEN_FILENAME" "$TOKEN_VALUE"
./cloudxns.sh ./cloudxns.conf "$DOMAIN" "$TOKEN_VALUE"
sleep 5
}

View File

@ -2,3 +2,4 @@ API_KEY="YOUR_API_KEY"
SECRET_KEY="YOUR_SECRET_KEY"
DOMAIN="example.com"
CERT_DOMAINS="example.com www.example.com im.example.com"
#ECC=TRUE

18
le-dns/cloudxns.sh Normal file → Executable file
View File

@ -1,4 +1,4 @@
#!/bin/sh
#!/bin/bash
CONFIG=$1
DOMAIN_FULL=$2
@ -9,7 +9,7 @@ if [ ! -f "$CONFIG" ];then
exit 1
fi
. $CONFIG
. "$CONFIG"
SUB_DOMAIN=${DOMAIN_FULL%$DOMAIN}
@ -24,13 +24,13 @@ DATE=$(date)
HMAC_D=$(echo -n "$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)
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"
HMAC_R=$(echo -n "$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"
if [ -z "$RECORD_ID" ];then
URL_U="https://www.cloudxns.net/api2/record"
@ -43,11 +43,13 @@ fi
PARAM_BODY="{\"domain_id\":\"$DOMAIN_ID\",\"host\":\"$HOST\",\"value\":\"$TXT_TOKEN\",\"type\":\"TXT\",\"line_id\":1,\"ttl\":60}"
HMAC_U=$(echo -n "$API_KEY$URL_U$PARAM_BODY$DATE$SECRET_KEY"|md5sum|cut -d" " -f1)
RESULT=$(curl -k -s $URL_U -X $CURLX -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 "$CURLX" -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
RES=$(echo -n "$RESULT"|grep -o "message\":\"success\"" -c)
if [ "$RES" = 1 ];then
echo "$(date) -- Update success"
else
echo "$(date) -- Update failed"

11
le-dns/le-cloudxns.sh Normal file → Executable file
View File

@ -3,8 +3,9 @@
export CONFIG=$1
if [ -f "$CONFIG" ];then
. $CONFIG
cd $(dirname $CONFIG)
. "$CONFIG"
DIRNAME=$(dirname "$CONFIG")
cd "$DIRNAME" || exit 1
else
echo "ERROR CONFIG."
exit 1
@ -27,4 +28,8 @@ if [ ! -f "letsencrypt.sh" ];then
chmod +x letsencrypt.sh
fi
./letsencrypt.sh -c -k ./cloudxns-hook.sh -t dns-01
if [ "$ECC" = "TRUE" ];then
./letsencrypt.sh -c -k ./cloudxns-hook.sh -t dns-01 -a secp384r1
else
./letsencrypt.sh -c -k ./cloudxns-hook.sh -t dns-01
fi