Skip to content

imythu/rflush

Repository files navigation

云母

GitHub Release Docker Image

云母是一套面向 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_HOSTRFLUSH_PORTRFLUSH_DATA_DIR

Docker

镜像支持 Linux amd64arm64

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

首次配置

建议按以下顺序完成配置:

  1. 在“站点管理”中添加 PT 站点并测试连接。
  2. 在“下载器”中添加 qBittorrent 并测试连接。
  3. 在“自动追剧 -> 质量与设置”中填写 TMDB API Key 或 Read Access Token。
  4. 检查自动扫描间隔、搜索并发和质量配置。
  5. 从 TMDB 添加订阅,或进入“资源搜索”手动查找资源。

自动追剧和资源搜索复用同一套站点、下载器和质量配置,不需要重复维护账号。

自动追剧

创建订阅

  1. 打开“自动追剧”。
  2. 进入“TMDB 添加”。
  3. 搜索影视名称并选择电影、电视剧或动漫。
  4. 电视剧选择季和起始集;动漫可使用季集编号或绝对集编号。
  5. 选择质量配置、搜索站点、下载器和保存路径。
  6. 创建订阅。

创建后,系统会根据 TMDB 元数据确定当前应搜索的电影或剧集。尚未播出的集数不会提前下载;成功提交当前集后,订阅会推进到下一集。

订阅支持:

  • 手动立即扫描
  • 暂停和恢复
  • 修改季、起始集、绝对集、站点、质量配置和下载器
  • 查看最近一次扫描使用的搜索词、候选、站点错误和拒绝原因
  • 查看关联下载任务及其状态

自动匹配流程

每次扫描会依次执行:

生成搜索词
  -> 多站并发搜索
  -> 解析发布名称
  -> 校验影视标题、年份、季和集
  -> 应用质量规则
  -> 按匹配分、质量和做种数排序
  -> 将最佳资源加入下载队列

错剧、错季、错集、被禁止的质量和做种数不足属于明确拒绝条件,不会因为其它项目得分较高而被自动下载。

质量配置

新建质量配置时,可以直接选择内置方案,小白用户不需要填写专业参数:

类型 方案 主要偏好
电视剧 日常 1080p WEB-DL 优先,兼顾更新速度和体积
电视剧 4K 2160p WEB-DL 优先,1080p 作为备选
电影 收藏 2160p、REMUX、BluRay 优先
电影 均衡 1080p BluRay、WEB-DL 优先
动漫 日常 2160p 优先,兼容常见字幕组命名
动漫 省空间 1080p H.265、AV1 优先,拒绝 4K

高级设置可以调整:

  • 分辨率优先级、允许值和拒绝值
  • 片源优先级和允许值,例如 REMUXBluRayWEB-DLWEBRip
  • 视频编码优先级和拒绝值,例如 H265H264AV1
  • 最低匹配分
  • 最低做种数
  • 是否接受质量信息不完整的资源

资源标题中的 DIY、HDR、Dolby Vision、Dolby Atmos、10bit 等信息会保留供人工判断。当前自动质量筛选主要依据分辨率、片源和视频编码。

“恢复默认”会删除现有质量配置、重建六套内置方案,并把全部订阅切换到“电视剧 · 日常”。界面会进行两次后果确认,该操作不可撤销。

资源搜索与下载

“资源搜索”支持两种用法。

按关键词搜索

适合临时查找资源:

  1. 输入影视名称、季集或其它关键词。
  2. 选择一个或多个 PT 站点。
  3. 可选质量配置,用于筛选和排序。
  4. 点击搜索。
  5. 查看候选后选择下载器并加入下载队列。

按订阅目标搜索

适合为当前追剧目标手动选种:

  1. 在资源搜索中选择已有订阅。
  2. 系统自动带入当前电影、季集或动画绝对集目标。
  3. 搜索结果会经过与自动扫描相同的身份和质量校验。
  4. 选择候选并下载。

这种方式比纯关键词搜索更严格,可以识别错剧、错季和错集。

理解搜索结果

每个候选会展示:

  • 站点、标题、大小、做种数和发布时间
  • 解析出的分辨率、片源、编码、季和集
  • 是否通过自动匹配
  • 匹配分和拒绝原因
  • 下载状态

部分站点搜索失败时,其它站点的结果仍会返回。认证过期、限流和页面解析失败会分别展示,不会把“某个站点失败”误报为“没有资源”。

如果资源未通过规则,仍可手动覆盖,但必须填写覆盖原因。覆盖只影响本次下载,不会修改质量配置。

下载队列

自动追剧和手动搜索共用同一下载队列。任务会经历取种、校验、提交、对账、完成或失败等状态。

系统会:

  • 解析 .torrent 并计算真实 infohash
  • 按下载器和 infohash 防止重复提交
  • 在网络失败或临时错误后重试
  • 在提交结果不明确时查询 qBittorrent 状态后再决定是否重试
  • 在最终失败后把关联剧集恢复为待搜索状态

RSS 与刷流

RSS 任务

  • 创建多个 RSS 任务并设置独立目录
  • 启动、暂停、删除单个或多个任务
  • 设置请求重试、限速和并发
  • 查看下载历史和执行结果
  • 删除任务时可选择清理已下载的种子文件

刷流任务

  • 绑定 PT 站点和 qBittorrent 下载器
  • 使用 cron 定时执行或手动立即执行
  • 按体积、做种数、促销类型、H&R 等条件选种
  • 按做种时间、分享率、上传量、速度和活跃状态删种
  • 查看任务统计、种子状态和流量快照

免费种和 H&R 信息优先使用 RSS 扩展属性;信息不足时,系统可从支持的站点详情页或 API 补充判定。

支持范围

  • PT 搜索:NexusPHP API、NexusPHP Cookie HTML、M-Team
  • 下载器:qBittorrent
  • 影视来源:TMDB movietv
  • 剧集编号:标准季集、中文季集、动画绝对集
  • 视频质量:常见 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/ 等目录;同名文件不会覆盖。

About

面向 PT 用户的自动追剧与资源管理工具,支持 TMDB 影视订阅、多站聚合搜索、智能质量匹配、qBittorrent 自动下载、RSS 与刷流任务管理。 > An automated media tracking and PT resource manager featuring TMDB subscriptions, multi-tracker search, intelligent quality matching, qBittorrent downloads, RSS feeds, and seeding task automation.

Topics

Resources

Stars

9 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors