用dnspod的用户使用的DDNS docker

7,351次阅读
没有评论

用 dnspod 的用户使用的 DDNS docker
昨天想找一个用 dnspod 的用户使用的 DDNS docker,还真有人做好了,自己记录一下。
这个用途当然是用于某些动态 IP 的机器自动解析啦。AWS 的机器,google 的机器一关一开就换个 IP,dns 指向跟着自动改,多好,是吧?
需要修改的是这里 login_token=API 的 ID,API 的 token,后面的 email 都可以随便填写,貌似没有卵用。

docker run -d --restart=always  --name=dnspod-ddns -e "login_token=12345,1234512345123451234512345" -e "domain=yuming.com" -e "sub_domain= 二级前缀" -e "interval=10" -e "email=abc@gmail.com" -e "ip_count=1"  strahe/dnspod-ddns

另外一个脚本也是不错的,适用于机器资源不够的情况,可以做成计划任务执行,也是只需要有 ID 和 token 就可以了。
命令参考
假设脚本已经填充好参数并加上了重新设置权限(chmod +x ./dnspod_ddns.sh),并位于 /root/dnspod_ddns.sh:
新建计划任务输入 crontab -e 按 a 进入编辑模式,输入
*/1 * * * * /root/dnspod_ddns.sh &> /dev/null
含义是每隔一分钟执行 /root/dnspod_ddns.sh 并屏蔽输出日志。当然,如果您需要记录日志可以直接重定向到保存路径。然后按 Esc,输入:wq 回车保存退出即可。
更多关于 Crontab 的使用方法此处不再替换。另外
一些带有 Web 管理界面嵌入式系统(例如 openwrt),有图形化的计划任务菜单管理,可以直接把脚本粘贴进去。

工作过程
1,使用 CHECKURL 检查自己的外网 ip 和本地解析记录是否相同,相同则退出;
2,使用 API​​获取域名在 Dnspod 平台的 ip 记录中,如果 CHECKURL(line.sh 则是直接获取网卡 ip)获取 IP 结果和“本地 DNS 解析记录或 API 记录”相同则退出;获取记录异常也会退出并返回错误信息(例如
域名不存在 No Record);3,执行 DNS 更新,并返回执行结果。
下面是脚本下载,只用其中的 dnspod_ddns.sh 就可以了
dnspod-ddns 脚本下载

正文结束
 
欢迎加入 Telegram 群 https://t.me/Fit10086
文章教程好用记得留言支持啊
评论(没有评论)
载入中...