2026 FreshRSS + RSSHub 自建 RSS 信息流:告别算法推荐的私有阅读方案
你的关注列表散落在各个平台。技术博主在独立站点上写文章、UP 主在 B 站发视频、深度分析在知乎专栏、行业动态在微信公众号、项目更新在 GitHub——每天要切换五六个 APP 逐个刷一遍,时间就这么被切碎了。
更烦人的是算法推荐。打开 B 站首页,推荐的全是你上周搜过的内容;打开知乎,热榜上全是情绪煽动的话题;你明明只想看技术干货,平台却塞给你带货视频。不是说这些内容不好,而是你根本没选择权——平台用 KPI 替你做了决定。
RSS 就是来干掉这两个问题的。
第一,你不需要挨个平台去刷——所有来源的内容聚合到一个阅读器里,按时间倒序排列。第二,没有算法插嘴、没有广告插入、没有 KPI 驱动的内容推荐。你订阅什么就看什么,干干净净。
搭配 FreshRSS 自建服务端 + RSSHub 把不支持 RSS 的网站转成订阅源,几乎可以把任何互联网内容变成你主动订阅的信息流,而且数据全在自己手里。
我自己的体验:这套方案跑起来之后,每天刷 APP 的时间从 2 小时降到了打开阅读器看 20 分钟。不是信息来源变少了,是效率变高了——因为看什么由我决定,不是平台替我选。
一、前置条件
- Docker 环境 — 一台能跑 Docker 的 Linux 机器(VPS、NAS、树莓派都行)。如果完全没碰过 Docker,跟着命令一步步来就行,不需要深入了解。
- 一个域名 + 反向代理(推荐) — 手机客户端同步需要 HTTPS 连接。不想花钱搞域名的话,也可以用 Cloudflare Tunnel 打洞,或者只在电脑上通过 Web 浏览器使用。
- 基础操作习惯 — 知道怎么编辑文本文件、能复制粘贴命令就够了,不需要是运维大佬。
域名和后端 HTTPS 可以先跳过,部署成功了再回头补。不影响你先用起来。
二、RSS 到底是什么,跟”关注”有什么区别
简单类比:关注是”你去平台看有什么新东西”,RSS 是”新东西自己送上门”。
你在 B 站关注了一个 UP 主,必须打开 B 站才能看到他更新了视频。你订阅了一个博客的 RSS,不用打开那个网站——RSS 阅读器会主动帮你拉取新内容,跟收邮件差不多。
RSS 还有一个关注做不到的事:跨平台聚合。博客文章、知乎回答、GitHub Issue、YouTube 频道更新、某个网站的搜索结果变化——这些来自不同平台的内容可以出现在同一个阅读器里,按时间线排列。关注是散点,RSS 是汇流。
技术上 RSS 就是一个 XML 标准协议,2005 年就有了。老技术能活到现在,说明它解决的是刚需。
现在主流的自建 RSS 服务端有 FreshRSS、Miniflux、TT-RSS 三个,我选 FreshRSS 的原因就一条:界面最像当年的 Google Reader,给非技术圈的人推荐也不会有学习成本。
三、部署 FreshRSS
一个 docker-compose.yml 文件加两行命令就搞定。
services: freshrss: image: freshrss/freshrss:latest container_name: freshrss restart: unless-stopped ports: - "8080:80" environment: TZ: Asia/Shanghai CRON_MIN: '1,31' volumes: - ./freshrss/data:/var/www/FreshRSS/dataCRON_MIN: '1,31' 表示每小时的第 1 分和 31 分自动抓取一次,每天约 48 次。这个频率对你个人博客类的源完全够用了。如果你订阅了大量新闻类源(希望刷新周期在 15 分钟内),可以改成 '*/15',对 VPS 的 CPU 和内存几乎无感。
docker compose up -d容器跑起来后,浏览器访问 http://你的IP:8080,进入初始化页面。
几个关键选择你要知道为什么这么选:
- 语言选简体中文,不解释。
- 数据库类型选 SQLite——个人使用完全够,不用多跑一个 MySQL 容器,省资源省配置。
- 创建管理员账号,密码别太简单,这是你自己数据的总入口。
初始化完成后进主界面,点左上角「订阅管理」→「添加订阅源」。随便找个知名博客的 RSS 试试水——比如 https://lobste.rs 或者 https://news.ycombinator.com 一直稳定输出 RSS。看到文章列表刷刷地出来了,说明部署成功。
四、部署 RSSHub
大部分国内平台根本不提供 RSS。B 站没有、微博没有、知乎的 RSS 输出时好时坏、微信公众平台完全不开放数据出口。但这些人偏偏是你信息流的组成部分。
RSSHub 就是来填补这个空白的。它是一个统一的路由系统,帮你把各种第三方页面的内容抓下来,转成标准的 RSS 和 Atom 格式。社区维护了上千条路由规则,覆盖 B 站、微博、知乎、小红书、豆瓣、GitHub、Twitter/X、Instagram、YouTube 等等——几乎你想得起来的平台都有。
同样用 Docker 部署:
services: rsshub: image: diygod/rsshub:latest container_name: rsshub restart: unless-stopped ports: - "1200:1200" environment: TZ: Asia/Shanghai NODE_ENV: production CACHE_TYPE: redis REDIS_URL: redis://redis:6379 depends_on: - redis
redis: image: redis:alpine container_name: rsshub-redis restart: unless-stopped注意那个 CACHE_TYPE: redis——不加 Redis 的话,每个请求 RSSHub 都要去源站重新抓一遍页面,速度慢不说还可能被源站封 IP。Redis 做缓存,同样的请求第二次直接从内存返回,快几十倍。
docker compose up -d验证:浏览器访问 http://你的IP:1200,看到 RSSHub 的交互界面说明跑起来了。
部署成功后去 FreshRSS 添加订阅源,把 RSSHub 的路由地址填进去。举个具体的:B 站某 UP 主页 URL 是 https://space.bilibili.com/123456,那路由就是 /bilibili/user/video/123456。填进订阅管理,点测试——文章出来了。
五、RSSHub 实用路由速查
| 路由 | 用途 |
|---|---|
/bilibili/user/video/:uid | UP 主视频更新 |
/bilibili/ranking/:rid | B 站排行榜 |
/weibo/user/:uid | 微博博主 |
/zhihu/hotlist | 知乎热榜 |
/zhihu/zhuanlan/:id | 知乎专栏 |
/zhihu/pin/daily | 知乎每日精选 |
/github/trending/:since | GitHub 趋势仓库,:since 填 daily/weekly/monthly |
/github/issue/:user/:repo | 特定仓库的 Issue |
/telegram/channel/:username | Telegram 频道消息 |
/douban/movie/playing | 正在上映的电影 |
/pixiv/user/:id | Pixiv 画师新作品 |
/twitter/user/:id | X/Twitter 用户推文 |
/youtube/user/:username | YouTube 频道更新 |
全部路由列表去 RSSHub 官方文档查。:uid :id :username 这些参数替换成对应的数字或字符串。
六、手机客户端配置
电脑上用 Web 端已经很方便了,但出门在外——通勤路上、午饭排队、睡前刷刷——手机端才是 RSS 的主战场。FreshRSS 支持 Google Reader API,这意味着几乎所有 RSS 客户端都能直接连上来。
我实测好用的两个:
| 客户端 | 平台 | 特点 |
|---|---|---|
| FeedMe | Android | 不到 5MB、支持离线缓存、能自定义主题和字体 |
| Fluent Reader | Windows / Linux / macOS | Electron 构建、多列视图、快捷键操作很流畅 |
配置方法(以 FeedMe 为例):添加账号 → 选 Google Reader API 类型 → 服务器地址填 https://你的域名/api/greader.php → 用户名密码用你创建的管理员账号 → 同步间隔设成 30 分钟。打开 FeedMe,你的订阅就全部同步过来了——已读状态、标签、收藏都跨设备同步。
关于 HTTPS 怎么办:手机客户端强制要求 HTTPS 连接。最简单的方案是用 Tailscale 组网——手机装好 Tailscale 后通过虚拟 IP 访问,不需要域名也不需要 HTTPS。详细的 Tailscale 配置看这篇。或者用 Cloudflare Tunnel 免费打洞,都不需要公网 IP。
七、进阶:把整个信息流串起来
部署完了之后,我建议你再做两件事,让这套方案真正融入日常。
第一步,把 FreshRSS 设成浏览器主页。 每次打开浏览器首先看到的是你订阅的文章列表,而不是某个平台的首页。Chrome 和 Firefox 都能自定义主页地址,填上你的 FreshRSS URL。这一步很关键——视觉上它改变了你的上网习惯。
第二步,手机桌面加个 FeedMe 快捷方式。 Android 上长按 FeedMe 图标可以直接跳转到最近更新列表。这样你在任何碎片时间打开手机,第一眼看到的是你自己选的内容,而不是推送通知。
两个改动都不需要写代码,纯配置。但效果很实在——你不再被动打开抖音/B 站/知乎,而是主动打开阅读器。坚持一两周后你会发现,那些碎片化 APP 的打开频率明显降下来了,因为你的信息需求已经被阅读器满足了。
如果想更进一步——让 AI 每天早上帮你从 RSS 里提取重点生成摘要推送到邮箱——可以用 n8n 搭一条自动化工作流。具体配置参考n8n 教程。
八、日常使用建议
| 技巧 | 说明 |
|---|---|
| 快捷键 | s 搜索、f 全屏阅读、j/k 上下切换文章、m 标记已读 |
| 全文抓取 | 有些 RSS 源只输出摘要,在设置里配 CSS 选择器自动抓取全文 |
| 标签系统 | 建几个标签比如「技术」「行业」「生活」,归档后找文章方便 |
| OPML 导入 | 从 Inoreader / Feedly 导出的订阅列表可以直接迁入 FreshRSS |
| 源清理 | 一周都不看的订阅直接取消——保持信息流干净比什么都重要 |
九、常见问题
Q:RSSHub 跑起来了,但 B 站/微博的路由抓不到内容?
大概率是网络问题。如果服务跑在中国大陆的机器上,访问 B 站和微博需要配置代理。在 RSSHub 的 docker-compose.yml 里加上 HTTP_PROXY 和 HTTPS_PROXY 环境变量即可。
Q:订阅太多,每天几百篇读不完怎么办? RSS 不是「必读清单」。按重要程度分三个分类:必读、有空看、偶尔刷。每天只处理前两类,第三类周末集中清一次。读不完就不读,重要的是你订阅的都是你选的源,而不是算法塞给你的。
Q:跟 Inoreader / Feedly 比,自建值得吗? 免费版 Inoreader 限制 150 个订阅源,高级版要 $10/月。Feedly 的 AI 推荐功能也要年付。自建一分钱不花、不限制订阅数、数据完全归你管。代价是花 20 分钟部署,偶尔维护一下。长期用的话自建是划算的。
Q:两个容器会不会吃资源? FreshRSS + RSSHub + Redis 三个容器,512MB 内存的机器跑起来毫无压力。费用就是一台最便宜的 VPS 或者你家 NAS 的零头电费。
延伸阅读
- Docker 换源避坑指南 — 部署前的必备准备
- Nginx Proxy Manager 反代面板 — 统一管理所有服务的访问入口
- 自建 RSS 信息流 — 彻底告别算法推荐
自建 RSS 不会让你错过什么,反而会帮你找回注意力。信息获取从”被投喂”变成了”主动选择”,每天省下来的时间——不管是用来读书还是用来发呆——都比你随便刷抖音值得。
推荐指数:⭐⭐⭐⭐⭐
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!