这次想整理一个 RSS 订阅方案,核心需求很简单:人在公司时连不上家里的 NAS,但还想稳定看订阅内容;平时可以用 Mac 客户端,也可以用网页打开;最好是开源、成熟、用的人多,后续放到自己的服务器上也方便迁移。
最后我觉得最清晰的方案不是把所有平台都硬塞进一个工具里,而是分层:
- FreshRSS 做主阅读器。
- RSSHub 做订阅源转换。
- YouTube 优先用原生 RSS。
- B站这类平台用 RSSHub。
- Mac 上用 NetNewsWire,同步 FreshRSS。
- 微信公众号先不接,避免维护和登录态问题。
这样结构简单,后续不管放在美国服务器、1Panel,还是以后再搬回 NAS,都不会被某个单点工具绑死。
为什么不把微信放进来
微信公众号本身没有官方 RSS。以前有一些第三方方案可以通过微信登录态、微信读书账号或其他方式把公众号内容转出来,但这类方案经常有几个问题:
- 需要登录态,维护成本高。
- 容易受风控影响。
- 项目可能长期不更新。
- 一旦微信侧规则变化,订阅就容易断。
如果只是为了建立一个稳定的个人订阅系统,微信这块先不接反而更稳。真正需要看公众号时,可以继续用微信或其他阅读工具,不要让整个 RSS 系统被它拖住。
这个取舍很重要。RSS 系统的第一目标不是“什么都接”,而是“能长期稳定用”。
FreshRSS 做中心
FreshRSS 适合做这个系统的中心。
- 官网:FreshRSS
- GitHub:FreshRSS/FreshRSS
它的定位很明确:自托管 RSS 阅读器。所有订阅源最终都加到 FreshRSS 里,由它负责刷新、分类、已读状态和网页阅读。
对个人使用来说,FreshRSS 的好处是:
- 有网页端,任何电脑打开浏览器就能看。
- 可以自托管,数据在自己手里。
- 支持第三方客户端同步。
- 迁移成本低,本质还是 RSS/Atom 订阅源。
- 1Panel 这类面板通常可以很轻松部署。
所以 FreshRSS 不需要承担“抓所有平台”的职责,它只要做好阅读器和订阅中心就够了。
RSSHub 做转换器
RSSHub 更适合当“转换器”,不是阅读器。
- 官网与文档:RSSHub
- GitHub:DIYgod/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 更稳定,链路也更短。
使用时优先级可以这样排:
- 找频道 ID。
- 拼出 YouTube feed 地址。
- 加到 FreshRSS。
- 如果某些频道不方便拿 ID,再考虑 RSSHub 或其他工具。
B站用 RSSHub
B站没有像 YouTube 那样通用、稳定、好找的官方 RSS 入口,所以更适合走 RSSHub。
常见需求是订阅某个 UP 主的新投稿,思路是:
- 找到 UP 主 UID。
- 用 RSSHub 的 B站投稿路由生成订阅源。
- 把生成的 RSS 地址加入 FreshRSS。
如果你只是看公开投稿,一般不需要登录。不要一开始就接 Cookie、账号和复杂抓取,能不用登录就不用登录。订阅系统越少依赖账号,越稳。
Mac 客户端用 NetNewsWire
Mac 上可以用 NetNewsWire。
- 官网:NetNewsWire
它是开源 RSS 客户端,macOS 和 iOS 都能用。FreshRSS 做中心之后,Mac 客户端只是一个查看器,已读状态和订阅数据仍然以 FreshRSS 为准。
这样就不会变成“Mac 上一套、网页上一套、服务器上一套”。所有入口都同步到同一个 FreshRSS。
如果有 1Panel,就不要把部署搞复杂
既然已经有 1Panel,就没必要手写一大套部署流程。整体上只需要装两个服务:
- FreshRSS。
- RSSHub。
然后只把 FreshRSS 作为主要入口暴露出来。RSSHub 如果只是给 FreshRSS 内部调用,可以不直接公开到公网。
如果以后订阅量很大,再考虑:
- RSSHub 加缓存。
- FreshRSS 调整刷新频率。
- 给站点加备份。
- 把订阅源导出 OPML 备份。
第一版不用想太多。能稳定打开、能同步客户端、能加常用源,就已经够用了。
阮一峰的 RSS 可以先拿来验证
验证 FreshRSS 是否正常,可以先添加阮一峰的 RSS:
https://www.ruanyifeng.com/blog/atom.xml
如果这个订阅能正常抓取、刷新和阅读,说明 FreshRSS 基础链路没问题。之后再加 YouTube、B站和其他平台。
我的最终选择
最后这套方案可以概括成一句话:
FreshRSS 是入口,RSSHub 是转换器,NetNewsWire 是 Mac 查看器,YouTube 走原生 RSS,B站走 RSSHub,微信先不接。
判断一个新平台要不要接入时,也按这个顺序来:
- 有官方 RSS,直接加 FreshRSS。
- 没官方 RSS,查 RSSHub。
- RSSHub 也没有,再考虑网页监控或放弃。
- 需要登录、Cookie、容易风控的平台,先不接。
这个方案不追求一口气覆盖所有平台,但胜在简单、开源、可迁移、维护成本低。对个人订阅系统来说,能长期用下去,比第一天就做成“大而全”更重要。



