用什么看新闻?Apple News、谷歌新闻、网易新闻还是今日头条?当用过它们中的每一个后我依然感受到了许多不满意:身为翻译我需要看双语内容、平台广告泛滥、信息过载,还有推荐算法容易让人陷入到过滤气泡 (Filter Bubble),让认知变得非常单向。在这样的背景之下,我开始研究RSS(简易信息聚合)平台,希望能像每日听广播那样获取没有经过算法推荐的信息。我的需求只有简单三个:

  1. 能够自己控制新闻来源(也就是说能自己订阅新闻源)
  2. 每日只进行1-2次推送,防止信息过载
  3. 不受阻碍地获取我想看的信息

在经过了解之后,我开始接触尝试FreshRSS。在它的官网中,开发人员将其称为A free, self-hostable aggregator,翻译过来就是:免费并可以自己部署的信息聚合器。官网说FreshRSS可以轻松拉取并储存超过10万篇文章、不需要第三方阅读器即可在手机阅读。最重要的是,它可以通过宝塔等服务器面板使用Docker容器安装。操作难度呈指数下降。于是我马上开始了动手操作。

安装配置FreshRSS

首先你要有一台运行在海外的服务器,我会推荐亚马逊AWS Lightsail或者谷歌GCP提供的三个月试用。进入服务器后安装宝塔面板,我试用的是宝塔的国际版aaPanel,你问我为什么?问就是简洁无广告。进入aaPanel之后按引导安装LAMP套件,并在App Store安装Docker Manager。

在域名提供商那里创建一条记录,比如我创建的就是rss.thinkducks.com,目标指向服务器的IP地址。用Cloudflare的小伙伴记得在Proxy Status选择DNS Only。

在Cloudflare添加DNS记录

点击左侧的Website,创建一个网站,域名就写刚才的rss.thinkducks.com,其他可以保持不变,下方SSL打上勾,方便aaPanel帮我们自动申请一个SSL证书。

刚才我们已经安装完成了Docker Manager,现在我们回到App Store打开它,在镜像管理 (Image Management)中点击Get Image,输入freshrss/freshrss:latest,系统会自动在Docker Hub中搜索到FreshRSS的包并拉去到你的服务器中。

在镜像管理中添加FreshRSS镜像

现在我们回到容器列表 (Container List),点击创建容器,在弹出的窗口中选择FreshRSS镜像,端口转发左侧填80,右侧可以指定任意一个端口(你可能需要在云服务防火墙设定中开放该端口,下方地址可以任意填写,点击提交显示成功后你的FreshRSS已经创建成功了!

在浏览器中输入你服务器的地址,并加入刚才指定的端口号。例如你的服务器是192.168.8.1,刚才右侧指定了端口8080,输入http://192.168.8.1:8080。如果显示FreshRSS的设置界面,即可按提示操作,设置管理员账号密码,然后就可以登陆进入FreshRSS。在aaPanel网站设置中配置反向代理即可使用域名来访问FreshRSS。

FreshRSS默认订阅了FreshRSS Release这个源,可以在订阅管理中取消

订阅新闻源

当技术问题解决的时候,我就开始思考我需要阅读什么样的信息源。这时,我们就可以使用FreshRSS的分类功能来创建几个新闻源类别。比如,我作为一个科技粉就会创建一个叫“科技”的分类,同时我作为翻译需要持续阅读新闻,于是我接下来创建了一个“新闻的分类”。我添加的分类有:新闻、科技、汇率、文化、设计、疫情、博客。这样就初步满足了我获取和阅读信息的方方面面。在大部分的新闻网站中,你都可以看到一个像倒过来的WiFi形状的订阅按钮,以科技网站The Verge为例,它的订阅链接就是https://www.theverge.com/rss/index.xml

订阅完成后,你就可以在首页看到像邮件似的文章推送,点开之后就可以阅读全文。这些文章都是服务器从各个来源拉取的,因此不会被追踪。

订阅奇形怪状的资源:RSSHub

说到这里,有些朋友可能会说,万一我这个网站不支持RSS订阅怎么办?在大部分情况下,许多大型网站都会提供RSS订阅,就算他们不提供RSS订阅,我们还有一个神器叫RSSHub。它的功能就是将许多不能订阅的网站进行订阅。

关于RSSHub,少数派已经写过很多文章来讲解它的用途,大家可以参考这个链接来看看具体是怎么用的,在此不再赘述。今天我只针对我自己的使用场景来推荐几个好用的路由:​

  1. Transwise昨日汇率变动:作为出国党,外币和人民币之间的汇率是我们必须要关心的话题。掌握汇率变化可以帮助我们科学理财,Transwise的RSS路由可以将每日指定汇率推送到服务器,让我在集中阅读新闻的时间就了解到最近汇率如何。路由书写方法如下:/transferwise/pair/:source/:target,假如你要查询1澳元等于多少人民币,就可以写/transferwise/pair/AUD/CNY。
  2. 特价机票追踪:澳洲政府宣布了国内航班的补贴计划。假如我想知道从墨尔本机场出发有哪些特价航班,我就可以使用Hopper路由来进行跟踪。路由如下:/hopper/目的地/始发地。每当有特价机票,FreshRSS就会创建一条消息来提醒我。
  3. 丁香医生新冠疫情通报:在全国新冠疫苗还没有普及的大背景下,每日获取新冠感染人数的信息是非常有必要的。/coronavirus/dxy路由可以每日获取全国新增感染病例推送。数据来自丁香医生和央视。

每日新冠疫情通报