# 夸克自动转存
一个功能强大的夸克网盘自动转存工具,支持自动转存、智能命名、文件过滤、任务管理、资源搜索、影视发现、追剧日历、文件整理、自动签到、通知推送、媒体库局部刷新等功能,让追剧更轻松!
## 项目简介
夸克自动转存(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
【电影TT】花好月圆02.mkv → 02.mkv |
| `^(\d+)\.mp4` | `S02E\1.mp4` | 01.mp4 → S02E01.mp4
02.mp4 → S02E02.mp4 |
| `(\d{4})(-?)(\d{2})(-?)(\d{2})(期?)` | `你好,星期六 - \1-\3-\5`| 2025-04-05.mp4 → 你好,星期六 - 2025-04-05.mp4
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 相关话题与经验分享,我也会在时间和精力允许的情况下参与讨论,适当解答一些问题。
## 赞赏
如果你觉得这个项目对你有用,可以考虑请我喝杯咖啡或者给我一个⭐️。谢谢你的支持!