回归阅读本质:极简主义 RSS 阅读器 Miniflux
在信息爆炸的今天,算法推荐让我们陷入了无尽的"信息茧房"和碎片化阅读的泥潭。越来越多的人开始怀念 RSS(Really Simple Syndication)——这种古老但高效的信息获取方式,它让我们重新掌握了信息的主动权。
RSS 只显示你订阅的源,在单位时间内向你展示的信息量是可预估的,这让你从"无限下滑"的信息过载中解脱出来。同时,你可以看到订阅源发布的所有内容,而不只是算法筛选后的一小部分。
而在众多的 RSS 阅读器中,Miniflux 是一股清流。它不追求花哨的界面,没有复杂的社交功能,只做一件事:让你高效、专注地阅读。
什么是 Miniflux?
Miniflux 是一款基于 Go 语言开发的、极简主义的、自托管(Self-hosted)的 RSS 订阅服务。
它的设计哲学可以用一句话概括:
"Miniflux is a minimalist and opinionated feed reader." (Miniflux 是一个极简且有主见的阅读器)
它剔除了一切干扰阅读的元素,没有广告、没有追踪器、没有花哨的动画,旨在提供最纯粹的阅读体验。
📊 技术概览
| 属性 | 详情 |
|---|---|
| 🛠️ 开发语言 | Go(Golang) |
| 📦 部署形式 | 单一二进制文件,无外部依赖 |
| 🗄️ 数据库 | 仅支持 PostgreSQL(自 2.0 版本起不再支持 SQLite) |
| 🌍 多语言支持 | 20+ 种语言,包括简体中文、繁体中文、日语、英语、法语、德语、西班牙语、葡萄牙语、俄语、印地语、印尼语等 |
| 📜 开源协议 | Apache License 2.0 |
| 🔗 项目地址 | github.com/miniflux/v2 |
Miniflux 的核心特点
1. 🎯 极致的极简主义设计
打开 Miniflux,你会看到一个非常朴素的界面。它通常采用黑白或淡雅的配色,布局简单直观。它针对可读性进行了优化,支持自动抓取文章全文(即使源网站只提供摘要),让你无需跳转即可读完内容。
Miniflux 的设计理念是"有主见的"(opinionated),这意味着开发者有意识地做出了许多取舍:
- ✅ 保留的功能:核心阅读体验、订阅管理、全文抓取、API 支持
- ❌ 舍弃的功能:社交分享、复杂主题、插件系统、多媒体预览花哨效果
这种"减法设计"使得 Miniflux 的代码库保持精简,维护成本低,运行效率高。对于追求专注阅读的用户来说,这是一种令人耳目一新的体验。
2. 🔒 强大的自托管属性
Miniflux 是开源软件,这意味着你可以将它部署在自己的服务器(如 VPS、NAS 或树莓派)上。
🛡️ 数据隐私
所有阅读记录、订阅源都掌握在你自己手中,不用担心服务商倒闭或数据被贩卖。
Miniflux 还内置了多项隐私保护功能:
- 🚫 移除追踪像素:自动识别并移除邮件和网页中常见的追踪像素
- 🔗 清理追踪参数:自动剥离 URL 中的追踪参数,包括
utm_source、utm_medium、utm_campaign、fbclid、gclid等 - 🍪 无第三方 Cookie:不加载任何第三方资源,确保浏览隐私
⚡ 轻量级
得益于 Go 语言,Miniflux 占用资源极低,即便是最低配置的服务器也能流畅运行。
具体而言,Miniflux 的资源占用通常如下:
| 资源类型 | 典型占用 |
|---|---|
| 💾 内存 | 约 30-50 MB |
| 💿 磁盘空间 | 约 15 MB(二进制文件) |
| 🖥️ CPU | 几乎可忽略不计 |
相比之下,许多基于 PHP 或 Node.js 的 RSS 阅读器往往需要数百 MB 内存。这意味着 Miniflux 可以轻松运行在树莓派 Zero、低配 VPS(512MB 内存),甚至某些路由器上。
3. 🔌 支持多种 API 与第三方客户端
Miniflux 本身是一个 Web 端服务,它采用了"后端优先"的策略。虽然它的原生网页端已经很好用,但它更强大之处在于支持 Google Reader API 和 Fever API。
这意味着你可以使用市面上绝大多数优秀的第三方 RSS 阅读 App 来同步和阅读 Miniflux 中的内容。
📱 官方认证兼容的第三方客户端(2025年更新):
| 客户端名称 | 平台 | 授权类型 | 支持的 API |
|---|---|---|---|
| Reeder Classic | iOS / macOS | 付费 | Google Reader API |
| NetNewsWire | iOS / macOS | 免费开源 | Google Reader API |
| Fluent Reader | Windows / macOS / Linux / iOS / Android | 免费开源(移动端付费) | Fever API |
| Unread | iOS | 付费 | Fever API |
| News+ | Android | 免费 | Fever / Google Reader API |
| FeedMe | Android | 免费 | Fever API |
| lire | iOS / macOS | 付费 | Fever API |
| Fiery Feeds | iOS | 付费 | Fever API |
🔍 Google Reader API vs Fever API 的区别:
| 功能 | Google Reader API | Fever API |
|---|---|---|
| 阅读文章 | ✅ | ✅ |
| 标记已读/未读 | ✅ | ✅ |
| 添加/删除订阅源 | ✅ | ❌ |
| 管理分类/文件夹 | ✅ | ❌ |
| 收藏/星标文章 | ✅ | ✅ |
💡 建议:如果你需要在移动端完整管理订阅源,优先选择支持 Google Reader API 的客户端(如 Reeder、NetNewsWire)。如果只是阅读,Fever API 也完全够用。
🔧 配置提示:在 NetNewsWire 中连接 Miniflux 时,需要选择"FreshRSS"作为账户类型(因为它们使用相同的 Google Reader API 实现),并确保 URL 末尾不要带斜杠"/",否则会报错。
4. 📖 自动抓取全文(Full-Text Fetching)
这是 Miniflux 的杀手级功能之一。很多网站的 RSS 源只提供文章摘要,强迫用户点击链接去原网页阅读(通常伴随着广告)。Miniflux 内置了强大的解析引擎,可以自动抓取原网页的正文内容,让你在阅读器内就能享受纯净的全文阅读体验。
🛠️ 技术实现:
Miniflux 使用了经过优化的 Readability 算法(类似于 Firefox 阅读模式使用的算法)来提取网页正文。2025年的更新中,Miniflux 对 Readability 引擎进行了大规模重构和性能优化,包括:
- 避免错误移除带有
content类名的元素 - 更智能的正文识别算法
- 显著提升的解析速度
⚙️ 配置选项:
你可以为每个订阅源单独设置全文抓取策略:
| 选项 | 说明 |
|---|---|
| 默认 | 使用 RSS 源提供的内容 |
| 获取原始内容 | 始终抓取原网页全文 |
| 使用 Readability | 对已有内容应用 Readability 清理 |
5. 🎛️ 高效的过滤与管理
🏷️ 黑白名单
你可以为每个订阅源设置关键词过滤,只看你想看的内容,或者屏蔽不感兴趣的话题。
支持的过滤规则类型(2025年更新):
| 过滤类型 | 示例 | 说明 |
|---|---|---|
| 标题包含 | 关键词 | 标题中包含指定关键词的文章 |
| 标题正则 | (?i)bitcoin|crypto | 使用正则表达式匹配标题 |
| 内容包含 | 广告|推广 | 正文中包含指定关键词 |
| 作者过滤 | 某作者名 | 按作者筛选文章 |
| 日期过滤 | max-age:7d | 只保留最近 N 天的文章(2025年新增 EntryDate=max-age:duration 语法) |
🧹 自动清理
支持设置保留历史文章的时间,自动清理旧数据,保持数据库轻盈。
清理策略配置:
CLEANUP_FREQUENCY_HOURS=24 # 清理任务执行频率(小时)
CLEANUP_ARCHIVE_READ_DAYS=60 # 已读文章保留天数
CLEANUP_ARCHIVE_UNREAD_DAYS=180 # 未读文章保留天数
CLEANUP_REMOVE_SESSIONS_DAYS=30 # 会话数据保留天数6. 🔗 丰富的第三方服务集成(2025年更新)
Miniflux 目前支持 25+ 种第三方服务集成,让你可以将文章一键保存到各种稍后读和知识管理工具中:
📚 稍后读服务
| 服务名称 | 说明 |
|---|---|
| Instapaper | 经典稍后读服务 |
| Wallabag | 开源自托管稍后读(2025年新增标签支持) |
| Readwise Reader | AI 驱动的阅读工具 |
| Readeck | 新兴的稍后读服务 |
| Pinboard | 书签管理服务 |
| LinkTaco | 2025年新增支持 |
| Cubox | 笔记与收藏工具 |
| RainDrop | 书签管理工具 |
💬 通知与推送
| 服务名称 | 说明 |
|---|---|
| Telegram | 即时通讯推送 |
| Discord | 社区通讯推送 |
| Slack | 团队协作推送 |
| Matrix | 开源即时通讯 |
| Pushover | 通用推送服务 |
| Ntfy | 开源推送服务 |
| Apprise | 多平台通知聚合 |
🔖 知识管理
| 服务名称 | 说明 |
|---|---|
| Notion | 笔记与知识库 |
| Shaarli | 自托管书签 |
| Linkding | 自托管书签管理 |
| LinkAce | 自托管链接存档 |
| LinkWarden | 2025年更新:改用 Bearer token 授权 |
| Shiori | 简洁的书签管理 |
| Betula | 书签管理工具 |
⚠️ 重要提示:Pocket 集成已于 2025 年 7 月 8 日移除,因为 Pocket 服务已停止运营。如果你之前使用 Pocket,建议迁移到 Instapaper 或 Wallabag。
7. 📰 全面的订阅源格式支持
Miniflux 支持几乎所有主流的订阅源格式:
| 格式 | 版本 | 说明 |
|---|---|---|
| RSS | 1.0 / 2.0 | 最常见的订阅格式 |
| Atom | 0.3 / 1.0 | 技术规范更严谨的格式 |
| JSON Feed | 1.0 / 1.1 | 现代化的 JSON 格式订阅源 |
| OPML | - | 用于批量导入/导出订阅列表 |
🎵 多媒体附件支持:
- 🎧 播客(Podcast):支持音频附件播放
- 🎬 视频:支持视频附件,可直接在 Miniflux 内播放 YouTube 视频
- 🖼️ 图片:支持图片附件预览
8. 🔐 多样化的认证方式(2025年更新)
Miniflux 提供了丰富的认证选项,满足不同安全需求:
| 认证方式 | 说明 |
|---|---|
| 用户名密码 | 传统本地认证 |
| Passkeys(WebAuthn) | 无密码认证,支持指纹/面容识别 |
| Google OAuth2 | 使用 Google 账号登录 |
| 通用 OpenID Connect | 支持任意 OIDC 提供商(如 Keycloak、Authentik) |
| 反向代理认证 | 配合 Authelia、Traefik 等使用 |
9. 🔍 强大的搜索功能
Miniflux 的全文搜索功能由 PostgreSQL 驱动,提供快速准确的搜索体验:
- 全文索引:对文章标题和正文建立索引
- 多语言分词:支持中文、日文等多语言分词
- 快速响应:即使有数万篇文章也能快速返回结果
为什么选择 Miniflux?(优点)
✅ 核心优势
| 优势 | 说明 |
|---|---|
| 🎯 纯粹 | 没有算法推荐,没有广告干扰,只有你订阅的内容 |
| ⚡ 快 | 页面加载速度极快,没有任何多余的 JavaScript 脚本拖慢速度 |
| 🌐 兼容性好 | 只要有浏览器就能用,同时也完美适配手机端网页,支持 PWA(渐进式 Web 应用) |
| 🐳 易于部署 | 官方提供了 Docker 镜像,只需几行命令即可在几分钟内完成部署 |
| 🔒 隐私优先 | 数据完全自主,内置追踪清理功能 |
| 🔌 生态丰富 | 支持 25+ 种服务集成,多种 API 兼容主流客户端 |
📊 与其他自托管 RSS 阅读器对比
随着 Tiny Tiny RSS 于 2025 年宣布停止维护,自托管 RSS 阅读器市场主要剩下 Miniflux 和 FreshRSS 两个选择。以下是详细对比:
| 特性 | Miniflux | FreshRSS | |
|---|---|---|---|
| 维护状态 | ✅ 活跃 | ✅ 活跃 | ❌ 已停止维护 |
| 设计理念 | 极简主义 | 功能丰富 | 功能丰富 |
| 数据库支持 | PostgreSQL | SQLite/MySQL/PostgreSQL | MySQL |
| 资源占用 | 极低(~30MB) | 中等 | 中等 |
| 移动端体验 | 优秀(PWA) | 良好 | 较差 |
| 部署难度 | 简单 | 简单 | 复杂 |
| 插件/主题 | 有限 | 丰富 | 丰富 |
| 上手难度 | 低 | 中 | 高 |
🎯 选择建议:
- 选 Miniflux:如果你追求极简、轻量、优秀的移动端体验
- 选 FreshRSS:如果你需要丰富的自定义选项、插件支持、类似 Google Reader 的完整功能
可能的不足(缺点)
⚠️ 需要了解的限制
| 缺点 | 说明 | 应对方案 |
|---|---|---|
| 🔧 有一定门槛 | 虽然部署简单,但对于完全不懂服务器和命令行的用户来说,自托管版本仍有一定难度 | 使用官方托管服务或 PikaPods 等一键部署平台 |
| 🎨 界面过于朴素 | 如果你喜欢像 Feedly 那样图文并茂、杂志般的排版,Miniflux 可能会让你觉得"简陋" | 使用第三方前端如 ReactFlux 或 Nextflux 获得更现代的界面 |
| 💬 缺乏社交功能 | 你不能在里面点赞、评论或分享给好友,它是一个孤独的阅读工具 | 配合 Telegram/Discord 集成实现分享 |
| 🗄️ 仅支持 PostgreSQL | 不像 FreshRSS 支持 SQLite,部署时必须同时运行 PostgreSQL | 使用 Docker Compose 一键部署 |
| 🔌 不支持插件 | 无法像 FreshRSS 或 TT-RSS 那样通过插件扩展功能 | 官方持续更新内置功能,通过 API 与外部服务集成 |
🖥️ 第三方前端推荐
如果你觉得 Miniflux 原生界面过于简洁,可以尝试以下第三方前端:
| 前端名称 | 特点 | 项目地址 |
|---|---|---|
| ReactFlux | 更友好的阅读体验,现代化 UI | github.com/electh/ReactFlux |
| Nextflux | 美观现代的 Web 客户端 | GitHub 搜索 Nextflux |
| Reminiflux | 类似 Google Reader 的三栏布局 | 社区项目 |
适用人群
Miniflux 并不适合所有人,但它特别适合以下几类用户:
👥 目标用户画像
| 用户类型 | 为什么适合 |
|---|---|
| 🔧 极客与技术爱好者 | 喜欢折腾服务器,重视数据隐私和控制权,享受自托管带来的自由度 |
| 📚 深度阅读者 | 厌倦了算法推荐,希望建立自己的信息流,追求无干扰的专注阅读体验 |
| 🎯 极简主义者 | 讨厌臃肿软件,追求软件功能纯粹、界面干净,信奉"少即是多"的理念 |
| 📱 多设备用户 | 需要在手机、平板、电脑之间无缝同步阅读进度,且喜欢使用 Reeder、NetNewsWire 等优秀第三方客户端 |
| 🔒 隐私敏感用户 | 不希望阅读习惯被追踪,拒绝第三方服务收集行为数据 |
| 🌐 团队/小组使用者 | Miniflux 支持多用户,适合小团队共享订阅源 |
❌ 可能不适合的用户
| 用户类型 | 原因 |
|---|---|
| 完全无技术背景的用户 | 即使部署简单,仍需要基本的服务器操作知识 |
| 追求视觉体验的用户 | Miniflux 界面朴素,不如 Feedly 等商业产品精美 |
| 需要社交功能的用户 | 无法在阅读器内与他人互动 |
| 偶尔使用 RSS 的轻度用户 | 自托管的维护成本对轻度用户来说可能不值得 |
如何开始?
如果你想尝试 Miniflux,有多种方式:
方式一:官方托管服务 💰
访问 Miniflux 官网托管页面,支付 每年 15 美元 的费用,直接使用官方维护的服务。
优点:
- ✅ 最省心,无需任何技术操作
- ✅ 支持开发者,确保项目持续发展
- ✅ 官方维护,稳定可靠
适合人群: 不想折腾服务器、愿意付费支持开源项目的用户
方式二:第三方托管平台 ☁️
如果你想要自己的实例但不想管理服务器,可以选择以下平台:
| 平台 | 价格 | 特点 |
|---|---|---|
| PikaPods | 约 \(1/月起 | 新用户赠送\)5 额度,可免费试用数月 | |
| ElfHosted | 按需付费 | 提供 7 天免费试用 |
| Fly.io | 免费额度内可用 | 月账单低于 $5 不收费,适合技术用户 |
方式三:Docker 自部署(推荐)🐳
如果你有一台服务器,可以使用 Docker Compose 快速部署。
📋 前置要求
- 一台 Linux 服务器(VPS、NAS、树莓派均可)
- 已安装 Docker 和 Docker Compose
- 至少 512MB 内存(推荐 1GB 以上)
- 一个域名(可选,但推荐用于 HTTPS 访问)
📝 配置文件
创建 docker-compose.yml 文件:
services:
miniflux:
image: miniflux/miniflux:latest
container_name: miniflux
restart: unless-stopped
ports:
- "8080:8080"
depends_on:
db:
condition: service_healthy
environment:
- DATABASE_URL=postgres://miniflux:your_secure_password@db/miniflux?sslmode=disable
- RUN_MIGRATIONS=1
- CREATE_ADMIN=1
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=your_admin_password # ⚠️ 请修改为强密码
# 可选配置
- BASE_URL=https://rss.yourdomain.com # 你的访问地址
- POLLING_FREQUENCY=60 # 抓取频率(分钟)
- BATCH_SIZE=100 # 每次抓取的订阅源数量
- WORKER_POOL_SIZE=5 # 工作线程数
- CLEANUP_FREQUENCY_HOURS=24 # 清理频率
security_opt:
- no-new-privileges:true
db:
image: postgres:15-alpine
container_name: miniflux-db
restart: unless-stopped
environment:
- POSTGRES_USER=miniflux
- POSTGRES_PASSWORD=your_secure_password # ⚠️ 与上面保持一致
- POSTGRES_DB=miniflux
volumes:
- miniflux_db:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U miniflux -d miniflux"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
volumes:
miniflux_db:🚀 部署步骤
# 1. 创建项目目录
mkdir -p ~/miniflux && cd ~/miniflux
# 2. 创建 docker-compose.yml(粘贴上述配置)
nano docker-compose.yml
# 3. 启动服务
docker-compose up -d
# 4. 查看日志确认启动成功
docker-compose logs -f miniflux
# 5. 访问 http://你的服务器IP:8080
# 使用配置的 admin 账号密码登录⚠️ 重要安全提示
- 务必修改默认密码:示例中的密码仅供参考,生产环境必须使用强密码
- 配置 HTTPS:建议使用 Nginx/Caddy 反向代理并配置 SSL 证书
- 防火墙设置:仅开放必要端口(如 443)
- 定期备份:使用
pg_dump定期备份 PostgreSQL 数据库
🔄 PostgreSQL 18+ 注意事项(2025年更新):
如果你使用 PostgreSQL 18 或更高版本,数据卷挂载路径发生了变化:
# PostgreSQL ≤ 17
volumes:
- miniflux_db:/var/lib/postgresql/data
# PostgreSQL ≥ 18(以 PostgreSQL 19 为例)
volumes:
- miniflux_db:/var/lib/postgresql/19/docker方式四:其他部署方式
| 部署方式 | 说明 |
|---|---|
| Synology NAS | 通过 Docker 套件部署,有详细的社区教程 |
| 群晖 / 威联通 | 类似 Synology,使用容器管理器 |
| Kubernetes | 适合企业级部署,可使用 Helm Chart |
| 裸机部署 | 直接运行二进制文件,需手动管理 PostgreSQL |
部署后的配置建议
🔧 推荐的初始设置
部署完成后,建议进行以下配置:
1️⃣ 启用 API
进入 设置 → 集成:
- 启用 Fever API:设置用户名和密码,用于连接 Fever 兼容客户端
- 启用 Google Reader API:设置用户名和密码,用于连接 Reeder/NetNewsWire 等
2️⃣ 配置订阅源
- 导入 OPML:如果你之前使用其他阅读器,可以导出 OPML 文件并导入
- 创建分类:按主题组织你的订阅源(如:科技、新闻、博客)
- 设置全文抓取:为只提供摘要的订阅源启用全文抓取
3️⃣ 配置集成服务
根据需要配置:
- Telegram 通知:新文章即时推送
- Wallabag/Instapaper:一键保存到稍后读
常见问题解答(FAQ)
❓ Miniflux 会一直免费吗?
是的,Miniflux 是 Apache License 2.0 开源软件,自托管版本永久免费。官方托管服务是付费的($15/年),这是支持开发者的方式。
❓ 我的数据安全吗?
完全安全。自托管意味着数据只存储在你自己的服务器上,开发者无法访问。即使使用官方托管服务,Miniflux 也不会分析或出售你的数据。
❓ 可以从其他阅读器迁移吗?
可以。Miniflux 支持 OPML 格式导入,几乎所有 RSS 阅读器都支持 OPML 导出。
❓ 抓取频率多久一次?
默认每 60 分钟抓取一次,可以通过 POLLING_FREQUENCY 环境变量调整(最低 15 分钟)。
❓ 中文支持如何?
界面完整支持简体中文和繁体中文,全文搜索也支持中文分词。
进阶资源
📚 官方资源
| 资源 | 链接 |
|---|---|
| 官方网站 | miniflux.app |
| GitHub 仓库 | github.com/miniflux/v2 |
| 官方文档 | miniflux.app/docs/ |
| API 文档 | miniflux.app/docs/api.html |
| 更新日志 | github.com/miniflux/v2/releases |
🛠️ 社区资源
| 资源 | 说明 |
|---|---|
| RSSHub | 万物皆可 RSS 的开源项目,为不支持 RSS 的网站生成订阅源 |
| Follow | RSSHub 作者开发的"下一代信息浏览器",融合 Web3 与轻社交 |
| kill-the-newsletter | 将 Newsletter 转换为 RSS 订阅 |
结语
在这个注意力被不断收割的时代,Miniflux 像是一个安静的避风港。它不争抢你的时间,只是默默地帮你收集整理好你关心的信息,静待你的开启。
我们需要构建信息茧房防范机制,提升接收内容的多样性与丰富性。Miniflux 正是这样一种工具——它把信息获取的主动权交还给你,让你成为自己信息世界的主人。
如果你想找回阅读的初心,Miniflux 绝对值得一试。