迄今感觉最好用的RSS阅读器——FreshRSS安装使用教程+RSS 订阅源

文章首发于公众号【小白书签】:https://mp.weixin.qq.com/s/wlLLgYhPPR_vGbWZPtmKDQ

拒绝算法推荐,高效获取信息

之前介绍过一款 RSS 工具 irreader,但它只适用于 Windows 系统,多终端使用和同步不够方便。而且 irreader 只能搜索文章标题,而不能检索文章内容,即不支持全文搜索。

此次给大家推荐一款网页版 RSS 工具——FreshRSS,无设备限制。它支持多种订阅方式,可以通过 XPath 抓取网页内容,订阅不提供 RSS 的网站,像 irreader 软件那样“订阅一切”。XPath 不仅可以用来订阅网站,还可以用来监控某个网页的变化,比如软件的更新记录发布页面!

安装教程

其实,小白之前分享过 FreshRSS 的搭建教程,当时介绍的是在 Windows 电脑本地的搭建方法。使用服务器搭建原理与之类似,在手动安装(也可以使用 Docker 等自动安装)之前,需要先搭建运行环境。如果有使用宝塔之类的管理面板,运行环境很容易安装。

注意事项:

1.安装 LNMP 套件时,先不要安装 PHP,其他通过默认“极速安装”即可。PHP 应选择单独“编译安装”。PHP 若使用极速安装,其中的 OpenSSL 版本过低,订阅部分网站时可能出现 SSL 报错:

cURL error 60: SSL certificate problem: certificate has expired [https://订阅域名/feed]

通过编译安装会集成高版本比较新的 OpenSSL,可避免出现此类问题。

2.FreshRSS 需要 Fileinfo 扩展,安装非常简单,在宝塔 PHP 管理(软件商店的已安装应用中找到 PHP 设置)- 安装扩展 - 找到“fileinfo”安装即可,安装后记得重启一下 PHP。

FreshRSS1.webp

有了运行环境,添加(新建)一个网站,配置域名和 SSL 证书,记录好数据库账号和密码,然后把 FreshRSS 程序文件上传到网站目录。访问已配置的域名地址,根据提示进行设置即可完成安装。

  • 主机:localhost
  • 表前缀:默认即可

总体来讲,没什么难度。有其他一些常见的问题,可参考下方说明解决。

openlog 报错

FreshRSS 若出现类似下述错误警告,在宝塔 PHP 管理中 - 禁用函数 - 搜索删除 openlog 即可解决。

Warning: openlog() has been disabled for security reasons in /www/wwwroot/rss/FreshRSS-master/lib/lib_rss.php on line 15

也可能出现导入订阅源后,全都不更新的问题,可尝试在“禁用函数”中删除 syslog。

nginx 报错

nginx: [emerg] open() "/www/server/nginx/conf/enable-php.conf" failed (2: No such file or directory) in /www/server/nginx/conf/nginx.conf:76 nginx: configuration file /www/server/nginx/conf/nginx.conf test failed

若出现上述警告,可尝试更换 nginx 到最新版本。

更新订阅源

FreshRSS 安装完成后,根据需要添加订阅源,此时我们会发现订阅源并不能自动刷新。那么,如何获取文章更新呢?更新订阅源方案有手动和自动两种:

手动更新

手动获取最新文章很简单,直接点击下图所示的刷新按钮,就可以更新订阅源了。

FreshRSS2.webp

自动更新

下面我们重点说说自动更新订阅源的方法,自动更新又可分为安装使用“FreshRSS 扩展”和宝塔添加“计划任务”两种。

FreshRSS 扩展

下载 Auto Refresh 扩展,将解压后的 xExtension-AutoRefresh 文件夹放到 /www/wwwroot/您的域名/extensions 目录下,然后在 FreshRSS 配置中启用该扩展,修改下刷新间隔时间就行了。

添加计划任务

通过宝塔添加计划任务,同样也有两种方法:

1.在“任务类型”中选择“访问 URL”,URL 地址填上您 FreshRSS 的手动刷新地址:https://您的域名/p/i/?c=feed&a=actualize

然后根据需要设置“执行周期”。不建议执行周期设置的间隔时间太短,不然会频繁刷新访问订阅源所在网站,有可能会被某些网站封锁 IP 地址。

2.另一种为官方说明文档中推荐的订阅源刷新方案,同样是通过计划任务添加。不过,在“任务类型”中要选择“Shell 脚本“,脚本内容为:php /www/wwwroot/您的 FreshRSS 目录文件夹/app/actualize_script.php > /tmp/FreshRSS.log 2>&1

PS,actualize_script.php 其实是 FreshRSS 安装程序中的一个文件,在宝塔”文件“中可直接查找复制此文件的路径。

FreshRSS3.webp

XPath 订阅

上边提到过,使用 XPath 抓取网页,可用来订阅本身不提供 RSS 服务的网站,还可以用来订阅某个网页的内容更新。

由于不同网站的 XPath 规则一般也有所差异,小白就不以具体网站来举例了。下面主要是提供一些个人使用过程中总结的经验和技巧,希望对您有所帮助。

以 HTML+XPath(XML+XPath 与之类似)Web 抓取为例,FreshRSS 本身提供了一些 XPath 规则示例供我们参考。

FreshRSS4.webp

通常以下四项的 XPath 规则填写正确,即可成功订阅网页:

  • 订阅源标题:通常保持默认的//title即可
  • XPath 定位文章:很重要,必填项
  • 文章标题:XPath 规则中若有二级标题标签,则可试试descendant::h2
  • 文章链接 (URL):一般使用示例中的descendant::a/@href就行

那么,我们应如何自行查找网页的 XPath 呢?

1.通过浏览器开发者工具获取 XPath;

比如我们需要查找文章标题的 XPath,就可以在文章标题上右键 - 检查,在开发工具对应的”元素“上右键 - 复制,就可以复制 XPath 的值了。

FreshRSS5.webp

2.使用“XPath Helper”浏览器扩展获取 XPath;

XPath Helper 可以轻松提取、编辑 XPath。安装此扩展程序后,必须重新加载现有选项卡(刷新网页)或重启浏览器方可使其正常工作。

通过按 Ctrl+Shift+X(macOS 上为 Command+Shift+X)或点击工具栏中的 XPath Helper 按钮,打开 XPath Helper 控制台,然后将鼠标悬停在页面需要定位的元素上并按下 Shift 键。

如果需要订阅获取文章全文内容,除了通过 XPath 规则外,小白更习惯使用 CSS 选择器来获取全文。

FreshRSS6.webp

获取 CSS 选择器规则跟使用浏览器开发者工具获取 XPath方法类似,只是复制时改为”复制 selector“。还有一个偷懒的办法,就是直接填写p或者body,只是可能全文显示时会出现一些多余内容。

PS,如果设置好规则后,订阅列表无变化,可以在订阅源管理的”归档“中”删除所有文章“,然后手动”🔃 更新订阅源“,或者在”维护“中”重载文章“。

过滤订阅源

过滤订阅源在其他 RSS 阅读器(比如 inoreader)中是付费功能,由于 FreshRSS 是开源免费的,该功能自然也可以免费使用。

小白主要使用过滤规则来”将文章标记为已读“,因为有些订阅源有大量无用信息(比如广告内容),将其标为已读后可只筛选查看其他感兴趣的部分。

在订阅源管理”过滤动作“中,在”何时将文章标记为已读“处填写过滤规则,过滤规则可以参考官方文档。如果嫌麻烦,最简单的可以直接填写关键词,一行一个,当订阅文章包含这些关键词时,会自动标记为已读。

配置客户端

FreshRSS 在电脑等大屏幕上,一般直接使用网页版就行了。如果是在手机等小屏幕上,网页端使用体验就不如 RSS 阅读器 APP 了。支持 FreshRSS 的 APP 有很多,比如 FeedMe、Read You、Fluent Reader 等。那么,如何在 RSS 阅读器上登录 FreshRSS 呢?

1.通过 FreshRSS 设置 - 认证 - 开启”允许 API 访问 (用于手机应用)“

FreshRSS7.webp

2.通过 FreshRSS 设置 - ”账户“管理 - API 管理 - 设置”API 密码“。在”API 密码“框下方会出现提示链接,其格式为https://您的域名/p/api/,打开此链接可看到两个 API 地址:

https://您的域名/p/api/greader.php

https://您的域名/p/api/fever.php

3.在 RSS 阅读器上,通过 Google Reader 或 Fever 的”API 地址“+”API 密码“登录即可

最后,若需要对 FreshRSS 进行备份,在没有对其程序文件做过修改(增减或编辑)的情况下,通常只需要备份数据库就行了,没必要备份网站程序文件。备份数据库同样可以使用宝塔的计划任务,以实现自动执行。

RSS 订阅源

ALL-about-RSS:https://github.com/AboutRSS/ALL-about-RSS

常用 RSS 源列表:https://plink.anyfeeder.com/

中文/英文/日文订阅源:https://issei.notion.site/RSS-Source

中文独立博客列表:https://github.com/timqian/chinese-independent-blogs

BlogFinder - 发现优秀的个人博客:https://bf.zzxworld.com/feed.xml

十年之约(1):https://rsshub.app/foreverblog/feeds

十年之约(2):https://tool.bcrjl.com/snzy-rss/

博友圈:https://www.boyouquan.com/feed.xml

积薪:https://firewood.news/rss.xml

MoreRSS - 发现和翻译 RSS feeds:https://morerss.com/zh.php

播客 Feed 订阅:https://getpodcast.xyz/

0

评论0

没有账号?注册  忘记密码?

社交账号快速登录

微信扫一扫关注
如已关注,请回复“登录”二字获取验证码