Jonas`s wiki

http://nas.aq520.com:32320/dokuwiki

用户工具

站点工具


资源:实用脚本:群辉阿里云解析脚本

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
资源:实用脚本:群辉阿里云解析脚本 [2020/10/11 22:10]
admin 创建
资源:实用脚本:群辉阿里云解析脚本 [2020/10/11 22:15] (当前版本)
admin
行 25: 行 25:
 ---- ----
  
-''​aliddnsipv6_ak="​阿里云控制台获取"​ +----
-aliddnsipv6_sk="​阿里云控制台获取"​ +
-aliddnsipv6_name1="​填DNS解析的AAAA字段(www/​nas/​tool/​...)"​ +
-aliddnsipv6_domain="​填你的域名(aq520.com)"​ +
-aliddnsipv6_ttl="​600"​+
  
-if [ "​$aliddnsipv6_name1"​ = "​@"​ ] 
-then 
-  aliddnsipv6_name=$aliddnsipv6_domain 
-else 
-  aliddnsipv6_name=$aliddnsipv6_name1.$aliddnsipv6_domain 
-fi 
- 
-now=`date` 
- 
-die () { 
-    echo $1 
-} 
- 
-ipv6s=`ip addr show eth0 | grep "​inet6.*global"​ | awk '​{print $2}' | awk -F"/"​ '​{print $1}'` || die "​$ipv6"​ 
- 
-for ipv6 in $ipv6s 
-do 
-  #ipv6 = $ipv6 
-  break 
-done 
- 
-echo $ipv6 
- 
-current_ipv6=`nslookup -query=AAAA $aliddnsipv6_name 2>&​1` 
-#echo $current_ipv6 
- 
-current_ipv6=`echo "​$current_ipv6"​ | grep '​Address:​ ' | tail -n1 | awk '​{print $NF}'` 
-echo $current_ipv6 
- 
-if [ "​$?"​ -eq "​0"​ ] 
-then 
-    current_ipv6=`echo "​$current_ipv6"​ | grep '​Address:​ ' | tail -n1 | awk '​{print $NF}'` 
-    echo $current_ipv6 
- 
-    if [ "​$ipv6"​ = "​$current_ipv6"​ ] 
-    then 
-        echo "​skipping"​ 
-    fi  
-#fix when A record removed by manual dns is always update error 
-else 
-    unset aliddnsipv6_record_id 
-fi 
- 
- 
-timestamp=`date -u "​+%Y-%m-%dT%H%%3A%M%%3A%SZ"​` 
- 
- 
-urlencode() { 
-    # urlencode <​string>​ 
-    out=""​ 
-    while read -n1 c 
-    do 
-        case $c in 
-            [a-zA-Z0-9._-]) out="​$out$c"​ ;; 
-            *) out="​$out`printf '​%%%02X'​ "'​$c"​`"​ ;; 
-        esac 
-    done 
-    echo -n $out 
-} 
- 
-enc() { 
-    echo -n "​$1"​ | urlencode 
-} 
- 
-send_request() { 
-    local args="​AccessKeyId=$aliddnsipv6_ak&​Action=$1&​Format=json&​$2&​Version=2015-01-09"​ 
-    local hash=$(echo -n "​GET&​%2F&​$(enc "​$args"​)"​ | openssl dgst -sha1 -hmac "​$aliddnsipv6_sk&"​ -binary | openssl base64) 
-    curl -s "​http://​alidns.aliyuncs.com/?​$args&​Signature=$(enc "​$hash"​)"​ 
-} 
- 
-get_recordid() { 
-    grep -Eo '"​RecordId":"​[0-9]+"'​ | cut -d':'​ -f2 | tr -d '"'​ 
-} 
- 
-query_recordid() { 
-    send_request "​DescribeSubDomainRecords"​ "​SignatureMethod=HMAC-SHA1&​SignatureNonce=$timestamp&​SignatureVersion=1.0&​SubDomain=$aliddnsipv6_name&​Timestamp=$timestamp&​Type=AAAA"​ 
-} 
- 
-update_record() { 
-    send_request "​UpdateDomainRecord"​ "​RR=$aliddnsipv6_name1&​RecordId=$1&​SignatureMethod=HMAC-SHA1&​SignatureNonce=$timestamp&​SignatureVersion=1.0&​TTL=$aliddnsipv6_ttl&​Timestamp=$timestamp&​Type=AAAA&​Value=$(enc $ipv6)"​ 
-} 
- 
-add_record() { 
-    send_request "​AddDomainRecord&​DomainName=$aliddnsipv6_domain"​ "​RR=$aliddnsipv6_name1&​SignatureMethod=HMAC-SHA1&​SignatureNonce=$timestamp&​SignatureVersion=1.0&​TTL=$aliddnsipv6_ttl&​Timestamp=$timestamp&​Type=AAAA&​Value=$(enc $ipv6)"​ 
-} 
- 
-#add support */%2A and @/%40 record 
- 
-if [ "​$aliddnsipv6_record_id"​ = ""​ ] 
-then 
-    aliddnsipv6_record_id=`query_recordid | get_recordid` 
-    #echo '​-----------------'​ $aliddnsipv6_record_id 
-fi 
-if [ "​$aliddnsipv6_record_id"​ = ""​ ] 
-then 
-    aliddnsipv6_record_id=`add_record | get_recordid` 
-    echo "added record $aliddnsipv6_record_id"​ 
-else 
-    update_record $aliddnsipv6_record_id 
-    echo "​updated record $aliddnsipv6_record_id"​ 
-fi 
- 
-''​ 
资源/实用脚本/群辉阿里云解析脚本.1602425427.txt.gz · 最后更改: 2020/10/11 22:10 (外部编辑)