一个基于cloudflare的ddns客户端,支持Windows
前言
由于一定的原因,本人内网DHCP得到的内网地址总是会不断变化,严重影响内网各项服务的正常工作
在找遍GitHub也没有找到一个可靠的跨平台的支持clooudflare的ddns脚本之后,博主决定自己动手写一个脚本
在这里感谢cloudflare-ddns-client项目
开始
查看了该项目的代码之后,发现该项目并不能很好的运用在本人的环境中,主要的问题在于如何获取内网的ip地址
在这里我决定使用python的psutil库来解决该问题,psutil库同时也提供了跨平台能力
贴一下获取地址的代码
1 | def get_ip(prefix): |
prefix是ip的前几段,例如10.0
因为本人环境比较特殊,每次获取到的ip都是前几段相同的,所以用这样的方式来解决获取想要的ip的问题
下面是获取ipv6
1 | def get_ipv6(): |
也是同样的方案,但是并没有考虑多网卡的问题
socket.AF_INET6
和socket.AF_INET
是标准库socket里的常量,用来表示类型
原代码已上传
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 RainChan的小博客!
评论