RSSPub:RSS聚合器及EPUB生成器
简介
什么是 RSSPub ?
RSSPub是一个自托管的 Rust 应用程序,旨在将用户的RSS/Atom订阅源转换为个人化的每日新闻报(EPUB格式)。该工具自动抓取文章、处理图片,并将所有内容打包成可供e-reader或平板电脑阅读的EPUB文件。此外,RSSPub还提供了一个OPDS订阅源,使用户能够直接下载生成的EPUB文件到兼容的阅读器中,如KOReader和Moon+ Reader。
主要特点
- RSS/Atom 解析:自动抓取和解析用户配置的
RSS/Atom订阅源内容。 - EPUB 生成:将抓取的文章编译成格式良好的
EPUB电子书。 - 图片优化:下载并处理图片,以提高在
e-reader上的显示效果(如灰度、调整大小)。 - 网页界面:提供一个简单的网页
UI,以管理订阅源、设置生成时间表,并手动触发生成。 - OPDS 目录:内置
OPDS服务器(/opds),用户可以浏览并下载生成的EPUB文件。 - 调度功能:根据用户配置的
cron表达式自动生成EPUB文件。 - 身份验证:可选的基本身份验证,以保护应用实例。
- 电子邮件送达:可自动将生成的
EPUB文件发送到配置的电子邮件地址,如Send-to-Kindle。 - 高性能:基于
Rust、Axum和Tokio构建,具有高性能和低资源消耗的特点。
应用场景
- 个人信息管理:用户可以将自己喜欢的新闻源转换为每日电子报,方便随时阅读。
- 自托管解决方案:适合希望控制个人数据并使用自托管应用的用户。
- 阅读优化:通过优化的
EPUB文件和图片处理,提升阅读体验。 - 自动化工作流:对于需要定期读取新闻的用户,自动生成电子书并通过电子邮件发送,省去手动操作。
- 简易管理:通过简单的网页界面,轻松管理和定制
RSS订阅源。

总之,RSSPub 提供了一个灵活且高效的方式,让用户能够轻松获取、整理和阅读自己感兴趣的内容。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 rsspub ,选择第一个 harshit181/rsspub,版本选择 latest。
本文写作时,
latest版本对应为0.96.2;

卷
在 docker 文件夹中,创建一个新文件夹 rsspub,并在其中建一个子文件夹 data
| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/rsspub/data |
/app/db |
存放数据库文件 |
docker/rsspub/epubs |
/app/static/epubs |
存放生成的 epub 文件 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
3364 |
3000 |

环境
| 可变 | 值 |
|---|---|
RUST_LOG |
日志级别设置(如 info 或 error) |
EPUBS_HOST_DIR |
存储生成 EPUB 文件的目录 |
RPUB_USERNAME |
用于基本身份验证的用户名 |
RPUB_PASSWORD |
用于基本身份验证的密码 |

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 rsspub 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | services: |
然后通过 SSH 登录到您的群晖,执行下面的命令:
1 | # 新建文件夹 rsspub 和 子目录 |

运行
在浏览器中输入 http://群晖IP:3364 就能看到主界面

登录成功后的主界面

还是以老苏的博客为例
Feed URL: 订阅地址为https://laosu.tech/atom.xmlName(Optional):老苏的博客Limit(0=Uni):可以不填,默认为Unlimited

点 Generate EPUB Now 后会在后台生成 epub 文件

生成的 epub 在 epubs 目录中

打开下载的 epub 文件

格式什么的都挺不错的

通过 http://群晖IP:3364/opds 可以访问内置的 OPDS 服务

可以使用 静读天下 等客户端访问

另外 RSSPub 支持 Schedule 实现定时生成,并通过邮件自动发送 epub 到 kindle
参考文档
harshit181/RSSPub
地址:https://github.com/harshit181/RSSPub