使用dnspod实现动态dns

最近家里换了联通的30M带宽,刚好可以在家里电脑上搭个网站。

域名是托管在dnspod上。

用python写了个程序,获取公网IP,并调用dnspod的API,来更新dns记录。

DNSPod 貌似现在更改了 API 接口了,会自动读取请求主机的 IP 并且更新记录。

  • 注意事项:

    • 如果1小时之内,提交了超过5次没有任何变动的记录修改请求,该记录会被系统锁定1小时,不允许再次修改,所以在开发和测试的过程中,请自行处理IP变动,仅在本地IP发生变动的情况下才调用本接口。
    • 如何理解没有任何变动的记录修改请求?比如原记录值已经是 1.1.1.1,新的请求还要求修改为 1.1.1.1。

替换上你的Email,密码,域名ID,记录ID等参数,就可以运行了。 会在后台一直运行,每隔30秒检查一遍IP,如果修改了就更新IP。

获得domain_id可以用curl

curl -k https://dnsapi.cn/Domain.List -d "login_email=xxx&login_password=xxx"

获得record_id类似

curl -k https://dnsapi.cn/Record.List -d "login_email=xxx&login_password=xxx&domain_id=xxx"

下载

dnspod api文档

参考