我的 RSS 自建实验:逃离推荐算法与低质广告的跨平台信息聚合

205 阅读4分钟

最近我发现了 RSS 这个解决方案,可以让我 DIY 跨平台信息聚合,同时逃离推荐算法和低质广告。于是我开始了自己的实验。

先尝试了 Folo,使用体验不错,UI 界面友好,可以直接在平台内搜索链接转换成 RSS 源。我如获至宝地准备把自己的油管、B 站、推特、博客订阅都转进 Folo。

folo.png

结果还没添加完,就提示我已达订阅源上限,我一看才发现,Folo 现在 30 个订阅源以上就要付费使用,而且还是订阅制付费。关键是我看到订阅源 Fetch 不稳定,我更愿意为可用的解决方案付费,而不是订阅源不稳定的一个 APP 付费。

没有拉踩 Folo 的意思,对于轻度 RSS 使用者,Folo 还是很好的选择,用户体验很好

只是没有满足我的使用需求,于是我开始折腾,经过在网上扒帖子和 ChatGPT 来回捣鼓,实现了一种低门槛 RSS 自建流程:

我的 RSS 自建流程

我最终选择的组合是:FreshRSS + RSSHub + Cloud Run + Cloud Storage,并在浏览器上配合 RSSHub Reader 插件 使用,实现快速获取 RSS Feed,并且全部操作都在免费额度之内。 部署好后访问实例链接就可以看到订阅列表,手机端电脑端可以同步

最后效果是这样的:

freshRss screenshot.png

以下是我详细的流程:

FreshRSS:轻量级自建 RSS 阅读器

FreshRSS 是一个轻量级、界面简洁的 RSS 阅读器,支持多用户、多标签和订阅管理。

  • 官方网站

  • GitHub 仓库

  • 我选择了 Docker 部署方式,在 GCP 上只需几步即可运行:

    1. 准备一个 Cloud Run 服务
    2. 填入官方 Docker 镜像:docker.io/freshrss/freshrss:latest
    3. 绑定端口 80(注意不是默认的 8080),并挂载 Cloud Storage 或 Cloud SQL(可选)做持久化存储
    4. 部署服务后访问 URL,即可完成初始化

image.png

  • 功能亮点:
    • 自定义标签管理订阅
    • 支持文章搜索
    • 多设备同步(网页 + 移动端 App)
    • 可配置更新频率和通知推送

RSSHub:把不提供 RSS 的网站“RSS 化”

RSSHub 是一个开源的 RSS 构建工具,能将几乎所有网站生成标准 RSS Feed。尤其适合 B 站、YouTube、推特等不太 RSS 友好的平台。

  • 官方文档
  • GitHub 仓库
  • 我直接把 RSSHub Docker 镜像部署在 Cloud Run 上:
    1. 新建 Cloud Run 服务
    2. 填入镜像 docker.io/diygod/rsshub:chromium-bundled(带 Puppeteer 支持)
    3. 设置环境变量:
      • ENABLE_PUPPETEER=true(模拟浏览器访问)
    4. 配置端口(建议使用 1200 或镜像默认端口)
    5. 部署即刻生成 RSSHub 服务 URL
  • 官方路由列表 可以直接找到大部分网站的 Feed 路

Cloud Run + Cloud Storage:保证稳定性和可扩展性

  • Cloud Run:自动扩缩容,无需维护服务器,直接托管 RSSHub 或 FreshRSS Docker 镜像
  • Cloud Storage:缓存 RSS 数据,减少对原网站的请求频率,提高稳定性
  • 全部在 GCP 免费额度内完成部署,基本零运维成本

先在 Cloud Storage 页面创建 Bucket image.png

再挂载到刚才创建的容器 Cloud Storage-volume.png

浏览器端:RSSHub Reader 插件

  • 在 Chrome 或 Firefox 安装 RSSHub Reader 插件 Edge
  • 快速添加 RSS 链接,直接在浏览器中查看订阅内容
  • 支持标签、搜索和收藏,使用体验接近 Folo

遇到的问题与经验

  • B 站、推特的订阅源失效较多
  • 使用账号 Cookie 作为环境变量,一天不到就可能被 B 站限流
  • Puppeteer 模式容易因为 Cloud Run 内存或启动延迟问题失败

收获

  • RSS 源的可靠性远比 RSS 阅读器重要
  • 内容网站是否 RSS 友好,决定了自建 RSS 的可行性

特别提示

合理推测是这次 RSS 源失效是因为 B 站风控,我订阅的大多 uid 还是不能正常返回,我用自己 B 站账号设置 cookie 环境变量,不到一天已经被 B 站限流了,我的 rsshub 部署在 GCP 上,只是用于自己测试,访问量极小。真得没想到这次风控这么严格。

大家谨慎尝试,不要像我一样用大号测试!!!本文也删掉了 B 站账户的 Cookie 设置方法


虽然实验没有完全成功,但我仍然非常感激互联网上分享过 RSS 折腾经验的前辈。

即使现在 RSS 方法逐渐没落,我相信终有一天内容获取的自主权会回到广大网民手中。

我也会继续尝试自建 RSS,并不断优化流程。

特别感谢 RSSHub 开源贡献者,文档清晰友好,帮助我完成了部署和初步测试。