前言

在今年8月底的时候,Mac/iOS上据说是最好的RSS工具reeder3限免了,只是因为它即将成为旧版,也就是说新版reeder4即将发布,但是既然是限免,反正不要钱,我也就去下了一份囤着。

10月21日上午,GitHub的数据库出现一些同步问题,群里说github访问出现500(服务器内部错误),但是我访问时并没有出现,以为github已经恢复正常。下午同步推送博客仓库的时候,才发现GitHub pages 没有部署。确认了不是代码原因后,给GitHub发了help request。发完过了几分钟,突然想到他们有个status监控页面,然后看到了他们在博客中发布的故障报告,其中提及:

Out of an abundance of caution we have taken steps to ensure the integrity of your data, including pausing webhook events and other internal processing systems.

所以GitHub pages的部署应该时属于内部作业系统,被暂停了。之后的GitHub support回复也应证了这点。

Hi there,

Sorry for the trouble!

We’re experiencing some data storage trouble currently that’s affecting normal site behaviour. You can read more information about the ongoing incident in this blog post:

https://blog.github.com/2018-10-21-october21-incident-report/

Please continue to monitor our status page for updates:

https://status.github.com/messages

Once we return to status green you may need to push a new commit in order for your site to build the latest version. If you’re still having trouble after that, please reach out and we’ll investigate further!

Thanks,
Thomas
GitHub Support

我心想,如果当时我能及时看到github博客中的故障报告,就不用去发request打扰别人了,还能及时了解最新的状况。
所幸的是,GitHub 博客提供了RSS订阅。

什么是RSS

摘抄wiki百科的定义:

RSS(简易信息聚合)是一种消息来源格式规范,用以聚合经常发布更新数据的网站,例如博客文章、新闻、音频或视频的网摘。RSS文件(或称做摘要、网上摘要、或频更新,提供到频道)包含全文或是节录的文字,再加上发布者所订阅之网摘数据和授权的元数据。

其实简单来说,就是内容发布方(博客、新闻网站)提供的一个XML格式或者是ATOM格式的文件,内容是网站最新的文章/资源的聚合,我们可以通过工具来时刻去抓取最新的文件,获取最新的网站内容更新,而不用去打开网站。

使用telegram bot订阅RSS更新

我使用之前限免下载的reeder3订阅rss,开始还挺好,但是逐渐我发现了reeder3的不足,不支持代理。
竟然不支持代理访问,太屑了吧。。
如果我订阅的网站大陆不可访问,那我只有把ss挂成全局模式,reeder3才能访问到,这很不方便(因为我的ss是手动模式,没有使用pac文件模式

于是我发现了telegram 上的一个rssbot,telegram bot基于http/https request和telegram api交互,API文档友好,使用也很方便,使得大量的开发者利用bot写了各种各样的拓展,而你只需要运行telegram 即可使用。对于我来说,这很方便,因为我的tg是7x24运行的,使用bot也就不需要专门去下载rss的阅读器收取更新了。

但是使用bot也有弊端,就是只能收取更新,阅读还是需要打开网站。不过我的需求仅限于收取更新。

提供公共服务的bot用户名:@RustRssBot

公共服务的bot,因为公共服务器的资源限制,每个人只能订阅一个站点,但是作者在GitHub开源了bot的代码,感谢作者的无私奉献。

运行rssbot,并发送更新通知到频道

项目地址:https://github.com/iovxw/rssbot
项目使用rust编写

刚好今天把另一个独服的kvm小鸡开好了(顺便把之前写的开kvm机器的步骤记录又验证了一次),就把rssbot放到那台服务器运行吧。

运行这个程序没什么好说的,跟着开发者的readme即可。
下载编译好的二进制程序,并解压

1
2
3
4
5
cd
mkdir rssbot
cd rssbot
wget https://github.com/iovxw/rssbot/releases/download/v1.4.3/rssbot-v1.4.3-linux.zip
unzip rssbot-v1.4.3-linux.zip && rm rssbot-v1.4.3-linux.zip

如果提示没有找到unzip命令,请安装:

1
apt install unzip

启动

1
/root/rssbot/rssbot /root/rssbot/data.json <bot-token>

/root/rssbot/data.json 是存储数据的文件
<bot-token> 是bot与API使用的token,找@botfather创建一个新bot,他会给你bot的token

使用nohup后台运行程序

1
nohup /root/rssbot/rssbot /root/rssbot/data.json <bot-token> &

还可以使用supervisor监控bot程序的运行,自动重启。

这个bot还支持将订阅的推送发送到channle中,当然前提是你需要将bot添加到channel中,并给予发送消息的权限。
添加好后,给bot发送指令

1
使用方法: /sub [Channel ID] <RSS URL>

这里的[Channel ID]为可选参数,也不算是ID吧,就是频道的用户名,username准确点。不加channel名,就是单独订阅,rss有了更新,bot会给你发消息。

订阅例子:

1
/sub https://blog.cloudflare.com/rss/

频道实例

我建了频道,用来让bot推送日常关注的RSS更新: @rsssub 我是取名废(//‘ω’//),想不到什么名字了

目前订阅列表如下:

本博客其实也是有提供rss订阅的
(但是本人觉得写的很辣鸡了,就不加订阅了

其他大佬频道的订阅列表:

(完)