本帖最后由 banzhanglaolin 于 2023-7-26 12:44 编辑
提出问题 因为我用的是树莓派安装的Home Assistant OS,之前都是通过Padavan(老毛子)做ipv4解析,
没有办法更新树莓派的ipv6地址。所以研究了一段时间怎么通过Node-RED更新地址。也怕我以后忘掉怎么调的了,在这儿做个记录。 底子比较差,要是有大神优化这个方案的话在评论区发一下~ 解决问题 这个流程是通过阿里云公开的api文档进行编写的。前期通过Postman软件了解的流程,后期通过Node-RED拼出来的。 有关阿里云api签名串流程参考官方文档,有关签名串注意事项请转到吐槽。 二、导入流程 导入流程前需要在需要在节点管理里面安装这两个节点 node-red-contrib-crypto-js-dynamic
node-red-contrib-ip
安装后导入流程文件 这个流程分了一个主流程三个子流程(纯属为了好看方便以后改进)。 打开流程后,需要在“写入 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
|