RSS 订阅方案:FreshRSS 做中心,RSSHub 补平台,微信先不接

17次阅读
没有评论

这次想整理一个 RSS 订阅方案,核心需求很简单:人在公司时连不上家里的 NAS,但还想稳定看订阅内容;平时可以用 Mac 客户端,也可以用网页打开;最好是开源、成熟、用的人多,后续放到自己的服务器上也方便迁移。

最后我觉得最清晰的方案不是把所有平台都硬塞进一个工具里,而是分层:

  • FreshRSS 做主阅读器。
  • RSSHub 做订阅源转换。
  • YouTube 优先用原生 RSS。
  • B站这类平台用 RSSHub。
  • Mac 上用 NetNewsWire,同步 FreshRSS。
  • 微信公众号先不接,避免维护和登录态问题。

这样结构简单,后续不管放在美国服务器、1Panel,还是以后再搬回 NAS,都不会被某个单点工具绑死。

为什么不把微信放进来

微信公众号本身没有官方 RSS。以前有一些第三方方案可以通过微信登录态、微信读书账号或其他方式把公众号内容转出来,但这类方案经常有几个问题:

  1. 需要登录态,维护成本高。
  2. 容易受风控影响。
  3. 项目可能长期不更新。
  4. 一旦微信侧规则变化,订阅就容易断。

如果只是为了建立一个稳定的个人订阅系统,微信这块先不接反而更稳。真正需要看公众号时,可以继续用微信或其他阅读工具,不要让整个 RSS 系统被它拖住。

这个取舍很重要。RSS 系统的第一目标不是“什么都接”,而是“能长期稳定用”。

FreshRSS 做中心

FreshRSS 适合做这个系统的中心。

它的定位很明确:自托管 RSS 阅读器。所有订阅源最终都加到 FreshRSS 里,由它负责刷新、分类、已读状态和网页阅读。

对个人使用来说,FreshRSS 的好处是:

  1. 有网页端,任何电脑打开浏览器就能看。
  2. 可以自托管,数据在自己手里。
  3. 支持第三方客户端同步。
  4. 迁移成本低,本质还是 RSS/Atom 订阅源。
  5. 1Panel 这类面板通常可以很轻松部署。

所以 FreshRSS 不需要承担“抓所有平台”的职责,它只要做好阅读器和订阅中心就够了。

RSSHub 做转换器

RSSHub 更适合当“转换器”,不是阅读器。

很多网站没有标准 RSS,或者 RSS 入口藏得比较深。这时就可以让 RSSHub 把公开页面转换成 RSS。

比如 B站 UP 主公开投稿,可以用 RSSHub 的 B站用户投稿路由,大概是这个形式:

/bilibili/user/video/UP主UID

如果 RSSHub 和 FreshRSS 放在同一台服务器的同一个内网里,FreshRSS 里加订阅时可以用内网地址。这样 RSSHub 不一定要直接暴露到公网,安全边界也更清楚。

RSSHub 的角色只要记住一句话:有原生 RSS 就不用它;没有原生 RSS,再让它补。

YouTube 可以直接订阅

YouTube 频道通常可以直接用频道 ID 拼出 RSS 地址,不需要登录:

https://www.youtube.com/feeds/videos.xml?channel_id=频道ID

这个地址可以直接加到 FreshRSS 里。相比通过第三方转换,原生 RSS 更稳定,链路也更短。

使用时优先级可以这样排:

  1. 找频道 ID。
  2. 拼出 YouTube feed 地址。
  3. 加到 FreshRSS。
  4. 如果某些频道不方便拿 ID,再考虑 RSSHub 或其他工具。

B站用 RSSHub

B站没有像 YouTube 那样通用、稳定、好找的官方 RSS 入口,所以更适合走 RSSHub。

常见需求是订阅某个 UP 主的新投稿,思路是:

  1. 找到 UP 主 UID。
  2. 用 RSSHub 的 B站投稿路由生成订阅源。
  3. 把生成的 RSS 地址加入 FreshRSS。

如果你只是看公开投稿,一般不需要登录。不要一开始就接 Cookie、账号和复杂抓取,能不用登录就不用登录。订阅系统越少依赖账号,越稳。

Mac 客户端用 NetNewsWire

Mac 上可以用 NetNewsWire。

它是开源 RSS 客户端,macOS 和 iOS 都能用。FreshRSS 做中心之后,Mac 客户端只是一个查看器,已读状态和订阅数据仍然以 FreshRSS 为准。

这样就不会变成“Mac 上一套、网页上一套、服务器上一套”。所有入口都同步到同一个 FreshRSS。

如果有 1Panel,就不要把部署搞复杂

既然已经有 1Panel,就没必要手写一大套部署流程。整体上只需要装两个服务:

  1. FreshRSS。
  2. RSSHub。

然后只把 FreshRSS 作为主要入口暴露出来。RSSHub 如果只是给 FreshRSS 内部调用,可以不直接公开到公网。

如果以后订阅量很大,再考虑:

  1. RSSHub 加缓存。
  2. FreshRSS 调整刷新频率。
  3. 给站点加备份。
  4. 把订阅源导出 OPML 备份。

第一版不用想太多。能稳定打开、能同步客户端、能加常用源,就已经够用了。

阮一峰的 RSS 可以先拿来验证

验证 FreshRSS 是否正常,可以先添加阮一峰的 RSS:

https://www.ruanyifeng.com/blog/atom.xml

如果这个订阅能正常抓取、刷新和阅读,说明 FreshRSS 基础链路没问题。之后再加 YouTube、B站和其他平台。

我的最终选择

最后这套方案可以概括成一句话:

FreshRSS 是入口,RSSHub 是转换器,NetNewsWire 是 Mac 查看器,YouTube 走原生 RSS,B站走 RSSHub,微信先不接。

判断一个新平台要不要接入时,也按这个顺序来:

  1. 有官方 RSS,直接加 FreshRSS。
  2. 没官方 RSS,查 RSSHub。
  3. RSSHub 也没有,再考虑网页监控或放弃。
  4. 需要登录、Cookie、容易风控的平台,先不接。

这个方案不追求一口气覆盖所有平台,但胜在简单、开源、可迁移、维护成本低。对个人订阅系统来说,能长期用下去,比第一天就做成“大而全”更重要。

正文完
 0
bdspAdmin
版权声明:本站原创文章,由 bdspAdmin 于2026-06-08发表,共计2311字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)