家庭宽带的IP是不固定的,当出门在外,人不在家时,一旦IP变动,就给接入家中的设备(如监控)带来许多麻烦,于是我编写了一个能在Linux系统下运行,基于cloudflare API的动态DNS脚本,虽然国内已有花生壳之类的ddns服务,但是那些实在是太坑爹,比如只能使用它提供的二级域名,而该脚本能够配置顶级域名的动态DNS解析。
以前写过一篇关于利用CloudFlare API实现的DDNS的脚本《基于CloudFlare API的纯Shell动态DNS(DDNS)脚本》,感兴趣可以参考下。
用Python编写的CloudFlare动态DNS客户端
除非您具有静态的公共IP地址,否则这可能是确保始终可以通过Internet访问服务器的最可靠方法。
访问https://github.com/AmirAzodi/cloudflare_ddns,下载cf-ddns.py和cf-ddns.conf文件,然后安装下面的方法修改cf-ddns.py和cf-ddns.conf文件。
cloudflare_ddns脚本特征
1.支持IPv4和IPv6记录(A,AAAA)
2.支持多个域,每个域有多个主机
3.单个主机同时支持IPv4和IPv6
4.没有使用第三方库。仅标准python库。
5.适用于Python 2和3
6.设计为可在支持Python的任何操作系统上运行(即不依赖于任何特定于操作系统的工具)
7.仅在必要时更改CloudFlare的区域文件。将每个主机的最后IP地址存储在配置文件中。
8.简单的JSON配置文件
9.如果丢失,则自动收集并保存区域和主机ID。
#####简单的JSON配置文件: { “域”: [ { “主机”: [ { “ id ”: “ ”, “ ipv4 ”: “ ”, “ ipv6 ”: “ ”, “名称”: “ HOST_NAME_HERE例如www ”, “类型”: [ “ A ” ] } ], “ id ”: “ ”, “名称”: “ DOMAIN_NAME_HERE例如myserver.com ” } ], “用户”: { “ api_key ”: “ CLOUDFLARE_API_KEY_HERE ”, “电子邮件”: “ CLOUDFLARE_EMAIL_HERE ” }}
cloudflare_ddns使用方法
1.将cf-ddns.py和cf-ddns.conf文件下载并放置在服务器上的某个位置(例如/usr/local/bin/或~/)
2.cf-ddns.conf在文本编辑器中打开文件,然后指定您的电子邮件地址,API密钥,域名和主机名。
3.记录类型默认设置为A。将其更改为AAAA或根据需要将AAAA添加到列表中。
3.通过运行为您的用户设置脚本的+ x权限
chmod +x /PATH_TO_FILE/cf-ddns.py
4.运行
crontab -e
并将此行添加到该行
*/5 * * * * /PATH_TO_FILE/cf-ddns.py >/dev/null 2>&1
5.请确保更改命令里的路径以匹配您的设置
官方QQ群号码:922069959(空)、1093596563(空)
One thought on “Python编写CloudFlare API动态cloudflare_ddns客户端,CloudFlare API内网穿透cloudflare_ddns Python脚本”
Pingback: 抛弃3322 DDNS使用更好的changeip免费DDNS内网穿透 – 月下博客
留言评论