继上次写过一篇 Cloudflare DDNS 脚本的文章 之后,我便一直有写一个 DNSPod DDNS 脚本的想法。虽然 DNSPod 提供了一个 DDNS 的 API 接口,但是并不是很好用,比如由于其 API 不是双栈的导致无法进行 IPv6 的 DDNS,这就很让人不爽(
于是,这个脚本应运而生,用以解决 DNSPod 在 IPv6 环境下无法 DDNS 的问题
按照惯例,先来推广一下我这个项目的仓库地址,虽然不知道会不会有大佬来提 PR
-
GitHub:https://github.com/Leao9203/dnspod-api-ddns
-
Gitee:https://gitee.com/Leao9203/dnspod-api-ddns
用法
请提前装好必备的环境,例如 BASH cURL
下载
通过 GitHub 下载
通过 Gitee 下载(国内体验较好)
通过 jsDelivr 下载
参数
顺带一提,脚本在初次运行时会自动在当前用户的目录下的 .config/dnspod-ddns 生成一个保存 IP 的文件,来判断 IP 是否更新。如果目录不存在会自动创建。
设置 crontab 自动更新
频率为每分钟检查一次 IP 是否更新,如果觉得太频繁可以把 1 改为其他数值(小于 60 的整数)
其他用法
除了通过附加参数来使用,也可以直接修改脚本内的一些变量来使用,脚本内已经加了注解,修改第 4 行至第 22 行的变量内容即可。
创建 DNSPod 的 Token 教程
在看了上面的用法之后,可能有部分人士仍对用法有一些疑惑,这里进行一次演示
打开 DNSPod 的 Token 管理页面
https://console.dnspod.cn/account/token/token
点击 创建密钥,并进行相应的身份验证
然后给新创建的密钥取一个响当当的名字
将新创建的 ID 和 Token 值保存下来,并勾选 温馨提示 的内容
之后,按照上面的用法使用即可
天哪,我的老伙计,我都说的这么详细了,我敢打赌,你一定会用的,我向圣母玛利亚保证。如果你还是不会,我保证,我一定用皮靴狠狠地踢你的屁股
LICENSE相关
为了爱与和平,为了便于本脚本的传播及造福群众,脚本的版权 LICENSE 设置为了非常宽松的 MIT 许可证,希望能给各位有需要的小伙伴做出一些绵薄的贡献吧
后记
说起来,我要写一个 DNSPod 的 DDNS 脚本的 Flag 都已经立下了快一年了,现在才写出来,真的笑嘻辽
咕王的实力.jpg
下一步的计划应该是给阿里云的 DNS 写一个 DDNS 的 Shell 脚本,前提是如果没别的大佬写过的话(
参考
-
https://segmentfault.com/a/1190000020994793
-
https://cloud.tencent.com/developer/article/1459279
-
https://www.jianshu.com/p/59418b7423e0
-
https://blog.csdn.net/sdujava2011/article/details/83827343
-
https://www.shellcheck.net/wiki/SC2220
-
Ghost-in-the-shell busters: your guide to using ShellCheck for top quality scripts
-
https://www.zhihu.com/question/52397798/answer/2011618645
-
https://docs.dnspod.cn
-
https://www.cnblogs.com/sunyubo/archive/2011/10/17/2282047.html
-
https://blog.csdn.net/ARPOSPF/article/details/103381621
-
https://developer.aliyun.com/article/334493
-
https://blog.happyhack.io/2020/07/16/upgrade-bash-on-macOS
-
https://www.ruanyifeng.com/blog/2019/09/curl-reference.html
-
https://blog.csdn.net/weixin_31643625/article/details/116630442
-
https://cloud.tencent.com/developer/article/1071300
-
https://www.runoob.com/linux/linux-comm-grep.html
-
https://www.runoob.com/linux/linux-shell-variable.html
-
https://www.runoob.com/linux/linux-comm-sed.html
-
https://www.runoob.com/linux/linux-comm-cat.html
本文首发于我的博客:https://blog.ascn.site/post/20220912222454/