mirror of
https://github.com/Cp0204/quark-auto-save.git
synced 2026-01-12 15:20:44 +08:00
217 lines
9.4 KiB
Markdown
217 lines
9.4 KiB
Markdown
<div align="center">
|
||
|
||

|
||
|
||
# 夸克网盘自动转存
|
||
|
||
夸克网盘签到、自动转存、命名整理、发推送提醒和刷新媒体库一条龙。
|
||
|
||
对于一些持续更新的资源,隔段时间去转存十分麻烦。
|
||
|
||
定期执行本脚本自动转存、文件名整理,配合 Alist, rclone, Emby 可达到自动追更的效果。🥳
|
||
|
||
|
||
[![wiki][wiki-image]][wiki-url] [![github releases][gitHub-releases-image]][github-url] [![docker pulls][docker-pulls-image]][docker-url] [![docker image size][docker-image-size-image]][docker-url]
|
||
|
||
[wiki-image]: https://img.shields.io/badge/wiki-Documents-green?logo=github
|
||
[gitHub-releases-image]: https://img.shields.io/github/v/release/Cp0204/quark-auto-save?logo=github
|
||
[docker-pulls-image]: https://img.shields.io/docker/pulls/cp0204/quark-auto-save?logo=docker&&logoColor=white
|
||
[docker-image-size-image]: https://img.shields.io/docker/image-size/cp0204/quark-auto-save?logo=docker&&logoColor=white
|
||
[github-url]: https://github.com/Cp0204/quark-auto-save
|
||
[docker-url]: https://hub.docker.com/r/cp0204/quark-auto-save
|
||
[wiki-url]: https://github.com/Cp0204/quark-auto-save/wiki
|
||
|
||

|
||
|
||
</div>
|
||
|
||
> [!CAUTION]
|
||
> ⛔️⛔️⛔️ 注意!资源不会每时每刻更新,**严禁设定过高的定时运行频率!** 以免账号风控和给夸克服务器造成不必要的压力。雪山崩塌,每一片雪花都有责任!
|
||
|
||
> [!NOTE]
|
||
> 因不想当客服处理各种使用咨询,即日起 Issues 关闭,如果你发现了 bug 、有好的想法或功能建议,欢迎通过 PR 和我对话,谢谢!
|
||
|
||
## 功能
|
||
|
||
- 部署方式
|
||
- [x] 兼容青龙
|
||
- [x] 支持 Docker 独立部署,WebUI 配置
|
||
|
||
- 分享链接
|
||
- [x] 支持分享链接的子目录
|
||
- [x] 记录失效分享并跳过任务
|
||
- [x] 支持需提取码的分享链接 <sup>[?](https://github.com/Cp0204/quark-auto-save/wiki/%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7%E9%9B%86%E9%94%A6#%E6%94%AF%E6%8C%81%E9%9C%80%E6%8F%90%E5%8F%96%E7%A0%81%E7%9A%84%E5%88%86%E4%BA%AB%E9%93%BE%E6%8E%A5)</sup>
|
||
|
||
- 文件管理
|
||
- [x] 目标目录不存在时自动新建
|
||
- [x] 跳过已转存过的文件
|
||
- [x] 正则过滤要转存的文件名
|
||
- [x] 转存后文件名整理(正则替换)
|
||
- [x] 可选忽略文件后缀
|
||
|
||
- 任务管理
|
||
- [x] 支持多组任务
|
||
- [x] 任务结束期限,期限后不执行此任务
|
||
- [x] 可单独指定子任务星期几执行
|
||
|
||
- 媒体库整合
|
||
- [x] 根据任务名搜索 Emby 媒体库
|
||
- [x] 追更或整理后自动刷新 Emby 媒体库
|
||
- [x] **媒体库模块化,用户可很方便地[开发自己的媒体库hook模块](./media_servers)**
|
||
|
||
- 其它
|
||
- [x] 每日签到领空间 <sup>[?](https://github.com/Cp0204/quark-auto-save/wiki/%E4%BD%BF%E7%94%A8%E6%8A%80%E5%B7%A7%E9%9B%86%E9%94%A6#%E6%AF%8F%E6%97%A5%E7%AD%BE%E5%88%B0%E9%A2%86%E7%A9%BA%E9%97%B4)</sup>
|
||
- [x] 支持多个通知推送渠道 <sup>[?](https://github.com/Cp0204/quark-auto-save/wiki/%E9%80%9A%E7%9F%A5%E6%8E%A8%E9%80%81%E6%9C%8D%E5%8A%A1%E9%85%8D%E7%BD%AE)</sup>
|
||
- [x] 支持多账号(多账号签到,仅首账号转存)
|
||
|
||
## 使用
|
||
|
||
### Docker 部署
|
||
|
||
Docker 部署提供 WebUI 管理配置,图形化配置已能满足绝大多数需求。部署命令:
|
||
|
||
```shell
|
||
docker run -d \
|
||
--name quark-auto-save \
|
||
-p 5005:5005 \
|
||
-e WEBUI_USERNAME=admin \
|
||
-e WEBUI_PASSWORD=admin123 \
|
||
-v ./quark-auto-save/config:/app/config \
|
||
-v ./media:/media \
|
||
-v /etc/localtime:/etc/localtime \
|
||
--network bridge \
|
||
--restart unless-stopped \
|
||
cp0204/quark-auto-save:latest
|
||
```
|
||
|
||
docker-compose.yml
|
||
|
||
```yaml
|
||
name: quark-auto-save
|
||
services:
|
||
quark-auto-save:
|
||
image: cp0204/quark-auto-save:latest
|
||
# image: registry.cn-shenzhen.aliyuncs.com/cp0204/quark-auto-save:latest
|
||
container_name: quark-auto-save
|
||
network_mode: bridge
|
||
ports:
|
||
- 5005:5005
|
||
restart: unless-stopped
|
||
environment:
|
||
WEBUI_USERNAME: "admin"
|
||
WEBUI_PASSWORD: "admin123"
|
||
volumes:
|
||
- ./quark-auto-save/config:/app/config
|
||
- ./media:/media
|
||
- /etc/localtime:/etc/localtime
|
||
```
|
||
|
||
管理地址:http://yourhost:5005
|
||
|
||
| 环境变量 | 默认 | 备注 |
|
||
| ---------------- | ---------- | -------- |
|
||
| `WEBUI_USERNAME` | `admin` | 管理账号 |
|
||
| `WEBUI_PASSWORD` | `admin123` | 管理密码 |
|
||
|
||
#### 一键更新
|
||
|
||
```shell
|
||
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR quark-auto-save
|
||
```
|
||
|
||
<details open>
|
||
<summary>WebUI 预览</summary>
|
||
|
||

|
||
|
||

|
||
|
||
</details>
|
||
|
||
### 青龙部署
|
||
|
||
程序也支持以青龙定时任务的方式运行,但该方式无法使用 WebUI 管理任务,需手动修改配置文件。
|
||
|
||
青龙部署说明已转移到 Wiki :[青龙部署教程](https://github.com/Cp0204/quark-auto-save/wiki/%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B#%E9%9D%92%E9%BE%99%E9%83%A8%E7%BD%B2)
|
||
|
||
### 正则整理示例
|
||
|
||
| pattern | replace | 效果 |
|
||
| -------------------------------------- | ------------ | ---------------------------------------------------------------------- |
|
||
| `.*` | | 无脑转存所有文件,不整理 |
|
||
| `\.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 |
|
||
| `$TV` | | [魔法匹配](#魔法匹配)剧集文件 |
|
||
| `^(\d+)\.mp4` | `$TASKNAME.S02E\1.mp4` | 01.mp4 → 任务名.S02E01.mp4 |
|
||
|
||
更多正则使用说明已转移到 Wiki :[正则处理教程](https://github.com/Cp0204/quark-auto-save/wiki/%E6%AD%A3%E5%88%99%E5%A4%84%E7%90%86%E6%95%99%E7%A8%8B)
|
||
|
||
### 媒体库配置
|
||
|
||
#### alist
|
||
|
||
用于自动刷新 Alist 目录,各配置含义如下:
|
||
|
||
* url: Alist 访问地址,例如:http://127.0.0.1:5244
|
||
* token:Alist 访问令牌,Alist 管理后台-设置-其他-令牌-复制令牌
|
||
* quark_root_path: Alist 夸克网盘的挂载路径,Alist 管理后台-存储-夸克驱动-挂载路径,默认 `/quark`
|
||
* quark_root_dir: Alist 挂载的夸克网盘根目录,Alist 管理后台-存储-夸克驱动-根文件夹ID(Alist 填写的为文件夹 ID,此处需要填写文件夹路径),默认 `/`
|
||
|
||
#### alist_strm_lite
|
||
|
||
用于从 Alist 生成 strm 文件,基于 WebDAV 实现的轻量版本,alist_strm_lite 与 alist_strm 二选一即可,各配置含义如下:
|
||
|
||
* url: Alist 访问地址,例如:http://127.0.0.1:5244
|
||
* token: Alist 访问令牌,Alist 管理后台-设置-其他-令牌-复制令牌
|
||
* quark_root_path: Alist 夸克网盘的挂载路径,Alist 管理后台-存储-夸克驱动-挂载路径,默认 `/quark`
|
||
* quark_root_dir: Alist 挂载的夸克网盘根目录,Alist 管理后台-存储-夸克驱动-根文件夹ID(Alist 填写的为文件夹 ID,此处需要填写文件夹路径),默认 `/`
|
||
* strm_save_dir: strm 文件保存路径,如使用 docker 对应 docker 内部路径,默认 `/media`
|
||
* strm_url_host: strm 文件内链接使用的主机地址,例如:http://example.host ,配合自定义 host 解析在 strm 文件迁移机器时无需重新生成 strm 文件,修改自定义 host 解析地址即可,默认为空时使用 url 配置
|
||
|
||
#### alist_strm
|
||
|
||
用于从 Alist 生成 strm 文件,需配合 [alist-strm](https://github.com/tefuirZ/alist-strm) 项目使用,alist_strm_lite 与 alist_strm 二选一即可,各配置含义如下:
|
||
|
||
* url: alist-strm 访问地址,例如:http://127.0.0.1:5000
|
||
* cookie: alist-strm 的访问 cookie
|
||
* config_id: alist-strm 的配置 ID
|
||
|
||
#### emby
|
||
|
||
用于自动扫描媒体库文件,各配置含义如下:
|
||
|
||
* url: Emby 访问地址,例如:http://127.0.0.1:8096
|
||
* token: Emby API 密钥,管理 Emby Server-高级-API 密钥-新 API 密钥
|
||
|
||
### 特殊场景使用技巧
|
||
|
||
#### 忽略后缀
|
||
|
||
- 当目录已存*01.mp4、02.mp4*,新的源又有*01.mkv、02.mkv、03.mkv*,只希望获得*03.mkv*更新时。
|
||
|
||
- 一个部剧同时追更两个源,看谁更新快🤪,但两个源的视频格式不一时。
|
||
|
||
#### 自动刷新媒体库
|
||
|
||
同时配置 `emby.url` `emby.apikey` 和任务的 `emby_id` ,将在新存或整理后自动刷新 Emby 媒体库、刷新元数据。
|
||
|
||
#### 魔法匹配
|
||
|
||
当任务 `pattern` 值为 `$开头` 且 `replace` 留空时,实际将调用程序预设的正则表达式。
|
||
|
||
如 `$TV` 可适配和自动整理市面上90%分享剧集的文件名格式,具体实现见代码,欢迎贡献规则。
|
||
|
||
## 打赏
|
||
|
||
如果这个项目让你受益,你可以打赏我1块钱,让我知道开源有价值。谢谢!
|
||
|
||
*由于微信限制,无法反向联系付款人,感谢您的支持!* 😉
|
||
|
||

|
||
|
||
## 声明
|
||
|
||
本程序为个人兴趣开发,开源仅供学习与交流使用。
|
||
|
||
程序没有任何破解行为,只是对于夸克已有的API进行封装,所有数据来自于夸克官方API,本人不对网盘内容负责、不对夸克官方API未来可能的改动导致的后果负责。 |