last-commit

地址:Github

背景

原公云域名qqays.f3322.net会被微信屏蔽,后改成noip.com提供的qqays.ddns.net。

因免费版noip帐户必须每月手动确认动态域名否则会被释放,故自己使用阿里云云解析API编写Python脚本,部署在服务器进行yun.qqays.xyz的自动更新。

Aliyun-DDNS

部署在本地的阿里云DDNS更新脚本

简介

这是一个由Python编写的阿里云DDNS脚本,可以自动查询执行脚本机器的当前公网IP并与域名中某个A类主机记录比对。

如执行脚本机器当前公网IP与主机记录值有差异就会进行值更新,并发送通知邮件。(异常情况也会进行通知)

脚本原理

查询DNS记录值:AccessKey ID与AccessKey Secret创建连接请求 -> 使用主机记录查询RecordId -> 使用RecordId查询记录值

查询公网IP:使用checkip.amazonaws.com查询公网IP值(速度较慢),可使用service.qqays.xyz/my-ip进行公网IP值的查询。

使用

  1. 克隆项目,进入项目。
git clone https://github.com/qqAys/Aliyun-DDNS.git
cd Aliyun-DDNS
  1. 安装Python要求。
pip3 install -r requirements.txt
  1. 将配置文件重命名,修改配置。(参见config.ini.example)
mv config.ini.example config.ini
  1. 使用crontab -e添加定时执行。
*/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

效果

Snipaste_2023-12-06_09-49-35.png

相关链接

阿里云-RAM访问控制-创建AccessKey

阿里云-云解析-API

标签: DDNS, Python, Aliyun

分类: Python, DDNS

添加新评论