RSSPub:RSS聚合器及EPUB生成器

在这里插入图片描述

简介

什么是 RSSPub ?

RSSPub 是一个自托管的 Rust 应用程序,旨在将用户的 RSS/Atom 订阅源转换为个人化的每日新闻报(EPUB 格式)。该工具自动抓取文章、处理图片,并将所有内容打包成可供 e-reader 或平板电脑阅读的 EPUB 文件。此外,RSSPub 还提供了一个 OPDS 订阅源,使用户能够直接下载生成的 EPUB 文件到兼容的阅读器中,如 KOReaderMoon+ Reader

主要特点

  1. RSS/Atom 解析:自动抓取和解析用户配置的 RSS/Atom 订阅源内容。
  2. EPUB 生成:将抓取的文章编译成格式良好的 EPUB 电子书。
  3. 图片优化:下载并处理图片,以提高在 e-reader 上的显示效果(如灰度、调整大小)。
  4. 网页界面:提供一个简单的网页 UI,以管理订阅源、设置生成时间表,并手动触发生成。
  5. OPDS 目录:内置 OPDS 服务器(/opds),用户可以浏览并下载生成的 EPUB 文件。
  6. 调度功能:根据用户配置的 cron 表达式自动生成 EPUB 文件。
  7. 身份验证:可选的基本身份验证,以保护应用实例。
  8. 电子邮件送达:可自动将生成的 EPUB 文件发送到配置的电子邮件地址,如 Send-to-Kindle
  9. 高性能:基于 RustAxumTokio 构建,具有高性能和低资源消耗的特点。

应用场景

  • 个人信息管理:用户可以将自己喜欢的新闻源转换为每日电子报,方便随时阅读。
  • 自托管解决方案:适合希望控制个人数据并使用自托管应用的用户。
  • 阅读优化:通过优化的 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 文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
33643000

环境

可变
RUST_LOG日志级别设置(如 infoerror
EPUBS_HOST_DIR存储生成 EPUB 文件的目录
RPUB_USERNAME用于基本身份验证的用户名
RPUB_PASSWORD用于基本身份验证的密码

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 rsspub 和 子目录
mkdir -p /volume1/docker/rsspub/{data,epubs}

# 进入 rsspub 目录
cd /volume1/docker/rsspub

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name rsspub \
   -p 3364:3000 \
   -v $(pwd)/data:/app/db \
   -v $(pwd)/epubs:/app/static/epubs \
   -e RPUB_USERNAME=laosu \
   -e RPUB_PASSWORD=123456 \
   harshit181/rsspub:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

services:
  rsspub:
    image: harshit181/rsspub:latest
    container_name: rsspub
    restart: unless-stopped
    ports:
      - "3364:3000"
    volumes:
      - ./data:/app/db
      - ./epubs:/app/static/epubs
    environment:
      - RUST_LOG=info,html5ever=error
      - RPUB_USERNAME=laosu
      - RPUB_PASSWORD=123456

然后通过 SSH 登录到您的群晖,执行下面的命令:

# 新建文件夹 rsspub 和 子目录
mkdir -p /volume1/docker/rsspub/{data,epubs}

# 进入 rsspub 目录
cd /volume1/docker/rsspub

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

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

登录成功后的主界面

还是以老苏的博客为例

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

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

生成的 epubepubs 目录中

打开下载的 epub 文件

格式什么的都挺不错的

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

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

另外 RSSPub 支持 Schedule 实现定时生成,并通过邮件自动发送 epubkindle

参考文档

harshit181/RSSPub
地址:https://github.com/harshit181/RSSPub

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杨浦老苏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值