Brave
@47c132035ed7a1105a867946b99d67af 开源软件研究 公开
讨论 回归阅读本质:极简主义 RSS 阅读器 Miniflux

回归阅读本质:极简主义 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_sourceutm_mediumutm_campaignfbclidgclid
  • 🍪 无第三方 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 APIFever API

这意味着你可以使用市面上绝大多数优秀的第三方 RSS 阅读 App 来同步和阅读 Miniflux 中的内容。

📱 官方认证兼容的第三方客户端(2025年更新):

客户端名称平台授权类型支持的 API
Reeder ClassiciOS / macOS付费Google Reader API
NetNewsWireiOS / macOS免费开源Google Reader API
Fluent ReaderWindows / macOS / Linux / iOS / Android免费开源(移动端付费)Fever API
UnreadiOS付费Fever API
News+Android免费Fever / Google Reader API
FeedMeAndroid免费Fever API
lireiOS / macOS付费Fever API
Fiery FeedsiOS付费Fever API

🔍 Google Reader API vs Fever API 的区别:

功能Google Reader APIFever 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 ReaderAI 驱动的阅读工具
Readeck新兴的稍后读服务
Pinboard书签管理服务
LinkTaco2025年新增支持
Cubox笔记与收藏工具
RainDrop书签管理工具

💬 通知与推送

服务名称说明
Telegram即时通讯推送
Discord社区通讯推送
Slack团队协作推送
Matrix开源即时通讯
Pushover通用推送服务
Ntfy开源推送服务
Apprise多平台通知聚合

🔖 知识管理

服务名称说明
Notion笔记与知识库
Shaarli自托管书签
Linkding自托管书签管理
LinkAce自托管链接存档
LinkWarden2025年更新:改用 Bearer token 授权
Shiori简洁的书签管理
Betula书签管理工具

⚠️ 重要提示:Pocket 集成已于 2025 年 7 月 8 日移除,因为 Pocket 服务已停止运营。如果你之前使用 Pocket,建议迁移到 Instapaper 或 Wallabag。


7. 📰 全面的订阅源格式支持

Miniflux 支持几乎所有主流的订阅源格式:

格式版本说明
RSS1.0 / 2.0最常见的订阅格式
Atom0.3 / 1.0技术规范更严谨的格式
JSON Feed1.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 两个选择。以下是详细对比:

特性MinifluxFreshRSSTiny Tiny RSS
维护状态✅ 活跃✅ 活跃❌ 已停止维护
设计理念极简主义功能丰富功能丰富
数据库支持PostgreSQLSQLite/MySQL/PostgreSQLMySQL
资源占用极低(~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更友好的阅读体验,现代化 UIgithub.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 账号密码登录

⚠️ 重要安全提示

  1. 务必修改默认密码:示例中的密码仅供参考,生产环境必须使用强密码
  2. 配置 HTTPS:建议使用 Nginx/Caddy 反向代理并配置 SSL 证书
  3. 防火墙设置:仅开放必要端口(如 443)
  4. 定期备份:使用 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 的网站生成订阅源
FollowRSSHub 作者开发的"下一代信息浏览器",融合 Web3 与轻社交
kill-the-newsletter将 Newsletter 转换为 RSS 订阅

结语

在这个注意力被不断收割的时代,Miniflux 像是一个安静的避风港。它不争抢你的时间,只是默默地帮你收集整理好你关心的信息,静待你的开启。

我们需要构建信息茧房防范机制,提升接收内容的多样性与丰富性。Miniflux 正是这样一种工具——它把信息获取的主动权交还给你,让你成为自己信息世界的主人。

如果你想找回阅读的初心,Miniflux 绝对值得一试。