部署在本地的阿里云DDNS更新脚本
这是一个由Python编写的阿里云DDNS脚本, 可以自动查询执行脚本机器的当前公网IP并与域名中某个A类主机记录比对。
如执行脚本机器当前公网IP与主机记录值有差异就会进行值更新, 并发送通知邮件。(异常情况也会进行通知)
查询DNS记录值: AccessKey ID与AccessKey Secret创建连接请求 -> 使用主机记录查询RecordId -> 使用RecordId查询记录值
查询公网IP: 使用抽样的两个URL进行查询比较,支持多检测URL
main.py
为集成阿里SDK版本, 需安装Python要求。(slim.py
为模拟了阿里SDK请求, 无外部Python库依赖。main.py
使用yaml后, slim.py
将不支持)
- 克隆项目, 进入项目。
cd ~
git clone https://github.com/qqAys/Aliyun-DDNS.git
cd Aliyun-DDNS
- 安装Python要求。
(slim无需执行该步骤)
pip install -r requirements.txt
- 将配置文件重命名, 修改配置。(参见
config.example.yml
)
mv config.example.yml config.yml
-
使用
crontab -e
添加定时执行。-
使用
main.py
, 可指定参数-c
或--config_file
, 其他参数参见-h
*/10 * * * * /usr/bin/bash -c 'python3 ~/Aliyun-DDNS/main.py >> ~/.ddns_log 2>&1' # 或者指定配置文件路径参数 */10 * * * * /usr/bin/bash -c 'python3 ~/Aliyun-DDNS/main.py -c ~/Aliyun-DDNS/config.yml >> ~/.ddns_log 2>&1'
-
使用(slim.py
main.py
使用yaml后,slim.py
将不支持)
-