文末会列举一些实现此工作流的其他方式,包括发送请求和接收提醒的手段。与此同时,n8n还可以通过模块组合,实现更多更复杂的功能,本文只作为抛砖引玉。
阅读本文可能需要一定Linux基础知识。
n8n是一个开源的自动化流程搭建工具,可以实现类似IFTTT的效果,比如「如果明天下雨,就推送要带伞的消息」。优点是开源、可以自己部署并将信息都储存在本地,同时可以与Github、Telegram、Slack等各种服务实现联动,以搭建自动化工作流。
n8n可以直接下载Win或是Mac版本,快速在本地使用,但如果想更稳定地长期运行,更适合部署在云服务器、树莓派或NAS等工具上。
假设已经安装好了Docker,那么n8n的部署就非常简单,先新建一个文件夹储存数据。
#创建数据储存文件夹mkdir~/n8n-data复制运行下面的代码,利用Docker安装n8n。如果云服务器有防火墙,需要把对应的端口打开,这里需要打开云服务器的TCP端口5678。
点击右上角的Newblankworkflow即可开始创建,也可以从软件提供的Workflow示例中,选择自己想部署的自动化流程。
这里以搭建一个RSS更新自动推送到飞书的机器人为例,展示n8n的一些使用方式。
以下是我配置好的一个流程模板,复制以下内容粘贴到n8n新建workflow的页面。
第二个是在RSSFeedRead处,填写想订阅的RSS地址,这里以少数派RSS为例,填写完后点击Excutenode,先运行一次获取数据,方便后续设置。
第三处(可选)IF处,设置是否需要针对标题或内容等进行过滤,默认不过滤。
最后在HTTPRequest处填入飞书机器人webhook地址。
填写完成后Excutenode尝试运行,一切顺利的话就能在飞书中看到推送来的RSS消息了。
由于采用Webhook的形式,请务必保管好Webhook链接,如果泄露可能会导致被推送垃圾信息。为了进一步加道保险,飞书提供了三种安全设置方式,分别是自定义关键词、IP白名单和签名校验。
从飞书机器人设置界面中,勾选签名校验得到密钥,填写在Set模块中。
接下来将LatestRead模块中的代码替换为以下内容,储存计算出的签名,方便在请求的时候调用。
这样一番倒腾,给飞书机器人模块增加了签名校验,使得信息推送更加安全。当一切配置妥当后,别忘了点击界面右上角的激活,让工作流开始自动运行。
同时,实现类似工作流的手段还有很多。对于n8n这部分,可以使用IFTTT、Integrately,或是GithubAction等,实现工作流中「监控RSS更新并发送Webhook请求」这部分;对于接收提醒,文中利用了飞书作为展示消息的界面,而n8n也支持连接到Telegram、Slack等通讯软件,或是通过SendEmail模块实现邮件通知,以及发送到Cubox、flomo等各种支持Webhook的工具中。
更多功能,更多组合,尽请探索,把闲置的云服务器或是积灰的树莓派等折腾起来吧。