51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Python 百度域名 DDNS 自动解析工具

DDNS 动态域名服务中介绍了DDNS的含义,本文记录:使用python语言,基于百度域名解析更新API,封装设计成自动同步本地IP的DDNS工具。

前置条件 {#前置条件}

  • 具有 DDNS 需求 (IPv4 或 IPv6)
  • 申请了百度云域名 (其他家的域名本文方法不适用)
  • 了解DDNS (DDNS 动态域名服务
  • 可以运行python程序

核心实现 {#核心实现}

将百度 API 中的DNS 更新模块封装成一个工程,简单介绍功能和核心实现

功能 {#功能}

  • 动态获取本机指定 IP
  • 自动对比当前本地 IP 与域名指向的IP
  • 当本地 IP 发生变化时自动向远程同步
  • 可以同步 A 记录(IPv4)和 AAAA 记录(IPv6)
  • 可以配置同步频率,同步IP类型
  • 保留较为完整的日志

获取本机 IP {#获取本机-IP}

获取本机IP的核心代码,可以获取 IPv4 或 IPv6 的地址

  • 其中 ip_type 为IP类型,可为 IPv4IPv6

获取当前 DNS 信息 {#获取当前-DNS-信息}

需要获取当前DNS 状态,以判断是否需要更新

  • 其中 domain 为二级域名名称

更新DNS记录 {#更新DNS记录}

构造更新DNS所需的报文格式

注意如果地址为 IPv6,地址中的字母需要大写

其中 logger 为日志对象

DDNS 配置使用 {#DDNS-配置使用}

下载代码 {#下载代码}

更改配置 {#更改配置}

  • assets/config.json中配置域名Access KeySecret Key
  • main.py 文件中配置检测时间间隔二级域名名称IP类型

运行程序 {#运行程序}

示例日志 {#示例日志}

参考资料 {#参考资料}



文章链接:
https://www.zywvvd.com/notes/coding/python/baidu-ddns/baidu-ddns/

赞(0)
未经允许不得转载:工具盒子 » Python 百度域名 DDNS 自动解析工具