RSS,RDF Site Summary,资源描述框架站点摘要,用以聚合经常发布更新数据的网站,例如博客文章、新闻、音频或视频的网摘。
2019年也接近尾声了,在这个时间点再提RSS是有点怪异的,因为实际上自从2013年Google关闭Google Reader之后我就没再使用过RSS了。自从智能手机普及,移动互联网的兴起,大量的App都集成了推送功能,每天微博、知乎、微博、微信公众号、抖音等等等,大量的App每天都会给你推送各种各样的信息,RSS这种订阅方式显然已经不再流行了。当然,我的Blog依旧提供了RSS订阅功能,不过由于博客过水估计也没什么人订阅。 尽管看起来RSS已经过时了,我却在今年捡起了RSS功能,并使用聊天软件Telegram来订阅RSS,这是为什么呢?
重拾RSS
不知道你是否注意到,上文中提到的各式各样的App已经占据了我们生活中的大量时间,每天的推送几乎每10分钟就有2,3条,如果你不幸把上述App全部安装的话,那可能你一拿起手机就一两个小时过去了。现在的这些社交媒体软件为了吸引人眼球,获得用户的在线时间已经不择手段了。就以我们常用的知乎为例吧,早在6,7年前,知乎刚刚兴起的时候,那时候还是一个小众社区,App和网站以简洁为美,用户关注用户并获得更新,打开Timeline全是你关注的人按时间排序,推送也只有关注的问题,回答问题的评论等等。但是现在呢,且不说Timeline功能已经变得面目全非,和一个类似朋友圈的功能进行整合,就说热点推送和各种邀请回答吧,你一天当中会接收到无穷无尽的信息,大量的标题党信息涌入你的眼前只为博君一笑。我大概尝试过,平均每10分钟一条推送,简直不胜其扰,更不要说各种基于大数据的推送和热点合辑,简直让人烦不胜烦。而且这类App还有个特点,这种热点看似可以关闭,然而却并不生效,你永远可以看到他想推送给你的信息,这就很烦了朋友们。 因此,我重新启用RSS的一个原因就是因为RSS可以只推送给我我想知道的更新,而不会占用我大量的注意力,我可以选择在我空闲的时候轻松的看完我的订阅。 另外一个原因就是,尽管互联网越来越集中化,逐渐形成相互独立的帝国对立态势,但是还是有很多小而美的博主坚持十几年如一日的写着自己的博客,RSS可以帮助我们订阅他们的更新,从而免去错过交流机会的烦恼。
RSS订阅器——Flowerss
一开始我是想用Feedly的,但是有朋友推荐使用Telegram的RSS订阅机器人来使用。毕竟,奥卡姆剃刀原理“如无必要,勿增实体”。(好啦开个玩笑) 其实主要原因还是因为懒得学习操作逻辑了,而且Telegram的确是一个非常不错的聊天软件,功能很齐全API也很开放,又不会多占用宝贵的手机空间,跨平台体验也相对不错。正好我在Github上找到了一款相当不错的RSS订阅机器人,Flowerss_bot。 FloweRSS 是一款 Go 语言编写的高性能低占用 Telegram RSS 订阅 Bot,支持为群组和频道添加订阅,还支持 应用内预览、订阅源导入导出 等功能,安装也十分简单。 关于机器人的搭建我们后面再说。
RSSHUB
光有阅读器是不够的,上文曾经提到的大量新时代的互联网资源都已经不再提供RSS订阅了,我们该怎么办呢,这时候就要用到RSSHUB了。 RSSHUB官网的介绍:
RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,可以给任何奇奇怪怪的内容生成 RSS 订阅源。RSSHub 借助于开源社区的力量快速发展中,目前已适配数百家网站的上千项内容。
在这里特别感谢 DIYgod,为我们提供了如此方便的工具。 通过使用Flowerss_bot机器人,配合RSSHUB,我们就可以实现在Telegram订阅RSS了。
搭建教程
首先,你当然可以选择分别搭建Flowerss_bot机器人和RSSHUB,并对外开放进行订阅访问。这里推荐使用Docker的方式进行搭建,安装与移除都十分方便。 Flowerss地址:https://github.com/indes/flowerss-bot/tree/master/bot RSSHUB地址:https://docs.rsshub.app/install/#docker-compose-bu-shu 但是我的服务器资源有限,RSSHUB的端口并不想对外开放。而且使用Docker-compose部署的话,如果container之间有相互依赖,那么可以先后启动,这样容器之间就可以直接通过 容器名:端口 进行访问,方便快捷得多。 比如假设我分别假设Rss机器人和RSSHUB(假设地址是rss.ekkles.com,RSSHUB部署在1200端口),那么当我想通过RSS机器人进行订阅的时候,订阅地址就是https://rss.ekkles.com:1200/123456 (符合RSSHUB订阅链接规则),但是如果通过Docker Compose将他们组合在一个yml文件里,那么订阅时我只需要使用http://rsshub:1200/123456 即可。 所以,那我们正式开始
1. 申请一个Telegram bot
打开你的Telegram,在上面的搜索框中输入Botfather,打开后点击start
启动Botfather,然后输入/newbot
,即可创建你自己的机器人。创建后按照Botfather的提示输入你想要的机器人用户名,需要注意的是你的命名必须以_bot结尾。
此时Botfather会说Congratulations并为你生成你的RSSbot的专属链接和Token。注意保管好你的Token,它非常重要。你可以通过/help
来查看相关的各种命令,包括修改机器人的名字和头像等等,在此不再赘述。
2. 安装Docker及相关服务
我们使用的是Docker CE。Docker官方提供了安装的一键脚本。
1 | curl -sSL https://get.docker.com/ sh |
跑一个hello world确认一下安装正确
1 | sudo docker run hello-world |
其他具体安装方法可见该指南。 安装Docker-Compose
1 | sudo pip install docker-compose |
3. 编辑yml文件
具体Docker-Compose的介绍和详细使用指南这里就不作记录了,可以参考这里 这里只需要在docker-compose.yml内将RSSHUB和Flowerss_bot合并记录一下就可以了。需要注意这个yml文件对空格格式严格敏感,注意完整。
1 | version: '3' |
将docker-compose.yml保存至你服务器内的任意有权限使用的目录内,如/home/rss/。 并在/flowerss子文件夹中保存一个config.yml文件,内容如下:
1 | bot_token: ##填写你的机器人Token,注意冒号后有空格 |
获取你的Telegraph Token(用于预览你的RSS订阅)
1 | curl https://api.telegra.ph/createAccount?short_name=flowerss&author_name=flowerss&author_url=https://github.com/indes/flowerss-bot |
返回的 JSON 中 access_token
字段值即为 Telegraph
Token。
4. 安装
使用SSH连接服务器,进入刚刚放置配置文件的目录,如/home/rss/。
1 | cd /home/rss |
输入命令进行安装:
1 | docker-compose up -d |
即可完成部署。输入docker ps -a
即可查看已运行的容器。
如果需要关闭并删除,只需要
1 | docker-compose down |
即可。
5. 完成部署
此时即可打开Telegram并访问你刚刚创建的机器人,并使用相关的命令进行订阅了。 Flowerss使用命令如下:(也可输入/help进行查看)
1 | /sub [url] 订阅(url 为可选) |
如果遇到没有提供RSS链接的网站,即可使用我们部署好的RSSHUB进行操作,具体使用方法见https://docs.rsshub.app/
下侧的路由指南。需要注意的是我们不需要为其绑定域名,只需要输入http://rsshub:1200/123456
这样格式即可,这里rsshub
即咱们刚刚安装时RSSHUB的container名,1200为RSSHUB默认端口。
如我们要订阅微博,官方给出的示例格式为: https://rsshub.app/weibo/user/1195230310
在我们这里只需要写订阅链接为https://rsshub:1200/weibo/user/1195230310
即可,这样就避免了绑定域名的烦恼。
小结
我已经使用这样的组合大概一个多月了,目前感觉良好,将微博知乎等App的推送功能关掉后世界清净多了,而且还关注了很多不错的博主。欢迎大家都来尝试使用RSS订阅来获取信息流更新,避免大数据将你困在信息舒适区。
参考资料
Docker从入门到实践:https://yeasy.gitbooks.io/docker_practice/ RSSHUB官网:https://docs.rsshub.app/ Flowerss_bot:https://github.com/indes/flowerss-bot Telegram——bot: https://core.telegram.org/bots