写到世界充满爱:专访 RSSHub 作者 DIYgod

2020-01-15
6分钟阅读时长

拥有一个很萌的头像的 DIYgod 是一个当前任职于 B 站的年轻开发者,他是在 GitHub 拥有一万星标(本文发表时)的 RSSHub 的创始人,也是 APlayer(4.4k 星标)、DPlayer (8k 星标)等开源项目的创始人。在我所认识的开源开发者当中,DIYgod 是一个很优秀的开源社区贡献者,所以今天我们邀请到了 DIYgod 来参加我们的穿山甲专访。

DIYgod 很有 B 站风格的头像


问:您可以先自我介绍一下么?

DIYgod:Hi,大家好,我是 DIYgod,一名爱好开源的 JavaScript 开发者 —— 写代码是热爱,写到世界充满爱。我的梦想是成为一名可以养活自己的自由职业者

问:目前你已经是自由职业状态,还是说仍然在企业工作呢?

DIYgod:现在在哔哩哔哩(B 站)做前端。

问:能否向读者介绍一下你的开源项目 RSSHub 呢?

DIYgod:RSSHub 是一个用来生成 RSS 订阅源的工具,它可以给任何奇奇怪怪的内容生成 RSS 订阅源,实现万物皆可 RSS。RSSHub 正在借助于开源社区的力量快速发展中,目前已适配了数百家网站的上千项内容。使用时只需要简单的编辑下地址即可获得需要的订阅源。

问:对于目前的很多人来说,RSS 已经鲜为人知,现在很多新生代的互联网用户已经不再使用 RSS,他们可能更习惯于使用信息流应用。你当初因为什么原因选择做了 RSSHub ,是有什么契机么?

DIYgod:我本身是一个 RSS 重度用户,之前关注了几个有意思的微博博主,但经常打开微博去刷更新太麻烦了,就写了个简单的 Node.JS 脚本生成 RSS 加到自己的订阅里,后来又写了哔哩哔哩的 RSS、网易云音乐的 RSS,越来越多,最后就干脆把它们合成了一个项目,取名 RSSHub。

问:说起来,你其实是将微博的信息流推送的形式,借助于自己的编程能力,转化为 RSS 的被动拉取的形态。那对于 RSS 和 现在的信息流应用,你有什么看法么?

DIYgod:信息流应用基本都有自己的一套推荐算法,受益于此,可以获得更轻松愉快的阅读体验;但另一方面来看,用户丧失了内容选择的主动权,看到的不一定是自己真正想看的,稍不注意也会消耗自己大量的时间,阅读效率更低。RSS 可以选择自己真正想看的内容,阅读效率更高,但这也导致使用门槛比信息流应用高了很多。信息流应用的另一个问题是它无法集中地收取信息,时不时地打开微博、Twitter、YouTube、哔哩哔哩,去翻看我关注的人有没有更新,实在是一件痛苦的事。最后是 RSS 可以做到没有遗漏地收取信息,而信息流应用很容易遗漏。

问:可以看出来,你是一个重度的 RSS 用户,不仅仅是用户,更是为 RSS 生态添砖加瓦。你自己平时都是怎么样应用 RSS 的呢?

DIYgod:大家都知道 RSS 是一种用来做消息聚合的格式规范,有着更高的阅读效率、更好的阅读体验、可以掌握主动权等等优点,但它的用途一直被大家低估,除了最常用的在 RSS 阅读器里使用,还可以通过 BT 客户端实现自动的 BT 下载用来追美剧或动漫、通过播客客户端订阅和收听播客、通过 IFTTT 与各种各样的东西联动等等。

我平时除了常规的使用 RSS 阅读器订阅,还会在群晖的 BT 客户端里订阅美剧的 RSS,这样美剧更新后 BT 客户端就会自动把最新一集下载到硬盘里,晚上下班回家打开电视就可以直接看了。

此外是自动下载我的 B 站投币视频,整个流程是“投币操作 -> RSS 更新 -> IFTTT 触发 Webhook -> 服务器下载”,实现方法在我的博客里有介绍:https://diygod.me/download-webhook

然后还有我的 Telegram 频道: https://t.me/awesomeDIYgod ,它通过 IFTTT 监听了很多 RSS 更新,有 DIYgod 的博客更新、DIYgod 的 PSN 奖杯、DIYgod 的 Twitter 更新、DIYgod 喜欢的网易云音乐、DIYgod 的 bilibili 投币视频等等,几乎包括了我的全部动态。

问:说起来集中在一个地方收取信息,你怎么看曾经的“即刻”应用,即刻应用也可以关注特定的人、微博之类的,在一个地方查看所有的信息。

DIYgod:我非常喜欢“即刻”,在“即刻”倒闭之前也一直在使用它,早期很像一个 RSS 阅读器,甚至真的可以订阅 RSS,但后来这些功能越来越淡化直至去掉了,取而代之的都是 UGC 内容了。

问: RSSHub 里有非常多的“路由”,包括社交媒体、新媒体、论坛等。除了我们一般意义上的信息流转化 RSS 以外,RSSHub 还有非常多有意思的 Feed,比如高校教务处通知的 RSS Feed,就你自己而言,你最喜欢 RSSHub 中的哪一个条目?

DIYgod:那当然是 “RSSHub 有新路由啦”。

问:那么,除了 RSSHub,你还会使用哪些 RSS 生态中的工具呢?

DIYgod:除了 RSS 阅读器和支持 RSS 的 BT 客户端,还有 IFTTT 和 Tiny Tiny RSS 及其插件。

问:RSSHub 是一个基于 MIT 许可证开源的项目,你自己当初是怎么走上开源的“不归路”的呢?

DIYgod:刚学前端的时候,为了练手写了几个很简单的小项目,然后把它们传到了 GitHub 上想着找工作时候可以用到,没想到真的有人会去用自己写的东西,收获了第一个 提案 issue ,第一个星标,第一个拉取请求,就这样发现了其中的乐趣,打开了新世界的大门。

问:RSSHub 是中国的个人开发者开源的项目中首屈一指的项目,获得了非常多的星标 ,也有很多贡献者,对于开源,你有什么想要告诉大家的么?或者说,在你看来,想要做好开源,最重要的是什么?

DIYgod:希望大家没尝试过的都尝试一下,收获第一个星标,第一个拉取请求的快乐无法描述,不仅可以帮到别人,也可以快速地提升自己;最重要的是兴趣,开源项目需要投入大量的业余时间去更新维护,用爱发电,然后是持之以恒,挖一个坑很容易,但后续的更新维护也很重要。

问:RSSHub 项目的社区化非常的高,有 300 多位贡献者,很多社区开源项目都难以获得这么多的社区贡献者,你是如何让这些来自全国的开发者相互协同的呢?

DIYgod:我觉得这更多的是跟项目性质有关系,RSSHub 是一个需要大量人力来适配各种网站的规则的项目,可以参与的地方很多,参与门槛不高,又能获得非常积极的反馈。

  1. 可以参与的地方很多:每个 RSS 路由都对应一个脚本,可以让很多人参与进来。
  2. 参与门槛不高:脚本的编写难度不高,RSSHub 还有非常详细的开发文档,进一步降低了开发门槛,然后采用了统一代码规范,严格的自动化测试来避免出现问题。
  3. 积极的反馈:可以很方便地自己动手制作自己想要的 RSS 源并分享给很多人用,同时在文档对应的 RSS 源也标记了路由作者的名字。

问:现在有一个机会,你可以推荐一个东西给大家,你会推荐什么?可以是软件、可以是网络服务、可以是硬件,Everything is Ok.

DIYgod:PS4 和 Switch — “No Game No Life”;跟 RSS 相关的再推荐一下“快知 APP”。

问:大家在哪里可以找到你呢?

DIYgod:

  • GitHub:@DIYgod;
  • Twitter:@DIYgod;
  • 博客:diygod.me;
  • Telegram频道:@awesomeDIYgod

关于穿山甲专访

“穿山甲专访”栏目是 Linux 中国社区推出的面向开源界、互联网技术圈的重要领军人物的系列采访,将为大家介绍中国开源领域中一些积极推动开源,谙熟开源思想的技术人,并辨析其思考、挖掘其动因,揭示其背后所发生的事情,为关注开源、有志于开源的企业和技术人标出一条路径。

取名为“穿山甲”寓意有二:取穿山甲挖掘、深入之意来象征技术进步和表征技术领袖的作用;穿山甲是珍稀保护动物,宣传公益。

如果你希望加入到穿山甲计划专访中,请访问 https://jinshuju.net/f/9X8gvG ,填写报名表。