quark-auto-save/README.md
2026-01-03 15:39:43 +08:00

356 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 夸克自动转存
一个功能强大的夸克网盘自动转存工具,支持自动转存、智能命名、文件过滤、任务管理、资源搜索、影视发现、追剧日历、文件整理、自动签到、通知推送、媒体库局部刷新等功能,让追剧更轻松!
## 项目简介
夸克自动转存Quark Auto Save X 简称 QASX是一个基于 Flask 的 Web 应用,提供夸克网盘自动转存功能,可以帮助你:
- 🔄 **自动转存**:定时或自动(根据节目状态和任务进度)运行,自动转存夸克网盘分享链接中的文件
- 📝 **智能命名**:支持正则、顺序、剧集三种命名模式,自动整理文件名
- 🧩 **文件过滤**:通过过滤规则排除不需要的文件或文件夹,支持高级过滤功能
- 📊 **任务管理**:支持多任务管理,支持全局统一设置及单任务独立设置,支持任务筛选和排序
- 🔍 **资源搜索**:智能搜索夸克网盘资源,自动填充分享链接,支持自动过滤失效链接
- 🎬 **影视发现**:浏览豆瓣热门影视榜单,一键快速创建任务,智能填充配置
- 📅 **追剧日历**:追踪节目播出时间,了解转存进度,支持海报视图和日历视图
- 📁 **文件整理**:浏览和管理多个夸克账号的网盘文件,支持单项/批量重命名、移动、删除等操作
-**自动签到**:每日自动签到领空间
- 🔔 **通知推送**:支持多个通知推送渠道,及时了解转存状态
- 🔌 **插件系统**支持多种插件扩展功能包括媒体库局部刷新、下载任务推送、strm 文件生成等
配合 AList/OpenList、Rclone、CloudDrive、Emby、Plex 等工具,可以实现从转存到播放的完整自动化流程。
## 核心功能
### 自动转存
- 支持分享链接自动转存
- 支持分享链接的子目录转存
- 支持需提取码的分享链接
- 支持定时运行和自动运行(根据节目播出时间智能执行任务,任务进度达到 100% 后自动跳过)
- 智能搜索资源并自动填充(集成 CloudSaver、PanSou支持自动过滤失效链接
- 记录失效分享并跳过任务
- 支持跳过已转存过的文件(即使删除网盘文件,也不会重复转存)
- 支持一次性转存任务(执行完成后自动删除任务)
### 智能命名
支持三种命名模式,系统会根据匹配表达式自动识别并切换:
1. **正则命名**:使用正则表达式匹配和替换文件名
- 支持完整的正则表达式语法,可精确匹配文件名模式
- 支持捕获组和反向引用(如 `\1`、`\2`),可灵活重组文件名
- 支持仅匹配不替换(用于文件过滤)
- 可同时处理文件名与扩展名
2. **顺序命名**:使用 `{}` 占位符,按文件顺序自动编号
- 系统自动识别 `{}` 占位符并切换为顺序命名模式
- 按智能排序自动编号,接续目标目录或转存记录中的最大序号
- 编号格式自动补零(默认两位),保持文件名长度一致
3. **剧集命名**:使用 `[]` 占位符,从原文件名提取集编号
- 系统自动识别 `[]` 占位符并切换为剧集命名模式
- 智能识别原文件名中的集编号信息(支持多种集数格式)
- 自动提取集编号并填充到指定位置,保持原有集数信息
### 文件过滤
- 支持使用过滤词过滤不需要的文件或文件夹
- 支持高级过滤功能(保留词和过滤词组合使用)
- 支持按文件扩展名过滤
- 支持忽略文件后缀(转存时仅比较文件名,避免同名不同格式文件重复转存)
### 任务管理
- 多组任务并行管理
- 支持自定义定时规则(支持随机延迟)
- 两种执行周期模式:
- **自选模式**:按自定义周期执行
- **自动模式**:按任务进度执行,进度达到 100% 后自动跳过
- 任务类型筛选(剧集、动画、综艺等)
- 任务排序(按任务编号、名称、进度、更新时间、播出时间)
- 任务视图切换(列表视图、海报视图)
- 支持设置默认(或继承)保存路径和命名规则
### 资源搜索
- 智能搜索夸克网盘资源
- 根据任务名称自动搜索相关分享链接
- 自动填充分享链接到任务配置
- 自动过滤失效链接
- 支持跳转 Google、TMDB 和豆瓣搜索相关资源或信息
### 影视发现
- 浏览豆瓣热门影视榜单
- 一键快速创建任务(支持一次性任务)
- 智能填充任务配置
### 追剧日历
- 查看任务对应电视节目的播出时间表
- 追踪电视节目的播出情况
- 了解任务的完成进度
- 支持海报视图和日历视图
- 显示单集的准确播出状态
### 文件整理
- 浏览和管理多个夸克账号的网盘文件
- 单项/批量重命名(支持应用完整的命名、过滤规则)
- 支持撤销重命名
- 单项/批量移动文件、删除文件
- 新建文件夹、删除文件夹
### 插件系统
- **AList**:自动局部刷新 AList 目录
- **AList Strm**:配合 AList-Strm 项目,触发特定配置运行
- **AList Strm Gen**:自动生成 strm 文件
- **Aria2**:自动添加下载任务,支持转存后自动删除网盘文件
- **Emby**:自动局部刷新 Emby 媒体库
- **Plex**:自动局部刷新 Plex 媒体库
- 支持自定义插件开发
### 转存记录
- 数据库记录所有转存历史
- 通过 WebUI 查看、查询、筛选历史转存记录
- 支持删除转存记录
- 显示当日更新标识
### 任务匹配
- 通过 TMDB API 自动匹配电视节目元数据(支持修正匹配)
- 获取节目海报(支持更换海报)和播出时间(支持通过 Trakt API 获取或自定义)
- 显示集数信息统计
- 显示当前任务进度和电视节目状态
### 其他功能
- 每日签到领空间(需配置移动端账号参数)
- 支持多个通知推送渠道
- 支持多账号(多账号签到、文件管理,仅首账号转存)
- 运行日志查看(支持筛选和搜索)
- 支持设置任务截止日期
- 支持选择转存起始文件
- 支持添加自定义魔法匹配(正则匹配和替换表达式)
- 支持添加自定义集编号识别规则
- 支持自定义 WebUI 上部分元素的显示方式和顺序
## 快速开始
### 前置要求
- Docker 或支持 Python 3 的环境
- 夸克网盘账号 Cookie用于转存和签到
### Docker 部署(推荐)
#### Docker Run
```bash
docker run -d \
--name quark-auto-save-x \
-p 5005:5005 \
-v /自定义配置文件的存储目录/quark-auto-save-x/config:/app/config \
-v /自定义生成文件的存储目录:/media \ # 可选,插件 alist_strm_gen 生成 strm 使用
--restart unless-stopped \
x1ao4/quark-auto-save-x:latest
```
#### Docker Compose
```yaml
services:
quark-auto-save-x:
image: x1ao4/quark-auto-save-x:latest
container_name: quark-auto-save-x
ports:
- 5005:5005
volumes:
- /自定义配置文件的存储目录/quark-auto-save-x/config:/app/config
- /自定义生成文件的存储目录:/media # 可选,插件 alist_strm_gen 生成 strm 使用
restart: unless-stopped
```
### 环境变量
| 环境变量 | 说明 |
| ---------------- | ------------------------------------ |
| `WEBUI_USERNAME` | WebUI 登录用户名默认admin |
| `WEBUI_PASSWORD` | WebUI 登录密码默认admin |
| `PLUGIN_FLAGS` | 指定要禁用的插件,如 `-emby, -aria2, -alist_strm`(默认:全部启用) |
| `PORT` | 端口号默认5005 |
| `DEBUG` | 调试模式开关,`true` 或 `false`(默认:关闭) |
### 访问 WebUI
部署完成后,可通过 `http://yourhost:5005` 访问 WebUI默认用户名/密码:`admin`。首次登录后请立即修改默认密码!
## 使用指南
### 1. 配置夸克账号
在 WebUI 的「系统配置」页面,添加夸克网盘的 Cookie
1. 登录夸克网盘网页版
2. 打开浏览器开发者工具F12
3. 在 Network 标签中找到任意请求
4. 复制请求头中的 `Cookie`
5. 粘贴到 WebUI 的「账号设置」中
### 2. 配置插件和三方服务
系统支持多种插件和三方服务,可根据需求选择配置:
#### 插件(按需配置)
支持的插件包括:
* **AList**、**AList Strm**、**AList Strm Gen**、**Aria2**、**Emby**、**Plex**
配置后,插件会自动执行对应功能(如刷新媒体库、添加下载任务或生成 strm 文件),无需手动干预。
#### 三方服务(建议配置)
支持的三方服务包括:
* **TMDB**:用于匹配电视节目元数据、获取海报、显示集数信息
* **Trakt**:用于获取准确播出时间、追踪播出进度
* **CloudSaver/PanSou**:用于智能搜索网盘资源并自动填充分享链接
配置后,相关功能会自动生效,无需额外操作。
### 3. 创建转存任务
#### 方式一:从任务列表创建
1. 进入「任务列表」页面
2. 点击「添加/创建任务」按钮
3. 填写任务信息:
- **任务名称**:用于标识任务和匹配元数据
- **分享链接**:夸克网盘分享链接
- **保存路径**:转存后的文件保存路径
- **匹配表达式**:用于匹配和命名文件的表达式
- **替换表达式**:用于替换文件名的表达式(可选)
- **过滤规则**:过滤不需要的文件或文件夹(可选)
#### 方式二:从影视发现创建
1. 进入「影视发现」页面
2. 浏览豆瓣热门影视榜单
3. 点击「创建任务」按钮
4. 系统会自动填充任务配置(建议先在「系统配置」的「任务设置」中完成自定义设置)
### 4. 命名规则示例
#### 正则命名
| 匹配表达式 | 替换表达式 | 效果 |
| -------------------------------------- | ---------------------- | ---------------------------------------------------------------------- |
| `.*` | | 转存所有文件,不整理 |
| `\.mp4$` | | 转存所有 `.mp4` 后缀的文件 |
| `^【电影TT】花好月圆(\d+)\.(mp4\|mkv)` | `\1.\2` | 【电影TT】花好月圆01.mp4 → 01.mp4<br>【电影TT】花好月圆02.mkv → 02.mkv |
| `^(\d+)\.mp4` | `S02E\1.mp4` | 01.mp4 → S02E01.mp4<br>02.mp4 → S02E02.mp4 |
| `(\d{4})(-?)(\d{2})(-?)(\d{2})(期?)` | `你好,星期六 - \1-\3-\5`| 2025-04-05.mp4 → 你好,星期六 - 2025-04-05.mp4<br>20250412期.mp4 → 你好,星期六 - 2025-04-12.mp4|
#### 顺序命名
使用 `{}` 占位符,系统会自动按文件顺序智能编号:
- 匹配表达式:`乘风2025 - S06E{}`
- 效果:文件会按顺序命名为 `乘风2025 - S06E01`、`乘风2025 - S06E02` 等
#### 剧集命名
使用 `[]` 占位符,系统会从原文件名提取集编号:
- 匹配表达式:`黑镜 - S07E[]`
- 效果:从原文件名提取集编号,如 `黑镜 - S07E01`、`黑镜 - S07E02` 等
### 5. 过滤规则
#### 基础过滤
使用逗号分隔的过滤词:
```
超前,加更,训练,蒸蒸,纯享,团播,抢先
```
#### 高级过滤
使用 `|` 分隔保留词和过滤词:
- `保留词|过滤词`:先筛选包含保留词的文件,再过滤包含过滤词的文件
- `保留词1保留词2|过滤词`:多个保留词(或关系)
- `保留词1|保留词2|过滤词`:多个保留词(并关系)
示例:
```
期|加更,企划,超前
```
表示:先筛选出文件名包含 “期” 的文件,然后从中过滤掉包含 “加更”、“企划”、“超前” 的文件。
### 6. 执行周期设置
#### 自选模式
手动设置执行周期(如每天、每周等)。
#### 自动模式
系统会根据任务进度自动判断:
- 如果已播出的最新集已完成转存,后续定时任务将自动跳过该任务
- 如果已播出的集还有没转存的,任务会在每次定时时间执行,直到进度到达 100%
这样可以有效减少播出前和转存后的无意义执行。
## 更多文档
- [基础配置](https://github.com/x1ao4/quark-auto-save-x/wiki/使用技巧集锦)
- [命名规则](https://github.com/x1ao4/quark-auto-save-x/wiki/命名规则)
- [定时规则](https://github.com/x1ao4/quark-auto-save-x/wiki/定时规则)
- [任务设置](https://github.com/x1ao4/quark-auto-save-x/wiki/影视发现任务设置)
- [插件设置](https://github.com/x1ao4/quark-auto-save-x/wiki/插件设置)
- [通知设置](https://github.com/x1ao4/quark-auto-save-x/wiki/通知设置)
- [性能设置](https://github.com/x1ao4/quark-auto-save-x/wiki/性能设置)
- [显示设置](https://github.com/x1ao4/quark-auto-save-x/wiki/显示设置)
- [资源搜索](https://github.com/x1ao4/quark-auto-save-x/wiki/资源搜索)
- [插件开发](./plugins/README.md)
## 重要提示
1. **定时频率**:资源不会每时每刻更新,严禁设置过高的定时运行频率!以免账号风控或者给夸克服务器造成不必要的压力。
2. **账号安全**:请妥善保管你的 Cookie不要泄露给他人。
3. **项目状态**:本项目为个人定制项目,代码由 AI 辅助完成可能存在未修复缺陷我会确保自身使用所需的核心功能正常运行Issues 仅用于问题反馈,不承诺长期维护或全部修复,使用风险需自行承担。
## 版权
- **原项目**Copyright (C) Cp0204 - [Cp0204/quark-auto-save](https://github.com/Cp0204/quark-auto-save)
- **本项目**Copyright (C) 2025-2026 x1ao4 - [x1ao4/quark-auto-save-x](https://github.com/x1ao4/quark-auto-save-x)
本项目基于 [Cp0204/quark-auto-save:0.5.3.1](https://github.com/Cp0204/quark-auto-save/releases/tag/v0.5.3.1) 进行二次开发,包含大量功能扩展与代码重构,新增和修改部分的版权归 x1ao4 所有。
## 声明
本项目基于个人兴趣开发并开源,仅供学习与交流使用,不包含任何破解行为,只是对夸克官方 API 的封装与调用,所有数据均来源于夸克官方,本人不对网盘内容及官方 API 变更所导致的任何后果负责。
## 致谢
本项目基于 [Cp0204/quark-auto-save:0.5.3.1](https://github.com/Cp0204/quark-auto-save/releases/tag/v0.5.3.1) 进行二次开发,感谢 [Cp0204](https://github.com/Cp0204) 的开源贡献。
## 交流
你可以凭借赞赏(金额不限)截图加入 QASX 的微信交流群(我的微信 x1ao-4备注 QASX讨论与 QASX 相关的话题,领取与夸克网盘相关的福利。该群主要用于交流 QASX 相关话题与经验分享,我也会在时间和精力允许的情况下参与讨论,适当解答一些问题。
## 赞赏
如果你觉得这个项目对你有用,可以考虑请我喝杯咖啡或者给我一个⭐️。谢谢你的支持!
<img width="383" alt="赞赏" src="https://github.com/user-attachments/assets/bdd2226b-6282-439d-be92-5311b6e9d29c">