内容提要
本文介绍了使用RSSHub+FluentReader+FreshRSS的最佳实践,包括订阅RSS源、部署和配置RSSHub和FreshRSS,以及使用Fluent Reader阅读RSS的方法。还提到了解决图片代理和Cookie问题的方法,以及RSS推送和下载的问题。
延伸解读
自建 RSSHub 的必要性与部署选择
文章指出 RSSHub 官方域名仅作演示,可用性不高,易因反爬虫失效,因此推荐自建。自建能增强可用性并支持自定义。部署方式上,作者最推荐 Docker Compose,并给出了包含 Redis 缓存的配置示例;也提到可通过 npm 包在云函数中使用,但认为这种方式较冷门且更新不便。
图片代理与 Cookie 问题的解决思路
使用 RSS 阅读器时可能遇到图片因跨域无法加载,文章建议在 RSSHub 中配置图片代理,例如通过 HOTLINK_TEMPLATE 和 HOTLINK_INCLUDE_PATHS 规避微博图片限制。对于需要 Cookie 的路由,Cookie 可能自动刷新失效,作者提供两种方法:无痕模式登录获取,或使用 CookieCloud 同步,并提醒 RSSHub 仅在启动时读取环境变量,需定期重启以同步 Cookie。
阅读器与同步服务的选择与配置
文章推荐桌面端使用 Fluent Reader,手机端使用 Fluent Reader Lite。由于手机端没有手动添加订阅源的地方,需要 FreshRSS 作为 RSS 订阅服务。FreshRSS 推荐通过 Docker Compose 部署,并启用 API 访问。配置 Fluent Reader 时,作者实测 Fever compatible API 无法正常使用,因此选择 Google Reader compatible API,并提醒密码是 API 密码而非账号密码。
RSS 推送的现状与工具局限
文章提到 RSS 推送功能尚属缺失,即把更新推送到微信、钉钉、邮件等渠道。现有工具 rsspush 与 Server 酱强绑定,且未与 FreshRSS 等订阅服务联动,虽能用但未达到作者理想程度。有推送需求的用户可尝试 rsspush,但需注意其局限性。
Q&A
RSS 是什么?它和微信公众号、微博这类信息渠道有什么不同?
RSS 全称 Really Simple Syndication,即简易信息聚合,是一种 XML 格式的内容传播格式。与微信公众号、微博等被动推送不同,RSS 允许用户主动获取想要的信息,并排除不想要的信息,让信息接收完全由自己掌控。
如何判断自己是否需要使用 RSS?
可以通过一个简单测试:如果你能正常访问 RSSHub 官网(https://docs.rsshub.app/),那么你可能需要 RSS;如果无法访问,那么多半不需要;如果搞不清楚,则必然不需要。
RSSHub 是什么?它如何帮助订阅那些不提供 RSS 的网站?
RSSHub 是一个开源、简单易用、易于扩展的 RSS 生成器,可以为任何奇奇怪怪的内容生成 RSS 订阅源。对于大部分不提供 RSS 服务的网站(尤其是国内网站),可以通过 RSSHub 生成订阅源。例如,订阅 B 站 UP 主动态,路由为 /bilibili/user/dynamic/:uid,替换 uid 后加上域名即可得到订阅源。
为什么推荐通过 Docker Compose 部署 RSSHub?如何部署?
因为官方提供的域名仅供 demo,可用性不高,容易因反爬虫等原因失效,自建可以增强可用性并增加自定义部分。部署步骤:确保服务器安装 Docker 和 Docker Compose,创建 docker-compose.yml 文件(内容参考文中示例),然后运行 docker-compose up -d 启动,访问 http://[服务器IP]:1200 验证。
使用 RSSHub 时遇到图片无法加载(如微博图片跨域)怎么办?
需要添加图片代理。可以在 docker-compose.yml 中配置 HOTLINK_TEMPLATE 和 HOTLINK_INCLUDE_PATHS,例如使用百度图片代理:HOTLINK_TEMPLATE: 'https://image.baidu.com/search/down?url=$${href_ue}',HOTLINK_INCLUDE_PATHS: /weibo。这样图片地址会变为代理地址,从而规避跨域限制。
RSSHub 中需要 Cookie 的路由遇到 Cookie 失效问题,有哪些解决方法?
有两种方法:一是在浏览器无痕模式下登录后获取 Cookie,因为只有用户访问才会触发 Cookie 刷新;二是使用 CookieCloud 同步 Cookie,通过其接口获取 Cookie 并生成 .env 文件供 Docker 读取。注意 RSSHub 只在启动时读取环境变量,因此需要定期重启以同步 Cookie。
推荐使用什么 RSS 阅读器?桌面端和手机端分别如何配置?
推荐桌面端使用 Fluent Reader,手机端使用 Fluent Reader Lite。桌面端:下载安装后,手动添加 RSS 订阅源即可。手机端:由于没有手动添加订阅源的地方,需要配合 FreshRSS 服务,通过 Google Reader compatible API 配置,端点设置为 FreshRSS 的 API 地址,用户名和 API 密码填写正确即可同步订阅源和分组。
FreshRSS 的作用是什么?如何通过 Docker Compose 部署?
FreshRSS 负责管理和订阅 RSS 源,为手机端阅读器提供同步服务。部署步骤:创建 docker-compose.yml 文件(内容参考文中示例),运行 docker-compose up -d 启动,通过 8080 端口访问,按向导选择语言、检查环境、配置数据库(默认 SQLite)、设置管理员账号即可。之后需启用 API 访问并设置 API 密码。
如何发现一个网站是否提供 RSS 订阅?
可以使用 RSSHub Radar。在设置中配置自定义 RSSHub 域名和一键订阅,即可方便地发现网站是否提供 RSS 订阅,并快速订阅。
RSS 推送目前有什么解决方案?存在哪些不足?
目前 RSS 推送功能尚缺乏,现有工具如 rsspush 与 Server 酱强绑定,且没有和 FreshRSS 等 RSS 订阅服务联动,未能达到理想程度。如果对 RSS 推送有需求,可以尝试 rsspush。