Closed lqsbg26 closed 1 year ago
您好,感谢您的建议。该功能将在下一版本支持。
您好,我初步定下了一套 Webhook配置标准 ,请问还有什么缺漏的部分吗? @lqsbg26
邮件通知也行。倒是不一定要很实时或很交互的通知渠道。如果可以定义哪些级别的时间会发送通知,当然更理想。例如:DNS服务器上无此A(AAAA)记录是Critical级,IP变化了但更新DNS记录失败是Error级,无法获取当前IP地址信息是Error级,成功更新了DNS记录是Warning级,检查了IP无变化是Trace级,等等。
另外我看见在config文件中只定义了一个获取IPv6地址的URL,根据我使用Jeessy的DDNS-go的经验来看,这些URL都是不可靠的,可能几个月后网站关闭了,或不再提供IP地址查询功能了,或者因为你的DDNS工具用户数太多而且查询太频繁,网站管理员对此工具的http User-Agent进行拒绝,等等。所以,建议允许设定多个查询IP地址的URL,特别是IPv6的。
目前暂时不考虑进行事件分级。这里还是用wenhook的方式实现,以便后续进行其他方面的拓展。通过webhook支持,可以在自己的后端上搭建邮件通知服务,并通过webhook的方式通知到后端发送指定邮件的内容。
下载了3.0.2,并在config.yml中加入了webhook的定义,但运行不成功。应我注意到几个问题: 1,3.0.2可以顺利使用原有的config文件,并且我在config中看到被新加入了循环次数和webhook的内容; 2,但是任何修改新版config文件的行为都会导致3.0.2拒绝接受,无论按照下面的第3条还是第4条; 3,被3.0.2更新的config文件中,webhook的字段模板比较混乱,例如on-sucess的URL是用两个单引号括起来的,但message的内容没有引号;而且多了一个body字段,也没有描述说明; 4,如果直接参考https://github.com/CarmJos/AliDDNS-Updater/blob/v3.0.2/.doc/WEBHOOK.md 的说明,这里的所有字段的内容都是被双引号括起来的,也没有前面提到的body字段的说明; 5,无论用第3还是第4条中的方法,修改config文件(我其实只在webhook | on-sucess | URL 中填充了https://iyuu.cn/IYUU9663Te0e6bf76deb438e79770b1c3189a0f43b47501e9/notify/%(message) 这样的内容)后,再运行3.0.2,都会被认为是非法config文件,然后3.0.2就清空了config文件的内容。而body字段保持不变,message字段保持不变或加一对空引号,都不行。
鉴于YAML的配置可能不太适用于长JSON,可能需要另外考虑其他的配置方式...
请问您有什么好的想法或建议吗?
是苦恼于你的配置文件不能普遍适应于不同平台的webhook的复杂语法吗?那就只选定一家好了,建议是爱语飞飞,因为server酱会限制每天发送的次数。然后,也不要去适配爱语飞飞那些强大的复杂的功能,仅限于单向通知,仅限于更新成功,仅限于用http get来提交消息,例如我用DDNS-GO/jeessy2时的URL是 “http://iyuu.cn/IYUU9523Te0d543b87391f2.send?text=7楼下载机IPv6发生改变。&desp=新IP【#{ipv6Addr}】,域名【#{ipv6Domains}】更新【#{ipv6Result}】” 这样子的,多调试几次总可以通过吧。限定webhook平台,限定使用场景和模式,甚至可以限定消息内容是指定长度的,这样最终的URL应该也是定长的了吧?哪怕yaml不能处理长json,也能够通过多行拼凑得到需要的东西吧。Webhook功能,有总比没有好,然后再谈是否通用。
简化了一下,目前只允许填一个URL来实现webhook。
先用着为好。
https://github.com/CarmJos/AliDDNS-Updater/actions/runs/4087187969
首先赞一个,这是我目前找到的,在我的低端白群晖(DS-213j)上,唯一能支持IPv6的DDNS工具了。本来有个DDNS-go,也是支持IPv6的,有人将其编译成群晖上的SPK插件。但是也许因为我的群晖型号不够新,或者因为低端群晖是ARM的CPU,总之那个DDNS-go插件无法安装。群晖内置的自家的DDNS功能,通过特殊配置也能用IPv6,但时好时坏,不够稳定。
通过DDNS-go了解到,可以用http get的方法,提交更新结果给到一些通知平台,例如我配置了用“Server酱”和“爱语飞飞”的微信通知。还有一些例如企业微信,丁丁,飞书等通知渠道可以简单实现调用。具体可以参考 https://github.com/jeessy2/ddns-go#webhook 。
所以,能否在你的工具中实现通知功能?谢谢