云母是一套面向 PT 用户的 Web 管理工具,提供自动追剧、电影订阅、多站资源搜索、qBittorrent 下载、RSS 任务、刷流任务和站点数据总览。
仓库、二进制、Docker 镜像和数据库文件仍使用 rflush 名称,对外产品名为“云母”。
- 从 TMDB 搜索电影、电视剧和动漫并创建订阅
- 自动识别季、集、动画绝对集和已播出目标
- 并发搜索多个 NexusPHP、M-Team 站点
- 解析分辨率、片源和视频编码,按质量规则筛选排序
- 提供电视剧、电影、动漫的内置质量方案
- 手动搜索资源,查看匹配结果、拒绝原因和质量信息
- 自动或手动提交资源到 qBittorrent
- 使用持久化下载队列处理重试、去重和状态对账
- 管理 RSS 下载任务和 PT 刷流任务
- 查看 PT 站点上传量、下载量、分享率等账号数据
- 导出站点账号总览图片
- React Web 界面,适配桌面端和移动端
配置、订阅、下载记录和运行状态保存在 SQLite 数据库中,默认路径为 data/rflush.db。
从 GitHub Releases 下载对应平台的压缩包,解压后运行:
# Linux
./rflush
# Windows PowerShell
.\rflush.exe默认访问地址:
http://127.0.0.1:3000
常用启动参数:
-H, --host <HOST> 监听地址,默认 127.0.0.1
-p, --port <PORT> 监听端口,默认 3000
-d, --data-dir <DIR> 数据库和运行数据目录
示例:
./rflush -H 127.0.0.1 -p 8080 -d ./runtime-data对应环境变量为 RFLUSH_HOST、RFLUSH_PORT 和 RFLUSH_DATA_DIR。
镜像支持 Linux amd64 和 arm64:
docker run --name rflush \
-p 127.0.0.1:3000:3000 \
-v $(pwd)/data:/data \
ghcr.io/imythu/rflush:latest指定版本:
docker run --name rflush \
-p 127.0.0.1:3000:3000 \
-v $(pwd)/data:/data \
ghcr.io/imythu/rflush:<version>容器默认使用:
RFLUSH_HOST=0.0.0.0
RFLUSH_PORT=3000
RFLUSH_DATA_DIR=/data
建议按以下顺序完成配置:
- 在“站点管理”中添加 PT 站点并测试连接。
- 在“下载器”中添加 qBittorrent 并测试连接。
- 在“自动追剧 -> 质量与设置”中填写 TMDB API Key 或 Read Access Token。
- 检查自动扫描间隔、搜索并发和质量配置。
- 从 TMDB 添加订阅,或进入“资源搜索”手动查找资源。
自动追剧和资源搜索复用同一套站点、下载器和质量配置,不需要重复维护账号。
- 打开“自动追剧”。
- 进入“TMDB 添加”。
- 搜索影视名称并选择电影、电视剧或动漫。
- 电视剧选择季和起始集;动漫可使用季集编号或绝对集编号。
- 选择质量配置、搜索站点、下载器和保存路径。
- 创建订阅。
创建后,系统会根据 TMDB 元数据确定当前应搜索的电影或剧集。尚未播出的集数不会提前下载;成功提交当前集后,订阅会推进到下一集。
订阅支持:
- 手动立即扫描
- 暂停和恢复
- 修改季、起始集、绝对集、站点、质量配置和下载器
- 查看最近一次扫描使用的搜索词、候选、站点错误和拒绝原因
- 查看关联下载任务及其状态
每次扫描会依次执行:
生成搜索词
-> 多站并发搜索
-> 解析发布名称
-> 校验影视标题、年份、季和集
-> 应用质量规则
-> 按匹配分、质量和做种数排序
-> 将最佳资源加入下载队列
错剧、错季、错集、被禁止的质量和做种数不足属于明确拒绝条件,不会因为其它项目得分较高而被自动下载。
新建质量配置时,可以直接选择内置方案,小白用户不需要填写专业参数:
| 类型 | 方案 | 主要偏好 |
|---|---|---|
| 电视剧 | 日常 | 1080p WEB-DL 优先,兼顾更新速度和体积 |
| 电视剧 | 4K | 2160p WEB-DL 优先,1080p 作为备选 |
| 电影 | 收藏 | 2160p、REMUX、BluRay 优先 |
| 电影 | 均衡 | 1080p BluRay、WEB-DL 优先 |
| 动漫 | 日常 | 2160p 优先,兼容常见字幕组命名 |
| 动漫 | 省空间 | 1080p H.265、AV1 优先,拒绝 4K |
高级设置可以调整:
- 分辨率优先级、允许值和拒绝值
- 片源优先级和允许值,例如
REMUX、BluRay、WEB-DL、WEBRip - 视频编码优先级和拒绝值,例如
H265、H264、AV1 - 最低匹配分
- 最低做种数
- 是否接受质量信息不完整的资源
资源标题中的 DIY、HDR、Dolby Vision、Dolby Atmos、10bit 等信息会保留供人工判断。当前自动质量筛选主要依据分辨率、片源和视频编码。
“恢复默认”会删除现有质量配置、重建六套内置方案,并把全部订阅切换到“电视剧 · 日常”。界面会进行两次后果确认,该操作不可撤销。
“资源搜索”支持两种用法。
适合临时查找资源:
- 输入影视名称、季集或其它关键词。
- 选择一个或多个 PT 站点。
- 可选质量配置,用于筛选和排序。
- 点击搜索。
- 查看候选后选择下载器并加入下载队列。
适合为当前追剧目标手动选种:
- 在资源搜索中选择已有订阅。
- 系统自动带入当前电影、季集或动画绝对集目标。
- 搜索结果会经过与自动扫描相同的身份和质量校验。
- 选择候选并下载。
这种方式比纯关键词搜索更严格,可以识别错剧、错季和错集。
每个候选会展示:
- 站点、标题、大小、做种数和发布时间
- 解析出的分辨率、片源、编码、季和集
- 是否通过自动匹配
- 匹配分和拒绝原因
- 下载状态
部分站点搜索失败时,其它站点的结果仍会返回。认证过期、限流和页面解析失败会分别展示,不会把“某个站点失败”误报为“没有资源”。
如果资源未通过规则,仍可手动覆盖,但必须填写覆盖原因。覆盖只影响本次下载,不会修改质量配置。
自动追剧和手动搜索共用同一下载队列。任务会经历取种、校验、提交、对账、完成或失败等状态。
系统会:
- 解析
.torrent并计算真实 infohash - 按下载器和 infohash 防止重复提交
- 在网络失败或临时错误后重试
- 在提交结果不明确时查询 qBittorrent 状态后再决定是否重试
- 在最终失败后把关联剧集恢复为待搜索状态
- 创建多个 RSS 任务并设置独立目录
- 启动、暂停、删除单个或多个任务
- 设置请求重试、限速和并发
- 查看下载历史和执行结果
- 删除任务时可选择清理已下载的种子文件
- 绑定 PT 站点和 qBittorrent 下载器
- 使用 cron 定时执行或手动立即执行
- 按体积、做种数、促销类型、H&R 等条件选种
- 按做种时间、分享率、上传量、速度和活跃状态删种
- 查看任务统计、种子状态和流量快照
免费种和 H&R 信息优先使用 RSS 扩展属性;信息不足时,系统可从支持的站点详情页或 API 补充判定。
- PT 搜索:NexusPHP API、NexusPHP Cookie HTML、M-Team
- 下载器:qBittorrent
- 影视来源:TMDB
movie和tv - 剧集编号:标准季集、中文季集、动画绝对集
- 视频质量:常见 480p 至 4K/8K、REMUX/BluRay/WEB、H.264/H.265/AV1 等发布名
当前未实现 scene/XEM 编号映射、每日剧日期编号、整季自动升级、更多下载器和通知渠道。搜索结果质量依赖站点返回信息和发布名称;无法可靠解析的资源不会被自动下载。
云母当前不内置用户认证。默认只监听 127.0.0.1。
如果监听 0.0.0.0、暴露到局域网或通过公网访问,必须自行限制网络访问,并放在带身份认证的反向代理后。CORS 限制不能替代身份认证。
TMDB Token、PT Cookie、API Key、Passkey 和下载器密码保存在本地 SQLite 中。请保护数据目录和备份,不要公开数据库文件。
接口不会在站点、下载器和媒体设置响应中回传已保存的明文凭据。更新配置时留空会保留原值,只有明确执行清除操作才会删除凭据。
默认目录:
./data/rflush.db
使用 --data-dir 后:
<data-dir>/rflush.db
主要数据包括:
- 全局下载设置和 RSS 任务
- PT 站点、账号数据缓存和下载器配置
- 刷流任务、种子记录和流量快照
- TMDB 设置和质量配置
- 影视订阅、订阅目标和搜索快照
- 媒体下载队列、重试和对账状态
升级或迁移前建议备份整个数据目录。
后端:
cargo run前端:
cd frontend
npm install
npm run dev前端开发服务器默认运行在 http://127.0.0.1:5173,并将 /api 请求代理到 http://127.0.0.1:3000。
本地构建:
cd frontend
npm install
npm run build
cd ..
cargo build --release发布构建会将 frontend/dist 嵌入 Rust 可执行文件。
本项目的自动追剧与资源搜索设计参考了以下开源项目:
- Sonarr:参考了剧集订阅、季集目标推进、质量配置、发布名称解析、候选筛选以及自动下载的整体产品思路。
- pt_mate:参考了 PT 多站资源聚合搜索、NexusPHP 与 M-Team 站点适配、搜索结果归一化和资源获取流程。
云母没有直接照搬这些项目的实现,而是结合当前 Rust 后端、SQLite 状态管理、React 前端和已有 PT 站点配置体系重新设计并独立实现。感谢相关项目及其贡献者提供的思路和开源成果。
将当前目录一级子目录中的 .torrent 文件合并到 merge/:
# Windows
.\merge.ps1
# Linux / macOS
chmod +x merge.sh
./merge.sh脚本会跳过 merge/、src/、target/、frontend/、data/ 等目录;同名文件不会覆盖。