欢迎光临散文网 会员登陆 & 注册

一文搞定RSS!从搭建、使用到自建订阅源。

2023-10-02 01:02 作者:森岩_Moriecho  | 我要投稿

写在前面

        RSS的根本思想其实就是:把全部想看的信息聚合到一个平台上。

        本文适合人群:(满足以下其一)

  • 每天疲于辗转各个平台查看信息

  • 希望自动获取自己关注的新信息(博主/公众号/up主等)

  • 想要更快获取某项第一手消息(第一时间获取还请使用更专业的监控软件)

  • 有个人vps,乐于折腾一些奇奇怪怪的事情

        本文不适合人群:

  • 坚定的豹子头,绝对不花一分钱

        注意:只是本文不适合白嫖用户,毫无疑问,不付费也能把RSS用得很好。这里这样写原因很简单,市面上的rss平台,几乎都是付费,自建也需要有vps。此外,一些平台有严格的反爬措施,需要付费购买对应的服务。如果要长期使用下去,付费我认为是不可避免的,本文也不会教你如何去白嫖相关服务。

        本文仅提供一种可以实现功能的方案,说是一文搞定RSS,但是如果你的需求和本文相差很大,那么可能需要自行更改部分步骤。如有其他比较好的方案欢迎讨论。

        本文涉及大部分资源可从文末百度盘获取

        尊重版权,引用请表明出处,如本文存在侵权行为,请立即通知作者


搭建

        既然已经有了RSS需求,那么第一步必然是选择一个合适的RSS媒介。目前可选的媒介主要分为三种:商业网站、商业软件、自行搭建。

        如果只是想付费就获得一个比较好的使用体验,那么我认为前两种比较适合。但是如果有更强的个性化和自定义功能,那么自行搭建比较适合你。本文更倾向于使用软件来解决问题,因此并未过多涉及商业网站服务。并且一些知名的服务国内都已经无法访问,故此处不再赘述。

商业软件

        如果你使用RSS的平台限定在windows或macos,不追求跨平台功能,那么请直接使用irreader(有windows系统vps的也可以考虑):

        不是广告,此软件作者本人买了三年的会员,虽然现在已经弃用,但是不可否认,此软件基本是一站式解决了RSS的所有问题。其独有的自建RSS订阅源功能简单好用,软件本身的推送做得也到位。可能唯一的缺点就是跨平台:不仅没有安卓端,而且不同windows之间的同步也做得很烂。

        此外,因为irreader的推送做得很好,因此可以挂在windows系统的vps中,作为服务端,通过推送功能实现全平台同步。但是本文作者家境贫寒(vps要装windows基本要求2c4g),因此作罢。

自行搭建

        目前可选择的软件有很多,此处挑选了主流的三款软件:tinytinyrss、freshrss、miniflux。首先不推荐tinytinyrss,主要有两个原因,一个是它虽然名字叫tinytinyrss,但是一点都不tiny;其次它对订阅源的要求令人费解,经常一言不合就订阅失败。剩下的两个各有优缺点。

        miniflux的优点是不是用PHP写的、简洁、运行流畅、网页端体验就很好。但是有一个对很多人来说很致命的缺点,那就是不能手动给不同的订阅设置不同的更新时间。

        freshrss的优点自然就是相对的,功能比miniflux强,可以给不同的订阅设置不同的更新时间,并且支持Xpath1.0的方式给不直接支持RSS的网站手动编写订阅。缺点自然就是运行效率不高。

        在开始之前,请先准备好一台linux系统服务器。本文中,将以ubuntu系统演示搭建过程,为了简化操作,使用docker-compose方式。linux系统的远程链接、命令行控制、安装docker和docker-compose的具体教程网上资源很多,此处省略。

Miniflux搭建

        创建一个新文件夹并进入:

        在你的电脑上新建一个文本文档,编写docker-compose配置文件:(可在文末百度盘下载)

        将文件及后缀名改为:docker-compose.yml。使用宝塔面板等方式,找到之前新建的文件夹(路径可能为:/root/miniflux),将docker-compose配置文件(docker-compose.yml)复制进去。

        在之前新建并进入的文件夹里运行:

        看到网络创建、miniflux本体以及数据库创建,即为成功。

miniflux创建成功截图

        如果想要更改配置,则先cd进文件夹中:

        根据不同服务商的方式,放行对应端口。之后,进入http://你的ip:你的端口/,如果成功,就能成功显示miniflux界面。

Freshrss搭建

        开始的步骤类似,但在这里注意,根据freshrss官网的建议,我们分成三个,分别为:docker-compose.yml、docker-compose-db.yml、docker-compose-local.yml。(可在文末百度盘下载)

        docker-compose.yml:

        docker-compose-db.yml:


        docker-compose-local.yml:


        复制到对应路径后:

        根据不同服务商的方式,放行对应端口。之后,进入http://你的ip:你的端口/,如果成功,就能成功显示freshrss初次引导界面,跟随引导即可。

        此外,关于反代及域名访问还请自行探索。


使用

服务端设置

        安装好了服务端,第一件事当然是配置服务端。此处以miniflux做主要讲解。

        miniflux:进入设置,根据自身需求修改语言和时区。


本文作者使用的语言和时区

        没错,这就完了。miniflux的主要设置在docker配置文件中都进行了设置,此处无法修改(修改方法见前文),这点喜欢的人说他简洁,不喜欢的人说他简陋。本文作者认为这是可以接受的。

        常规的添加订阅源此处不细讲。

        freshrss的使用xpath自定义订阅源是特色功能,理论上所有网页都可以通过此方法创建订阅源,然而由于编写需要一定门槛,且后文有更好的解决方式,此处仅贴上其他大神的实践过程,如果你有兴趣,可以自行研究:

客户端

windows

        推荐使用Fluent Reader,原生支持minifluxapi(不要使用miniflux的fever api费二遍手续体验也不好),如果使用FreshRSS,可以使用GReader api。官网:(可在文末百度盘下载)


        以miniflux为例,操作也非常简单。

        进入你的miniflux网页端,点击设置-API密钥,即可看到

        此处有两种登录方式,用户名密码登录以及密钥登录,点击下面的创建一个新的密钥,即可获得如图所示密钥。

        下面红框中的API Endpoint后面是你的地址,localhost代表你的ip及端口号,所以需要将:http://你的ip:你的端口/v1/ 填写到fluent中。

        打开fluent,点击右上角齿轮进入设置-服务,选择miniflux。

        之后如图填写后点击确认即可。

安卓

        支持FreshRSS、ttrss等软件的安装端比较好找,miniflux就不好找了。上文提到的fluent reader也有安卓端,但是只支持fever api,fever api缺点众多,几乎是不能日常使用。正当我苦苦寻觅的时候,猛然间看到一个支持miniflux的阅读器,它的名字就叫“新闻”。在我一段时间的日常使用后,没有发现其明显缺点,功能虽然少,但是我想要的基本都有了。github地址:(可在文末百度盘下载)

        具体的配置方法按照软件引导即可,此处不再赘述。如果有其他支持miniflux api和GReader api的安卓应用,欢迎推荐。

macos\ios

        这两个系统本文作者使用较少,仅推荐:reeder 5。

RSS源获取——自建订阅源

        常规RSS订阅链接可以在支持RSS的网页中获得,以及使用一些RSS嗅探辅助。此处主要说明不提供RSS订阅链接网站的RSS链接创建。

主流网站创建RSS——RSSHub

        RSSHub是一个RSS生成器,它有一个服务端,有各路大神根据不同网站编写的不同订阅规则,在不同网站上根据这些规则,生成相应的订阅源。

        辅助RSSHub使用的是RSSHub Radar。它是一款浏览器插件,可应用于Chrome等谷歌内核浏览器以及火狐浏览器中,在对应的插件商店中可以找到。用户在使用时,如果在支持的网站上,打开此插件,即可获得该网站提供的RSS订阅源,或者RSSHub。同时,它可以和主流的RSS软件(miniflux、tinytinyrss、freshrss、feedly)等进行联动,一键订阅到软件中。

        如上所述,RSSHub需要一个服务端,自然,你可以使用官方服务端:https://rsshub.app。然而,在一些反爬严格的网站上,官方服务端常常失效,因此我们通常选择自建或使用其他大佬建好的服务端。在搜索引擎上搜索:Welcome to RSSHub!。就能获取一些暂时能用的RSSHub服务端。但是别人搭建的自然会有失效以及隐私问题,所以自建是一个好的选择。

        RSSHub的自建就方便得多:

        以下是部分参数解释:

        更多参数请查看官方文档:

        之后,进入http://你的ip:你的端口/,如果成功,则能看到如下画面:

RSSHub搭建成功

        将 http://你的ip:你的端口/ 填入RSSHub Radar中的“自定义RSSHub域名”中,即可使用。

        关于上面提到的通用参数,指的是只使用RSSHub就初步定制一些RSS源,具体还请移步探索:

自建RSS订阅源——feedless

        feedless是一个根据网页内容自动创建RSS订阅源并支持自定义修改的项目,它脱胎于rssproxy。他支持个人搭建的同时,也有一个官方服务。官方服务就已经满足我们的正常使用,网址:

        进入网址后登录,点击右上角的Creat即可创建新的订阅。

        在上方的空白栏填入你想要订阅的网站,此处我以https://webdevbev.co.uk/blog.html为例演示操作:

        点击下面的Feeds in HTML。

        可以看到左边的3个可选项,是它自动获取的可能的订阅内容。当我选择了某项时,左边对应的部分被蓝色框起来。图中我选择的是第一项,其正好框选的就是一篇篇文章(我想要的),之后点击右下角next。

        在这个页面,上面的Selectors中,可以微调部分元素的位置。左下角是过滤以及全文输出,按需填写,填好了继续next。

        在这一页中填写description,即可save。之后,你就能在Feeds页面找到这个订阅。

        点进去即可获得对应的RSS订阅链接

        如果有兴趣,也可以尝试个人搭建,官方指南:

        但是这里的指南貌似已经过期了,我在dokerhub上也已经找不到其中使用的镜像,希望有大神能出完美搭建的教程。因此个人搭建我更推荐它的前身rssproxy,github地址:

        在我看来,rssproxy在功能上已经足够使用。另外还有用huginn的方法,因为操作过于复杂,感兴趣的朋友还请自己尝试。

其他网站自建RSS——第三方服务

        虽然我们已经有了以上各种手段获得RSS订阅,但是仍然有部分网站是没办法订阅的,比如twitter、微信公众号等。实际这里也是有各种手段能折腾的,如果不愿或者没条件折腾,就需要付费购买第三方服务。微博大神(id:刚门里拉出个电锯)的文章(各类信息的RSS获取、处理方法)中已经收集了一些网站的RSS第三方服务提供商,由于地址在微博上,此处不好贴上。


        到此,你应该已经初步了解了RSS的使用方法,并能够创建个性化RSS源并聚合了,那么,享受阅读吧!

        如果文章中有纰漏,欢迎朋友们指正。如果有更好的解决方法,欢迎朋友们提出。如果遇到问题,也欢迎朋友们交流(虽然本文作者大概率无法解决)

本文所用全部资源:

参考资料:

  1. 2023 年,我为什么选择 Miniflux 作为 RSS 主力工具:https://v2ex.com/t/963837#reply7

  2. rss信息流打造过程 rsshub+miniflux+fluent reader lite 腾讯云服务器部署:https://zhuanlan.zhihu.com/p/541214571

  3. 【服务器能干什么】二十分钟搭建一个属于自己的RSS服务:https://blog.laoda.de/archives/tinytinyrss/

  4. FreshRSS官方docker指南:https://github.com/FreshRSS/FreshRSS/tree/edge/Docker

  5. RSSHub官方中文文档:https://docs.rsshub.app/zh/

  6. News – 支持 Miniflux 和 Nextcloud 的 RSS 阅读器[Android]:https://www.appinn.com/co-appreactor-news


一文搞定RSS!从搭建、使用到自建订阅源。的评论 (共 条)

分享到微博请遵守国家法律