mirror of
https://github.com/Cp0204/quark-auto-save.git
synced 2026-01-12 15:20:44 +08:00
Compare commits
2 Commits
357c59eb55
...
4e898245f6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4e898245f6 | ||
|
|
9183bd2125 |
44
README.md
44
README.md
@ -64,7 +64,7 @@
|
||||
- [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 部署
|
||||
|
||||
@ -78,7 +78,6 @@ docker run -d \
|
||||
-e WEBUI_PASSWORD=admin123 \
|
||||
-v ./quark-auto-save/config:/app/config \
|
||||
-v ./quark-auto-save/media:/media \ # 可选,模块alist_strm_gen生成strm使用
|
||||
-v /etc/localtime:/etc/localtime \ # 可选,同步宿主机时区
|
||||
--network bridge \
|
||||
--restart unless-stopped \
|
||||
cp0204/quark-auto-save:latest
|
||||
@ -103,7 +102,6 @@ services:
|
||||
volumes:
|
||||
- ./quark-auto-save/config:/app/config
|
||||
- ./quark-auto-save/media:/media
|
||||
- /etc/localtime:/etc/localtime
|
||||
```
|
||||
|
||||
管理地址:http://yourhost:5005
|
||||
@ -132,7 +130,9 @@ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtow
|
||||
|
||||
程序也支持以青龙定时任务的方式运行,但该方式无法使用 WebUI 管理任务,需手动修改配置文件。
|
||||
|
||||
青龙部署说明已转移到 Wiki :[青龙部署教程](https://github.com/Cp0204/quark-auto-save/wiki/青龙部署教程)
|
||||
青龙部署说明已转移到 Wiki :[青龙部署教程](https://github.com/Cp0204/quark-auto-save/wiki/部署教程#青龙部署)
|
||||
|
||||
## 使用说明
|
||||
|
||||
### 正则整理示例
|
||||
|
||||
@ -140,45 +140,33 @@ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtow
|
||||
| -------------------------------------- | ------------ | ---------------------------------------------------------------------- |
|
||||
| `.*` | | 无脑转存所有文件,不整理 |
|
||||
| `\.mp4$` | | 转存所有 `.mp4` 后缀的文件 |
|
||||
| `^【电影TT】形似走肉(\d+)\.(mp4\|mkv)` | `\1.\2` | 【电影TT】形似走肉01.mp4 → 01.mp4<br>【电影TT】形似走肉02.mkv → 02.mkv |
|
||||
| `^【电影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/正则处理教程)
|
||||
> [!TIP]
|
||||
>
|
||||
> **魔法匹配**:当任务 `pattern` 值为 `$开头` 且 `replace` 留空时,实际将调用程序预设的正则表达式。
|
||||
>
|
||||
> 如 `$TV` 可适配和自动整理市面上90%分享剧集的文件名格式,具体实现见代码,欢迎贡献规则。
|
||||
|
||||
### 媒体库配置
|
||||
更多正则使用说明:[正则处理教程](https://github.com/Cp0204/quark-auto-save/wiki/正则处理教程)
|
||||
|
||||
媒体库模块主要在执行任务,有新转存时触发完成相应功能,如刷新媒体库、生成 .strm 文件等。
|
||||
### 刷新媒体库
|
||||
|
||||
媒体库目前已完成模块化,可以很方便地挂载集成,如果你有兴趣请参考[媒体库模块开发指南](https://github.com/Cp0204/quark-auto-save/tree/main/media_servers)。
|
||||
在有新转存时,可触发完成相应功能,如自动刷新媒体库、生成 .strm 文件等。配置指南:[媒体库模块配置](https://github.com/Cp0204/quark-auto-save/wiki/媒体库模块配置)
|
||||
|
||||
目前已完成的模块配置参考 Wiki :[媒体库模块配置教程](https://github.com/Cp0204/quark-auto-save/wiki/媒体库模块配置教程)
|
||||
媒体库模块以模块化方式的集成,如果你有兴趣请参考[媒体库模块开发指南](https://github.com/Cp0204/quark-auto-save/tree/main/media_servers)。
|
||||
|
||||
### 特殊场景使用技巧
|
||||
### 更多使用技巧
|
||||
|
||||
#### 忽略后缀
|
||||
|
||||
- 当目录已存*01.mp4、02.mp4*,新的源又有*01.mkv、02.mkv、03.mkv*,只希望获得*03.mkv*更新时。
|
||||
|
||||
- 一个部剧同时追更两个源,看谁更新快🤪,但两个源的视频格式不一时。
|
||||
|
||||
#### 自动刷新媒体库
|
||||
|
||||
同时配置 `emby.url` `emby.apikey` 和任务的 `emby_id` ,将在新存或整理后自动刷新 Emby 媒体库、刷新元数据。
|
||||
|
||||
#### 魔法匹配
|
||||
|
||||
当任务 `pattern` 值为 `$开头` 且 `replace` 留空时,实际将调用程序预设的正则表达式。
|
||||
|
||||
如 `$TV` 可适配和自动整理市面上90%分享剧集的文件名格式,具体实现见代码,欢迎贡献规则。
|
||||
请参考 Wiki :[使用技巧集锦](https://github.com/Cp0204/quark-auto-save/wiki/使用技巧集锦)
|
||||
|
||||
## 打赏
|
||||
|
||||
如果这个项目让你受益,你可以打赏我1块钱,让我知道开源有价值。谢谢!
|
||||
|
||||
*由于微信限制,无法反向联系付款人,感谢您的支持!* 😉
|
||||
|
||||

|
||||
|
||||
## 声明
|
||||
|
||||
@ -60,7 +60,7 @@
|
||||
<div class="col">
|
||||
<h2 style="display: inline-block;">通知</h2>
|
||||
<span class="badge badge-pill badge-light">
|
||||
<a href="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" target="_blank" title="通知配置说明">?</a>
|
||||
<a href="https://github.com/Cp0204/quark-auto-save/wiki/通知推送服务配置" target="_blank" title="通知推送服务配置">?</a>
|
||||
</span>
|
||||
</div>
|
||||
<div class="col text-right">
|
||||
@ -84,7 +84,7 @@
|
||||
<div class="col">
|
||||
<h2 style="display: inline-block;">媒体库</h2>
|
||||
<span class="badge badge-pill badge-light">
|
||||
<a href="https://github.com/Cp0204/quark-auto-save/tree/main/media_servers" target="_blank" title="媒体库模块开发指南">?</a>
|
||||
<a href="https://github.com/Cp0204/quark-auto-save/wiki/媒体库模块配置" target="_blank" title="媒体库模块配置">?</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -227,7 +227,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<datalist id="magicRegex">
|
||||
<option v-for="(value, key) in formData.magic_regex" :key="key" :value="`${key}`" v-html="`${value.pattern} → ${value.replace}`"></option>
|
||||
<option v-for="(value, key) in formData.magic_regex" :key="key" :value="`${key}`" v-html="`${value.pattern.replace('<', '<\u200B')} → ${value.replace}`"></option>
|
||||
</datalist>
|
||||
</div>
|
||||
</div>
|
||||
@ -507,7 +507,7 @@
|
||||
newTask.taskname = this.taskNameFilter
|
||||
lastTask = this.formData.tasklist[this.formData.tasklist.length - 1]
|
||||
if (this.formData.tasklist.length > 0 && lastTask.taskname) {
|
||||
newTask.savepath = lastTask.savepath.replace(lastTask.taskname, 'newTask')
|
||||
newTask.savepath = lastTask.savepath.replace(lastTask.taskname, 'TASKNAME')
|
||||
} else {
|
||||
newTask.savepath = this.taskDirSelected + "/" + newTask.taskname
|
||||
}
|
||||
@ -530,7 +530,7 @@
|
||||
const matches = decodeURIComponent(task.shareurl).match(/\/(\w{32})-([^\/]+)$/);
|
||||
if (matches) {
|
||||
task.taskname = task.taskname == "" ? matches[2] : task.taskname;
|
||||
task.savepath = task.savepath.replace(/newTask/g, matches[2]);
|
||||
task.savepath = task.savepath.replace(/TASKNAME/g, matches[2]);
|
||||
}
|
||||
// 从分享中提取任务名
|
||||
axios.get('/get_share_detail', { params: { shareurl: task.shareurl } })
|
||||
@ -547,7 +547,7 @@
|
||||
this.$set(task, "shareurl_ban", response.data.error);
|
||||
} else {
|
||||
task.taskname = task.taskname == "" ? response.data.share.title : task.taskname;
|
||||
task.savepath = task.savepath.replace(/newTask/g, response.data.share.title);
|
||||
task.savepath = task.savepath.replace(/TASKNAME/g, response.data.share.title);
|
||||
this.$set(task, "shareurl_ban", undefined);
|
||||
}
|
||||
})
|
||||
|
||||
Loading…
Reference in New Issue
Block a user