部署在本地的阿里云DDNS更新脚本
这是一个由Python编写的阿里云DDNS脚本, 可以自动查询执行脚本机器的当前公网IP并与域名中某个A类主机记录比对。
如执行脚本机器当前公网IP与主机记录值有差异就会进行值更新, 并发送通知邮件。(异常情况也会进行通知)
查询DNS记录值: AccessKey ID与AccessKey Secret创建连接请求 -> 使用主机记录查询RecordId -> 使用RecordId查询记录值
查询公网IP: 使用checkip.amazonaws.com查询公网IP值(速度较慢), 可使用service.qqays.xyz/my-ip进行公网IP值的查询。
main.py
为集成阿里SDK版本, 需安装Python要求。slim.py
为模拟了阿里SDK请求, 无外部Python库依赖。
- 克隆项目, 进入项目。
git clone https://github.com/qqAys/Aliyun-DDNS.git
cd Aliyun-DDNS
- 安装Python要求。(slim无需执行该步骤)
pip3 install -r requirements.txt
- 将配置文件重命名, 修改配置。(参见
config.ini.example
)
mv config.ini.example config.ini
- 使用
crontab -e
添加定时执行。
# 使用 main.py
*/5 * * * * python3 /root/Aliyun-DDNS/main.py >> /root/Aliyun-DDNS/DDNS.log
# 或者指定配置文件路径参数
*/5 * * * * python3 /root/Aliyun-DDNS/main.py /opt/config.ini >> /root/Aliyun-DDNS/DDNS.log
# 使用 slim.py
*/5 * * * * python3 /root/Aliyun-DDNS/slim.py >> /root/Aliyun-DDNS/DDNS.log
# 或者指定配置文件路径参数
*/5 * * * * python3 /root/Aliyun-DDNS/slim.py /opt/config.ini >> /root/Aliyun-DDNS/DDNS.log