1.注册阿里云账号。
2.注册一个域名。 如果域名不在阿里云解析托管,需要先转过去,具体方法是联系域名提供商修改域名的DNS服务器,修改方式参考这里:https://help.aliyun.com/knowledge_detail/39844.html 然后去控制台找到云解析,将域名添加进去;
3.到阿里云控制中心找到access key和secret并保存下来(强烈建议遵循阿里云安全最佳实践的说明 ,使用RAM子用户的AccessKey);
4.到群晖控制中心找到任务计划新增一个计划。 新增->计划的任务->用户自定义脚本
设置10分钟定时
复制以下内容,根据自己的情况修改中文部分并添加到任务设置自定义脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
#!/bin/sh aliddns_name="你的域名前缀" aliddns_domain="你的域名" aliddns_ak="你的AccessKeyId" aliddns_sk="你的AccessKeySecret" aliddns_curl="curl -s whatismyip.akamai.com" aliddns_dns="8.8.8.8" aliddns_ttl="600" ip=`$aliddns_curl 2>&1` current_ip=`nslookup $aliddns_name.$aliddns_domain $aliddns_dns 2>&1` if [ "$?" -eq "0" ] then current_ip=`echo "$current_ip" | grep \'Address 1\' | tail -n1 | awk \'{print $NF}\'` if [ "$ip" = "$current_ip" ] then exit 0 fi fi timestamp=`date -u " %Y-%m-%dT%H%:%M%:%SZ"` urlencode() { # urlencode out="" while read -n1 c do case $c in [a-zA-Z0-9._-]) out="$out$c" ;; *) out="$out`printf \'%%X\' "\'$c"`" ;; esac done echo -n $out } enc() { echo -n "$1" | urlencode } send_request() { local args="AccessKeyId=$aliddns_ak&Action=$1&Format=json&$2&Version=2015-01-09" local hash=$(echo -n "GET&/&$(enc "$args")" | openssl dgst -sha1 -hmac "$aliddns_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=$aliddns_name.$aliddns_domain&Timestamp=$timestamp" } update_record() { send_request "UpdateDomainRecord" "RR=$aliddns_name&RecordId=$1&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&TTL=$aliddns_ttl&Timestamp=$timestamp&Type=A&Value=$ip" } add_record() { send_request "AddDomainRecord&DomainName=$aliddns_domain" "RR=$aliddns_name&SignatureMethod=HMAC-SHA1&SignatureNonce=$timestamp&SignatureVersion=1.0&TTL=$aliddns_ttl&Timestamp=$timestamp&Type=A&Value=$ip" } if [ "$aliddns_record_id" = "" ] then aliddns_record_id=`query_recordid | get_recordid` fi if [ "$aliddns_record_id" = "" ] then aliddns_record_id=`add_record | get_recordid` echo "added record $aliddns_record_id" else update_record $aliddns_record_id echo "updated record $aliddns_record_id" fi |
5.设置好端口转发。
如何设置群晖端口转发请自行百度。
微信扫描下方的二维码阅读本文
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容