自建 RSS 阅读器:用 FreshRSS 把信息流完全握在自己手里


当我们终于把照片还给 Immich、把影音还给 Jellyfin、把密码还给 Vaultwarden、把记账还给 Firefly III 之后,还有一个每天被我们打开最多次的角落没有收回自己手里:刷资讯。朋友圈、短视频、算法信息流,都是把"别人的排序"硬塞给你看;你刷了半小时,真正想读的没看到几条。资讯阅读本该是一件高效而自主的事——你想看什么,就只看什么。RSS 就是这件事的原生答案,而 FreshRSS 则是把 RSS 装进自己服务器、让订阅源永远不依赖某个商业平台的最好选择。这篇文章把它从零到一讲透。

一、为什么要自建 RSS 阅读器

先承认一个扎心的事实:算法信息流不是为你的成长设计的,是为平台的停留时长设计的。网上阅读要么被算法裹挟、要么被聚合平台的审核和广告支配,你想稳定订阅的几个高质量源,随时可能因为平台调整而消失。RSS 把主动权完全交回用户:你订阅什么就收到什么,没有猜你喜欢、没有数据画像、没有信息茧房。

自建 RSS 阅读器,等于把这枚阅读器的"钥匙"也从平台拿回来——订阅源数据存在自己的服务器上,在哪台设备打开都能同步读,不怕商业产品关闭服务让你一夜归零。

二、FreshRSS 是什么,为什么选它

RSS 阅读器圈里有两家代表:Miniflux 极简、专注、内存占用极小,适合孑然一身的纯订阅党;FreshRSS 则面面俱到又轻巧,用 PHP 写成、支持 PostgreSQL 或 SQLite,界面清爽、自带中文、可以做分类和标签、支持全文抓取和离线阅读,还能通过 Google Reader API 被手机上的 reading 类客户端连接。对想要"既能管理大量订阅源、又不想碰复杂框架"的人,FreshRSS 是最稳的选择。

它的特色建议一口气说完:内置高级过滤规则(只看某类、屏蔽某类)、支持把订阅按文件夹分层、可以导出 OPML 备份、对中文源的支持和编码处理在同类里数一数二——这对国内用户是刚需。

三、准备工作

在服务器上准备一个固定目录即可,比如 /opt/freshrss。建议准备好域名并用 Caddy/nginx 反代到 HTTPS,因为很多 RSS 源接口对非 HTTPS 的请求处理不一致,接 HTTPS 后订阅体验会顺畅很多。内存需求很低,1G 以下的小鸡跑它都毫无压力。

四、Docker Compose 部署 FreshRSS

执行:

mkdir -p /opt/freshrss/data

创建 /opt/freshrss/docker-compose.yml:

services:
  freshrss:
    image: freshrss/freshrss:latest
    container_name: freshrss
    environment:
      - TZ=Asia/Shanghai
      - CRON_MIN=*/30 *
    volumes:
      - ./data:/var/www/FreshRSS/data
      - ./extensions:/var/www/FreshRSS/extensions
    ports:
      - "8085:80"
    restart: unless-stopped

执行 docker compose up -d 后访问 http://IP:8085,按安装向导填写数据库类型(建议 SQLite,无需额外服务)、创建管理员账号即可完成初始化。向导结束后登录后台,第一件事是在"认证"里开启邮箱/密码的组合验证,并修改默认管理员,避免后台被暴力扫。

五、添加订阅源与组织

在后台"订阅管理"里粘贴任意网站的 RSS/Atom 订阅地址即可添加,五分钟就能把"站点的更新"都汇进一个列表。更强大的玩法是给自制的小众网站也配上 RSS:很多技术博客、产品更新页、甚至部分公众号都有 webhook 或官方 RSS,把这些一个个加进来,等于亲手编写"只属于自己的信息源名单"。

建议动手之初就给订阅分层:大分类建"技术、生活、金融、工具",每个分类再按重要级排序。FreshRSS 支持拖拽整理订阅树,配合"只读最新 X 篇"的默认设置,信息流永远干干净净。

六、全文抓取与离线阅读

很多站点只输出摘要,想看全文要跳转原站。FreshRSS 为这类订阅源提供了全文抓取能力:在单个订阅源里勾选"抓取全文",后台会用内置文章解析器把正文抓回来缓存到本地,之后你在阅读器里直接读全文、还能离线保存。配合阅读进度同步,手机上没看完的,回到电脑接着读。

如果配合能接入 Google Reader API 的移动客户端(如 iOS 的 NetNewsWire、Android 的 FeedMe),就能实现"服务器同步订阅、手机随时阅读",体验和商业 App 几乎无异,但数据全部在自己手里。

七、备份与安全

最容易丢的资产是订阅列表和已读状态。FreshRSS 的订阅源列表可以一键导出 OPML;另外强烈建议把 /opt/freshrss/data 目录纳入 restic 异地备份——那里面有数据库,记录了全部订阅、分类与阅读进度,丢了要花很久重新配置。安全上同样把 8085 端口藏到反代后、开启 HTTPS,并给管理员设置强密码。

结语

阅读这件事,本该是你为自己的好奇心负责,而不是被算法替你做主。架一台 FreshRSS,把散落在各个网站的高质量更新亲自订阅进来,你就同时拿回三样东西:一份不再被平台改动和删除的订阅清单、一套跨设备一致的阅读进度、一个只忠于你兴趣的信息入口。先从第一条 RSS 订阅开始,你的信息生活从此由你说了算。


手机扫码阅读

微信或手机浏览器扫一扫,随时随地随心阅读与分享

Traefik 反代与自动 HTTPS 统一入口实战:一个 443 端口托管全家容器应用

自托管任务看板 Vikunja:把水电缴费、孩子作业、项目待办统统管起来

评 论
更换验证码