@author tinko
@version 0.1.0
ddns.py 是基于 DNSPod 服务的动态 DNS 脚本,用于检测 IP 变化并更新至 DNSPod,支持多域名解析。支持 Linux 设备,包括树莓派(Raspberry Pi)。不需要手动添加解析,也不需要人工获取 domain_id 和 record_id,只要跟着教程来,小白都可以很快上手(软件都不会安装的除外)。喜欢用Python3的小伙伴请前往ddns-py3。
首先,确保已经安装 git 客户端以及 python 2.7.*,建议python 2.7.13+
通过本命令获取 ddns.py
git clone https://github.com/dingguotu/ddns.git
接下来到DNSPod中创建API Token,具体步骤是:登录DNSPod -> 进入控制台 -> 用户中心 -> 安全设置 -> 开启API Token(已开启的点击查看) -> 创建API Token(Token只会显示一次,以后将没办法查看已有的Token,请务必保管好自己的Token,如果不慎丢失,可以删除后重新创建,但是程序里也要及时修改,以免导致程序不能正常运行)
如果域名是在阿里云或其他非腾讯云处购买的,还需要进入相对应的服务商控制台,修改域名的DNS地址为:
f1g1ns1.dnspod.net
f1g1ns2.dnspod.net
复制 conf.sample.json
文件,并重命名为 conf.json
,根据您的DNSPod设置修改 conf.json
文件,填入以下内容:
{
"id": <api_token_id>,
"token": <api_token>,
"domains": [
{
"name": <first_domain>,
"sub_domains": [<first_sub_domain_name>, <second_sub_domain_name>,...]
},
{
"name": <second_domain>,
"sub_domains": [<first_sub_domain_name>, <second_sub_domain_name>,...]
}
]
}
domains
部分,想绑定几个就写几个,不需要多写,sub_domains
通常写 @
和 *
就够了,二级子域名直接用 *
代替,然后在自己的代理服务器(IIS,nginx,Apache等)上面去进行绑定。domain 和 sub_domain 可以不需要事先手动绑定,本程序会自动识别
最后设置 crontab 定时任务,以便更新DNS记录:
sudo crontab -e
/30 * * * * python /home/pi/ddns/ddns.py
本教程的定时任务是Linux版本,/30
表示每隔30分钟运行一次,可以自行修改,本教程不做限定。/home/pi/ddns/ddns.py
是绝对路径,请根据实际情况进行修改
Windows版请自行学习Windows 任务计划
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。