banzhanglaolin 发表于 2022-3-23 00:22:38

Node-RED自动更新ip地址到阿里云解析(aliddns)

本帖最后由 banzhanglaolin 于 2023-7-26 12:44 编辑

提出问题因为我用的是树莓派安装的Home Assistant OS,之前都是通过Padavan(老毛子)做ipv4解析,
没有办法更新树莓派的ipv6地址。所以研究了一段时间怎么通过Node-RED更新地址。也怕我以后忘掉怎么调的了,在这儿做个记录。底子比较差,要是有大神优化这个方案的话在评论区发一下~解决问题一、原理介绍这个流程是通过阿里云公开的api文档进行编写的。前期通过Postman软件了解的流程,后期通过Node-RED拼出来的。我这个Node-RED流的原理可以参考思维导图。有关阿里云api签名串流程参考官方文档,有关签名串注意事项请转到吐槽。二、导入流程导入流程前需要在需要在节点管理里面安装这两个节点node-red-contrib-crypto-js-dynamic
node-red-contrib-ip
安装后导入流程文件 1.0版本 1.1版本这个流程分了一个主流程三个子流程(纯属为了好看方便以后改进)。打开流程后,需要在“写入 AccessKeyId”这个节点里填写解析地址以及AccessKey ID(从阿里云获取)和AccessKey Secret。需要注意的是,在AccessKey Secret最后面需要添加一个&,这个非常的重要。将baidu.com换成自己的一级域名,www换成需要解析的二级域名主机记录,点完成,部署就不用管它了.三、吐槽因为这个阿里云签名串就搞了两天,正常百度到的Hmac-sha1加密后的字符串是和api后台无法核对成功的。最后我发现了这个网站,解决了我的困扰。平常网站计算得到的Hmac-sha1的值用Base64编码最后是两个==(小小的细节),提交给服务器总是说签名串错误,看到这个网站最后一个输出人性的将Hmac的二进制编码成了Base64,发现最后一个总是=,和官方给的例子里一样。没想到通过这样编码的签名串服务器就认了。
四、已知问题更新Node-RED后之前的流程会报一个缺少"stoptimer"节点, 换成delay节点就可以了。新配置文件已更新。 还有之前有兄弟提问能不能自动更新IPV6的地址,它是可以的,如果设置的域名下面没有IPV6的地址它会自动添加的,有的话自动更新。但是这个IPV6地址是对应的运行Homeassistant的地址!! 还有问题的话可以前自行查看一下Node-RED的调试日志打印的日志或许能帮助到你
五、联系方式 还有问题的话可以加我QQ 1665489238




ylilike 发表于 2022-5-16 17:02:51

谢谢分享,我也有过这操作

jjcs 发表于 2022-5-16 17:33:25

论坛有你更精彩

LigTwwl 发表于 2022-10-9 00:10:06

可以自动更新ipv6的地址并且解析吗

saranglhy 发表于 2022-11-1 21:33:34

这么好的文章怎么不顶上去
页: [1]
查看完整版本: Node-RED自动更新ip地址到阿里云解析(aliddns)