Twitter风格RSS聚合阅读器DanB-RSS
简介
什么是 DanB-RSS ?
DanB-RSS是一个开源的RSS聚合阅读工具,采用BookStack的作者Dan Brown开发,基于PHP、Laravel、Inertia.js、Tailwind和Vue.js构建,界面简洁现代,支持多种布局模式。
主要特点
- 支持 RSS 和 ATOM 格式:兼容主流的订阅源格式,覆盖面广
- 自动定时抓取:默认每小时自动更新一次,可配置最短
5分钟的抓取间隔 - 四种布局模式:支持卡片(
Card)、网格(Grid)、列表(List)和紧凑(Compact)四种视图 - 自定义标签和颜色:可为每个订阅源设置名称、颜色和标签,方便分类管理
- 暗色模式:跟随系统主题,自动切换亮色/暗色模式
- 全文搜索:支持对文章标题和描述进行搜索
- 开放图谱图片:自动抓取页面的
OG图片作为文章缩略图 - 移动端适配:响应式设计,手机浏览体验良好
- 数据自动清理:支持按天数自动清理过期文章
- 开源免费:基于
MIT协议开源,可免费使用和修改
应用场景
- 个人阅读管理:订阅感兴趣的博客、新闻和技术网站,在一个界面集中阅读
- 信息流聚合:将多个信息源合并为统一的社交信息流风格界面
- 轻量级自托管:适合在
NAS或低功耗服务器上部署,资源占用小

DanB-RSS 是一个轻量且美观的 RSS 阅读工具,适合需要简洁信息流体验的个人用户。
安装
在群晖上以 Docker 方式安装。
由于镜像托管在 Codeberg 容器注册表中,群晖 Docker 套件无法直接搜索,需要通过命令行拉取镜像。
准备工作
容器内的 Caddy 以 www 用户身份运行,但默认试图绑定特权端口 80(<1024),而 Linux 上非 root 用户无权绑定低端口。
但 RSS 镜像的原始 Caddyfile 里面对应的是 Laravel/PHP 应用路由,不能简单的覆盖,需要先把原始 Caddyfile 拉出来再修改
1 | # 先把原始 Caddyfile 拉出来 |

然后编辑 Caddyfile.txt,把 :80 改成 :5280
注意有
2处,都需要改

docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 danbrss 和 子目录 |
参数说明:
/app/storage:存放feeds.txt、SQLite数据库等数据APP_NAME:应用名称,显示在浏览器标签页标题中APP_CONFIG_FILE:指定订阅源配置文件(feeds.txt)的具体存放路径APP_FEED_UPDATE_FREQUENCY:抓取频率(分钟),最低可设置为5分钟,默认60分钟APP_PRUNE_POSTS_AFTER_DAYS:自动清理超过指定天数的文章,默认不清理,设为30即保留最近30天APP_LOAD_POST_THUMBNAILS:是否加载文章缩略图,默认开启
docker-compose 安装
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后通过 SSH 登录到您的群晖,执行下面的命令:
1 | # 新建文件夹 danbrss 和 子目录 |
运行
首次使用需要配置订阅源:
- 打开宿主机上挂载的
data目录,找到feeds.txt文件

- 按以下格式添加 RSS 订阅源:
1 | https://feed.url.com/feed.xml Feed名称 #标签A #标签B |

- 保存文件后,在浏览器中访问
http://<群晖IP>:5280会看到自动读取并开始抓取文章

- 抓取完成后,需要刷新一下就能看到内容了

切换显示方式

DanB-RSS 没有内置的用户认证系统,建议通过反向代理添加访问控制。
注意事项
- 无用户认证:
DanB-RSS没有内置的用户管理,部署到公网时务必通过反向代理添加认证 - 不支持 HTTPS:应用本身仅支持
HTTP,需要HTTPS请使用Nginx或Caddy反向代理 - Feed 管理通过文件:添加、修改、删除订阅源都需要编辑
feeds.txt文件,不支持界面操作 - 低维护项目:作者明确表示这是一个低维护项目,功能范围有意保持狭窄,不适合需要复杂功能的用户
- 数据持久化:所有数据(包括数据库)都存储在
/app/storage目录,务必做好备份
参考文档
danb/rss: A simple twitter-feed-style RSS aggregator written in PHP, Laravel, Inertia.js, Tailwind and Vue.js
地址:https://codeberg.org/danb/rss