加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

基于dnspod,动态更新ip地址

发布时间:2020-12-15 07:08:00 所属栏目:安全 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/bin/sh# usage: ./dnspod.sh ddns.conf####ACCOUNT=""PASSWORD=""DOMAIN=""SUBDOMAINS=""RECORD_LINE=""DOMAIN_ID=""RECORD_LIST=""#更新记录id的i

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

#!/bin/sh
# usage: ./dnspod.sh ddns.conf
#
#
#
#

ACCOUNT=""
PASSWORD=""
DOMAIN=""
SUBDOMAINS=""
RECORD_LINE=""

DOMAIN_ID=""
RECORD_LIST=""
#更新记录id的ip地址
#curl -k https://dnsapi.cn/Record.Ddns -d "login_email=${ACCOUNT}&login_password=${PASSWORD}&domain_id=${DOMAIN_ID}&record_id=${REC_BBS}&sub_domain=${SUB_BBS}&record_line=${RECORD_LINE}"
#获得域名id
#curl -k https://dnsapi.cn/Domain.List -d "login_email=${ACCOUNT}&login_password=${PASSWORD}"
#获得域名id下的记录列表
#curl -k https://dnsapi.cn/Record.List -d "login_email=${ACCOUNT}&login_password=${PASSWORD}&domain_id=${DOMAIN_ID}"

dnspod_load_config(){
	cfg=$1;
	content=`cat ${cfg}`;
	ACCOUNT=`echo "${content}" |grep 'ACCOUNT'| sed 's/^ACCOUNT=["](.*)["]/1/'`;
	PASSWORD=`echo "${content}" |grep 'PASSWORD'| sed 's/^PASSWORD=["](.*)["]/1/'`;
	DOMAIN=`echo "${content}" |grep 'DOMAIN'| sed 's/^DOMAIN=["](.*)["]/1/'`;
	SUBDOMAINS=`echo "${content}" |grep 'SUBDOMAINS'| sed 's/^SUBDOMAINS=["](.*)["]/1/'`;
	RECORD_LINE=`echo "${content}" |grep 'RECORD_LINE'| sed 's/^RECORD_LINE=["](.*)["]/1/'`;
}

dnspod_domain_get_id(){
	options="login_email=${ACCOUNT}&login_password=${PASSWORD}";
	cmd="curl -s -k https://dnsapi.cn/Domain.List -d ${options}";
	out=`${cmd}|sed -n '/<id>/,/</name>/p'`;
	DOMAIN_ID=`echo "${out}"|grep -B1 "${DOMAIN}"|grep '<id>*'|sed 's/<id>(.*)</id>/1/'`
	RECORD_LIST=`curl -s -k https://dnsapi.cn/Record.List -d "${options}&domain_id=${DOMAIN_ID}"`
}

dnspod_update_record_ip(){
	html=$1;
	out=`echo "${html}"|sed -n '/<item>/,/</item>/p'`
	out=`echo "${out}"|grep -B3 '<type>A</type>'`;
	for sub in ${SUBDOMAINS}; do
		rec_id=`echo "${out}"|grep -B1 "${sub}"|grep '<id>*'|sed 's/<id>(.*)</id>/1/'`
		curl -k https://dnsapi.cn/Record.Ddns -d "login_email=${ACCOUNT}&login_password=${PASSWORD}&domain_id=${DOMAIN_ID}&record_id=${rec_id}&sub_domain=${sub}&record_line=${RECORD_LINE}"
	done
}

main(){
	dnspod_load_config $1
	dnspod_domain_get_id
	dnspod_update_record_ip "${RECORD_LIST}"
}

main $1

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读