Merge pull request #625 from Geeksun2018/main

setting qbittorrent doesn't create sub folders
This commit is contained in:
Estrella Pan
2023-11-22 14:32:16 +08:00
committed by GitHub
42 changed files with 362 additions and 420 deletions

View File

@@ -6,8 +6,8 @@ body:
- type: markdown
attributes:
value: |
描述问题前,请先更新到最新版本。2.5 之前的版本升级请参考 [升级指南](https://www.autobangumi.org/changelog/2.6.html#如何从老版本更新的注意事项)
请确认以下信息,如果你的问题可以直接在文档中找到,那么你的 issue 将会被直接关闭。
描述问题前,请先更新到最新版本。
请确认以下信息,如果你没有完成以下检查,那么你的 issue 将会被直接关闭。
解析器问题请转到[专用模板](https://github.com/EstrellaXD/Auto_Bangumi/issues/new?assignees=&labels=bug&template=parser_bug.yml&title=%5B解析器错误%5D)
重命名问题请到[专用模板](https://github.com/EstrellaXD/Auto_Bangumi/issues/new?assignees=&labels=bug&template=rename_bug.yml&title=%5B重命名错误%5D)
- type: checkboxes

View File

@@ -178,3 +178,13 @@ gitGraph:
而新功能的发版时间则会更长而且不定,你可以在我们的 [GitHub Project](https://github.com/EstrellaXD/Auto_Bangumi/projects?query=is%3Aopen) 看板中看到开发进度,一个版本规划的新功能都开发完备后就会发版。
## 贡献文档
如果要为文档做贡献,请注意以下几点:
- 更新分支为 `docs-update`,并基于它做修改.
- 请确保你的 PR 标题和描述中包含了你的修改的目的和意图。
撰写文档请尽量使用规范的书面化用语,遵照 Markdown 语法,以及 [中文文案排版指北](https://github.com/sparanoid/chinese-copywriting-guidelines) 中的规范。

View File

@@ -90,6 +90,7 @@ class QbDownloader:
save_path=save_path,
category=category,
use_auto_torrent_management=False,
content_layout="NoSubFolder"
)
return resp == "Ok."

View File

@@ -14,7 +14,6 @@ export default defineConfig({
['meta', {property: 'og:image', content: '/social.png'}],
['meta', {property: 'og:site_name', content: 'AutoBangumi'}],
['meta', {property: 'og:url', content: 'https://www.autobangumi.org'}],
["script", {src: '/_vercel/insights/script.js'}]
],
themeConfig: {
@@ -25,7 +24,7 @@ export default defineConfig({
},
editLink: {
pattern: 'https://github.com/vitejs/vite/blob/3.1-dev/docs/:path',
pattern: 'https://github.com/EstrellaXD/Auto_Bangumi/edit/main/docs/:path',
text: 'Edit this page',
},
@@ -86,21 +85,8 @@ export default defineConfig({
link: "/deploy/dsm",
},
{
text: "WSL",
link: "/deploy/wsl",
},
],
},
{
text: "源码运行",
items: [
{
text: "Windows 本地部署",
link: "/deploy/windows",
},
{
text: "Unix 本地部署",
link: "/deploy/unix",
text: "本地部署",
link: "/deploy/local",
},
],
},
@@ -148,6 +134,10 @@ export default defineConfig({
text: "RSS 管理",
link: "/feature/rss",
},
{
text: "番剧管理",
link: "/feature/bangumi",
},
{
text: "重命名",
link: "/feature/rename",
@@ -171,7 +161,7 @@ export default defineConfig({
},
{
text: "网络问题",
link: "/faq/mikan-network",
link: "/faq/network",
}
],
},

View File

@@ -11,6 +11,7 @@ import mediumZoom from 'medium-zoom'
import Documate from '@documate/vue'
import '@documate/vue/dist/style.css'
import HomePreviewWebUI from './components/HomePreviewWebUI.vue'
import googleAnalytics from 'vitepress-plugin-google-analytics'
import './style.css'
@@ -21,7 +22,7 @@ export default {
// https://vitepress.dev/guide/extending-default-theme#layout-slots
'home-features-after': () => h(HomePreviewWebUI),
'nav-bar-content-before': () => h(Documate, {
endpoint: '',
endpoint: 'https://kp35gyb313.us.aircode.run/ask',
}),
})
},
@@ -44,7 +45,9 @@ export default {
() => nextTick(initZoom),
)
},
enhanceApp({app, router, siteData}) {
// ...
}
enhanceApp: (ctx) => {
googleAnalytics({
id: 'G-3Z8W6WMN7J',
})
},
}

View File

@@ -15,7 +15,9 @@
### 下载器地址
⚠️**请不要直接使用 127.0.0.1 或 localhost 作为下载器地址。**
::: warning 注意
请不要直接使用 127.0.0.1 或 localhost 作为下载器地址。
:::
由于 AB 在官方教程中是以 **Bridge** 模式运行在 Docker 中的,如果你是用 127.0.0.1 或者 localhost 那么 AB 将会把这个地址解析为自身,而非下载器。
- 如果此时你的 qBittorrent 也运行在 Docker 中,那么我们推荐你是用 Docker 的 **网关地址172.17.0.1**
@@ -23,7 +25,9 @@
如果你以 **Host** 模式运行 AB那么你可以直接使用 127.0.0.1 代替 Docker 网关地址。
⚠️ Macvlan 会隔离容器的网络,此时如果你不做额外的网桥配置将无法访问同宿主机的其他容器或者主机本身。
::: warning 注意
Macvlan 会隔离容器的网络,此时如果你不做额外的网桥配置将无法访问同宿主机的其他容器或者主机本身。
:::
### 下载器路径问题

View File

@@ -3,9 +3,8 @@
::: warning 警告
实验功能尚处于测试阶段,开启后可能会导致预料之外的问题并且在未来某些版本中很可能被移除,请谨慎使用!
:::
## OpenAI ChatGPT
![experimental](../image/config/experimental.png){width=500}{class=ab-shadow-card}
## OpenAI ChatGPT
使用 OpenAI ChatGPT 以获得更好的标题结构化解析效果,例如:
@@ -14,12 +13,34 @@ input: "【喵萌奶茶屋】★04月新番★[夏日重现/Summer Time Renderin
output: '{"group": "喵萌奶茶屋", "title_en": "Summer Time Rendering", "resolution": "1080p", "episode": 11, "season": 1, "title_zh": "夏日重现", "sub": "", "title_jp": "", "season_raw": "", "source": ""}'
```
![experimental OpenAI](../image/config/experimental-openai.png){width=500}{class=ab-shadow-card}
- **Enable OpenAI** 为是否开启 OpenAI 并使用 ChatGPT 用于标题解析。
- **OpenAI API Type** 默认为 OpenAI。
- **OpenAI API Key** 为 OpenAI 账户的 API Key。
- **OpenAI API Base URL** 为 OpenAI 接口地址,默认情况下为 OpenAI 官方地址;你也可以根据自己的需要修改成其他兼容 OpenAI 服务的第三方地址。
- **OpenAI Model** 为 ChatGPT 的 `model` 模型参数,目前仅提供了 `gpt-3.5-turbo`,因为它足够便宜并且在 Prompt 的加持下可以得到相当不错的效果。
### `config.json` 中的配置选项
## Microsoft Azure OpenAI
![experimental Microsoft Azure Openai](../image/config/experimental-azure-openai.png){width=500}{class=ab-shadow-card}
除了原始的 OpenAI 之外,在 [3.18 版本](https://github.com/EstrellaXD/Auto_Bangumi/releases/tag/3.1.8) 中我们还加入了 Microsoft Azure OpenAI 的支持,它的使用方法与原始的 OpenAI 一致,部分参数共用,但是在填写参数时可能有几个地方需要注意:
- **Enable OpenAI** 为是否开启 OpenAI 并使用 ChatGPT 用于标题解析。
- **OpenAI API Type** 选择 `azure` 之后才会出现对应的参数选项。
- **OpenAI API Key** 为 Microsoft Azure OpenAI 账户的 API Key。
- **OpenAI API Base URL** 对应 Microsoft Azure OpenAI 的 Entrypoint**需要你手动填写**。
- **Azure OpenAI Version** 对应 Microsoft Azure OpenAI 的 API 版本,默认为 `2023-05-15`,可参考 [所支持的版本](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#completions)。
- **Azure OpenAI Deployment ID** 对应 Microsoft Azure OpenAI 的 Deployment ID通常与模型名称相同需要注意的是 Microsoft Azure OpenAI 不支持除 `_-` 之外的符号,因此原始 OpenAI 中的 `gpt-3.5-turbo` 在 Microsoft Azure OpenAI 中实际为 `gpt-35-turbo`,此处**需要你手动填写**。
参考文档:
- [Quickstart: Get started using GPT-35-Turbo and GPT-4 with Azure OpenAI Service](https://learn.microsoft.com/en-us/azure/ai-services/openai/chatgpt-quickstart?tabs=command-line&pivots=programming-language-python)
- [Learn how to work with the GPT-35-Turbo and GPT-4 models](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/chatgpt?pivots=programming-language-chat-completions)
## `config.json` 中的配置选项
在配置文件中对应选项如下:
@@ -28,6 +49,9 @@ output: '{"group": "喵萌奶茶屋", "title_en": "Summer Time Rendering", "reso
| 参数名 | 参数说明 | 参数类型 | WebUI 对应选项 | 默认值 |
|---------|------------|------|------------|----------|
| enable | 是否启用 OpenAI 解析器 | 布尔值 | 启用 OpenAI | false |
| api_type | OpenAI API 类型 | 字符串 | OpenAI API 类型,可选 `openai``azure` | openai |
| api_key | OpenAI API Key | 字符串 | OpenAI API Key | |
| api_base | OpenAI API Base URL | 字符串 | OpenAI API Base URL | https://api.openai.com/v1 |
| model | OpenAI 模型 | 字符串 | OpenAI 模型 | gpt-3.5-turbo
| api_base | OpenAI API Base URL(Azure entrypoint) | 字符串 | OpenAI API Base URL | https://api.openai.com/v1 |
| model | OpenAI 模型 | 字符串 | OpenAI 模型 | gpt-3.5-turbo |
| api_version | Azure OpenAI API 版本 | 字符串 | Azure OpenAI API 版本 | 2023-05-15 |
| deployment_id | Azure OpenAI Deployment ID | 字符串 | Azure OpenAI Deployment ID | |

View File

@@ -14,7 +14,8 @@
- **Eps complete** 为是否补全当季番剧,如果开启,则会补全当季番剧,如果关闭,则不会补全当季番剧。
- **Add group tag** 为是否在下载规则中添加番剧组标签,如果开启,则会在下载规则中添加番剧组标签。
- **Delete bad torrent** 为是否删除错误的种子,如果开启,则会删除错误的种子。
- [文件路径以及重命名相关][1]
- [关于文件路径][1]
- [关于重命名][2]
## `config.json` 中的配置选项
@@ -31,4 +32,5 @@
| remove_bad_torrent | 是否删除错误的种子 | 布尔值 | 种子删除 | false |
[1]: https://www.autobangumi.org/use/%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E.html#%E6%96%87%E4%BB%B6%E8%B7%AF%E5%BE%84%E4%BB%A5%E5%8F%8A%E9%87%8D%E5%91%BD%E5%90%8D%E7%9B%B8%E5%85%B3
[1]: https://www.autobangumi.org/faq/#%E4%B8%8B%E8%BD%BD%E4%BB%A5%E5%8F%8A%E5%85%B3%E9%94%AE%E8%AF%8D%E8%BF%87%E6%BB%A4
[2]: https://www.autobangumi.org/faq/#%F0%9F%93%81-%E9%87%8D%E5%91%BD%E5%90%8D%E7%9B%B8%E5%85%B3

View File

@@ -2,9 +2,9 @@
AB 的解析器用于解析聚合 RSS 链接,如果 RSS 有新条目更新AB 就会解析标题并且生成自动下载规则。
## ⚠️ Notice:
::: tip
v3.1 版本以后解析器设置迁移到各个单独的 RSS 设置中,如果需要配置**解析器类型**,请参考 [为 RSS 设定解析器][add_rss]。
:::
## Webui 中的解析器设置

View File

@@ -13,10 +13,9 @@ AB 支持 HTTP 代理和 SOCKS5 代理,通过设置代理可以解决一些网
- **Host** 为代理地址。
- **Port** 为代理端口。
⚠️**注意**:
- 在 HTTP 模式下不支持用户名密码验证,如果你的代理需要用户名密码验证,请使用 **SOCKS5** 模式。
-**Socks5** 模式下,需要添加用户名和密码。
::: tip
**Socks5** 模式下,需要添加用户名和密码。
:::
## `config.json` 中的配置选项

View File

@@ -10,10 +10,8 @@ AutoBangumi 2.6 版本后支持直接在 WebUI 中配置,你可以选择直接
```shell
# 使用 bind mount
mkdir -p AutoBangumi
cd AutoBangumi
mkdir -p ./config
mkdir -p ./data
mkdir -p ${HOME}/AutoBangumi/{config,data}
cd ${HOME}/AutoBangumi
```
Bind mount 与 Docker volume 二选一
@@ -32,9 +30,13 @@ docker volume create AutoBangumi_data
```shell
docker run -d \
--name=AutoBangumi \
-v ./config:/app/config \
-v ./data:/app/data \
-v ${HOME}/AutoBangumi/config:/app/config \
-v ${HOME}/AutoBangumi/data:/app/data \
-p 7892:7892 \
-e TZ=Asia/Shanghai \
-e PUID=$(id -u) \
-e PGID=$(id -g) \
-e UMASK=022 \
--network=bridge \
--dns=8.8.8.8 \
--restart unless-stopped \

View File

@@ -24,10 +24,8 @@ docker compose -v
### 创建 AutoBangumi及数据 文件夹
```bash
mkdir -p AutoBangumi
cd AutoBangumi
mkdir -p config # 如果不存在则会报错
mkdir -p data
mkdir -p ${HOME}/AutoBangumi/{config,data}
cd ${HOME}/AutoBangumi
```
### 选项1: 自定义 Docker Compose 配置文件
@@ -49,7 +47,10 @@ services:
- 223.5.5.5
network_mode: bridge
environment:
- AB_METHOD=Advance
- TZ=Asia/Shanghai
- PGID=$(id -g)
- PUID=$(id -u)
- UMASK=022
```
复制上面的内容到 `docker-compose.yml` 文件中。
@@ -61,15 +62,11 @@ services:
- 只安装 **AutoBangumi**
```bash
wget https://raw.githubusercontent.com/EstrellaXD/Auto_Bangumi/main/docs/docker-compose/AutoBangumi/docker-compose.yml
wget https://raw.githubusercontent.com/EstrellaXD/Auto_Bangumi/main/docs/resource/docker-compose/AutoBangumi/docker-compose.yml
```
- 安装 **qBittorrent** 与 **AutoBangumi**
```bash
wget https://raw.githubusercontent.com/EstrellaXD/Auto_Bangumi/main/docs/docker-compose/qBittorrent+AutoBangumi/docker-compose.yml
```
- **qBittorrent** + **AutoBangumi** + **Plex**
```bash
wget https://raw.githubusercontent.com/EstrellaXD/Auto_Bangumi/main/docs/docker-compose/All-in-one/docker-compose.yml
wget https://raw.githubusercontent.com/EstrellaXD/Auto_Bangumi/main/docs/resource/docker-compose/qBittorrent+AutoBangumi/docker-compose.yml
```
首先选择你要安装的方式,**拷贝上面的命令运行即可**,这一步是下载 `docker-compose.yml` 配置文件,如果需要自定义可以使用文本编辑器对其中的参数进行自定义。

View File

@@ -34,7 +34,11 @@ services:
- "./data:/app/data"
network_mode: bridge
environment:
- TZ=Asia/Shanghai
- AB_METHOD=Advance
- PGID=1000
- PUID=1000
- UMASK=022
```
点击 **下一步**,然后点击 **完成**
@@ -74,6 +78,7 @@ services:
- TZ=Asia/Shanghai
- PGID=1000 #需要自行修改填入
- PUID=1000 #需要自行修改填入
- UMASK=022
- AB_DOWNLOADER_HOST=127.0.0.1:8989 #建议自行修改端口号
volumes:
- /volume1/docker/ab/config:/app/config

58
docs/deploy/local.md Normal file
View File

@@ -0,0 +1,58 @@
# 本地部署运行
::: warning 警告
本地部署可能会产生一些不可预料的问题,我们强烈推荐您使用 Docker 部署。
本地文档更新可能会有延迟,如有疑问请先在 [ISSUE](https://github.com/EstrellaXD/Auto_Bangumi/issues) 中提出。
:::
## 下载最新版本文件
```bash
VERSION=$(curl -s "https://api.github.com/repos/EstrellaXD/Auto_Bangumi/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/')
curl -L -O "https://github.com/EstrellaXD/Auto_Bangumi/releases/download/$VERSION/app-v$VERSION.zip"
```
## 解压代码压缩包
Unix 与 WSL 系统可以使用如下命令Windows 系统请自行解压。
```bash
unzip app-v$VERSION.zip -d AutoBangumi
cd AutoBangumi
```
## 创建虚拟环境并且安装依赖
确认你的电脑本地已经安装了 `python3.10` 以上的版本,以及 `pip` 包管理工具。
```bash
cd src
python3 -m venv env
python3 pip install -r requirements.txt
```
## 创建配置和数据文件夹
```bash
mkdir config
mkdir data
```
## 运行 AutoBangumi
```bash
python3 main.py
```
## Windows 开机自启
可以用 `nssm` 来实现开机自启,以下以 `nssm` 为例:
```powershell
nssm install AutoBangumi (Get-Command python).Source
nssm set AutoBangumi AppParameters (Get-Item .\main.py).FullName
nssm set AutoBangumi AppDirectory (Get-Item ..).FullName
nssm set AutoBangumi Start SERVICE_DELAYED_AUTO_START
```

View File

@@ -10,10 +10,8 @@
```shell
# 使用 bind mount
mkdir "AutoBangumi"
cd "AutoBangumi"
mkdir -p ./config
mkdir -p ./data
mkdir -p ${HOME}/AutoBangumi/{config,data}
cd ${HOME}/AutoBangumi
```
bind mount 与 Docker volume 二选一
@@ -35,9 +33,13 @@ docker volume create AutoBangumi_data
```shell
docker run -d \
--name=AutoBangumi \
-v ./config:/app/config \
-v ./data:/app/data \
-v ${HOME}/AutoBangumi/config:/app/config \
-v ${HOME}/AutoBangumi/data:/app/data \
-p 7892:7892 \
-e TZ=Asia/Shanghai \
-e PUID=$(id -u) \
-e PGID=$(id -g) \
-e UMASK=022 \
--network=bridge \
--dns=8.8.8.8 \
--restart unless-stopped \
@@ -65,7 +67,10 @@ services:
dns:
- 223.5.5.5
environment:
- AB_METHOD=Advance
- TZ=Asia/Shanghai
- PGID=$(id -g)
- PUID=$(id -u)
- UMASK=022
```
运行以下命令启动容器。
@@ -102,14 +107,15 @@ https://mikanime.tv/RSS/MyBangumi?token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
## 配置 AutoBangumi
安装好 AB 之后AB 的 WebUI 会自动运行,但是主程序会处于暂停状态,可以进入 `http://abhost:7892` 进行配置。
1. 填入下载器的地址,端口,用户名和密码。
1. 打开网页后,默认用户名是`admin`默认密码是`adminadmin`。即可进入面板。
进入面板后请及时更改用户名和密码。
2. 填入下载器的地址,端口,用户名和密码。
![ab-webui](../image/config/downloader.png){width=500}{class=ab-shadow-card}
2. 点击 **Apply** 保存配置,此时 AB 会重启运行,当右上角的圆点变为绿色时,表示 AB 已经正常运行。
3. 点击 **Apply** 保存配置,此时 AB 会重启运行,当右上角的圆点变为绿色时,表示 AB 已经正常运行。
3. 点击右上角的添加按钮,勾选 **聚合 RSS** 选择解析器类型,填入 Mikan RSS 的地址。
4. 点击右上角的添加按钮,勾选 **聚合 RSS** 选择解析器类型,填入 Mikan RSS 的地址。
![ab-rss](../image/config/add-rss.png){width=500}{class=ab-shadow-card}

View File

@@ -1,61 +0,0 @@
# WSL 配置说明
感谢 #73 的贡献
WSL 用户可以用以下 `docker-compose.yml` 配置文件来部署 AutoBangumi
```yml
version: "3.6"
services:
qbittorrent:
container_name: qbittorrent
image: johngong/qbittorrent:latest
hostname: qbittorrent
environment:
- QB_EE_BIN=false
- UID=1000 # 用户权限1000 当前WSL登录用户查询方法 wsl内输入 id 用户名
- GID=1000
- QB_WEBUI_PORT=8989
ports:
- "6881:6881"
- "6881:6881/udp"
- "8989:8989"
volumes:
- qb_config:/config
- /mnt/g/animation:/Downloads #下载路径,对应 Windows上目录是 G:\animation
networks:
- AutoBangumi_network
restart: unless-stopped
AutoBangumi:
image: "ghcr.io/estrellaxd/auto_bangumi:latest"
container_name: AutoBangumi
ports:
- 7892:7892
depends_on:
- qbittorrent
volumes:
- ./config:/app/config
- ./data:/app/data
environment:
- PUID=1000
- PGID=1000
- TZ=Asia/Shanghai
- AB_DOWNLOADER_HOST=qbittorrent:8989
- AB_DOWNLOADER_USERNAME=admin
- AB_DOWNLOADER_PASSWORD=adminadmin
- AB_NOT_CONTAIN=720|繁体|CHT|JPTC|繁日|BIG5
- AB_DOWNLOAD_PATH=/Downloads #qbittorrent 映射的地址,否者可能提示下载失败
- AB_RSS=https://mikanani.me/RSS/MyBangumi?token=xxxxxxxx%3d%3d #订阅地址,改成自己的
networks:
- AutoBangumi_network
restart: unless-stopped
networks:
AutoBangumi_network:
volumes:
qb_config:
external: false
auto_bangumi:
external: false
```

View File

@@ -1,37 +0,0 @@
version: "3.4"
services:
qbittorrent:
container_name: qbittorrent
image: linuxserver/qbittorrent
hostname: qbittorrent
environment:
- PGID=1000 #需要自行修改填入
- PUID=1000 #需要自行修改填入
- WEBUI_PORT=8989
- TZ=Asia/Shanghai
volumes:
- ./qb_config:/config
- your_anime_path:/downloads # 注意 修改此处为自己存放动漫的目录,ab 内下载路径填写downloads
networks:
- host
restart: unless-stopped
AutoBangumi:
image: "ghcr.io/estrellaxd/auto_bangumi:latest"
container_name: AutoBangumi
depends_on:
- qbittorrent
volumes:
- ./config:/app/config
- ./data:/app/data
networks:
- host
dns:
- 223.5.5.5
restart: unless-stopped
environment:
- AB_METHOD=Advance
- AB_DOWNLOADER_HOST=127.0.0.1:8989 #如8989被修改,请修改为相应端口
- AB_DOWNLOADER_USERNAME=admin
- AB_DOWNLOADER_PASSWORD=adminadmin
- AB_DOWNLOAD_PATH=/downloads #qbittorrent 映射的地址,否者可能提示下载失败

View File

@@ -3,5 +3,5 @@
"include": [
"**/*.md"
],
"backend": ""
"backend": "https://kp35gyb313.us.aircode.run/upload"
}

View File

@@ -101,20 +101,19 @@ AB 中的过滤关键词是正则表达式,只会在建立规则的时候添
### 番剧补全不起作用
- 请检查是否正确设置了 **番剧补全** 参数。
- 旧版本的 AB 不支持修改参数临时启用补全,请清除数据并重新部署。
- 2.5.15 版本之后的 AB 支持临时启用。
请检查是否正确设置了 **番剧补全** 参数。
## 📁 重命名相关
### 解析错误 `NOT match with XXXXX`
### 解析错误 `Cannot parse XXX`
- AB 暂时不支持解析合集,合集请通过 API 添加
- AB 暂时不支持解析合集。
- 如果非合集,请在 issue 中反馈问题。
### `Rename failed` 或者重命名失败怎么办?
- 检查文件路径,标准存储路径应为 `/title/Season/Episode.mp4` 如果不为标准格式路径会导致命名错误。发生这类错误请排查 qbittorrent 的配置。
- 请检查 `下载路径` 是否正确填写,错误填写会导致无法正确重命名。
- 非上述问题,请到 issue 反馈。
### 没有自动重命名怎么办?
@@ -133,47 +132,6 @@ AB 中的过滤关键词是正则表达式,只会在建立规则的时候添
2. 把合集的存储路径更改为 `Title/Season X/`
3. 等待合集下载完成,重命名完成。
## 🌍 网络链接
### 无法连接到 qBittorrent
- 检查 AB 中的 **下载器地址** 参数是否正确。
- 如果你的 AB 和 QB 在同一个 Docker 网络中,可以尝试使用容器名称进行寻址,如:`http://qbittorrent:8080`
- 如果你的 AB 和 QB 在同一个 Docker 服务器中,可以尝试使用 Docker 网关地址进行访问,如:`http://172.17.0.1:8080`
- 如果 AB 网络模式不是 `host` 请不要使用 `127.0.0.1` 来访问 QB
- 在 Docker 中不同容器中无法互相访问,可以在 QB 的网络连接的链接中,设定链接 AB。
- 如果 qBittorrent 使用 HTTPS 模式,请在 **下载器地址** 参数中添加 `https://` 前缀。
### `DNS/Connect ERROR`
- 请检查网络连接,如果网络连接正常,请检查 DNS 解析。
- 可以给 AB 添加一个 `dns=8.8.8.8`,如果是 HOST 模式可以忽略。
- 如果 DNS 解析正常,添加代理。
- 使用 TMDB 请添加代理。
### 如何给 Mikan 添加代理
AB 现在提供三种代理模式
1. HTTP 以及 Socks 代理
老版本的 AB 就有这项功能,升级到 2.6 版本之后只需要在 WebUI 中检查代理配置即可正常访问蜜柑计划。
不过这时候 qBittorrent 无法正常访问蜜柑计划的 RSS 和种子地址,因此需要在 qBittorrent 中添加代理。详情可以查看 #198
2. 自定义反向代理 URL
2.6 版本的 AB 在配置中增加了 `custom_url` 选项,可以自定义反向代理的 URL。
可以在配置中设置为自己正确设置的反代 URL。这样 AB 就会使用自定义的 URL 来访问蜜柑计划。并且 QB 也可以正常下载。
3. AB 作为反代中转
在 AB 配置代理之后AB 自身可以作为本地的反代中转。不过目前仅开放 RSS 相关功能的反代。
这时候只需要把 `custom_url` 设置为 `http://abhost:abport` 即可。 `abhost` 为 AB 的 IP 地址,`abport` 为 AB 的端口。
此时 AB 会把自身地址推送给 qBittorrentqBittorrent 会使用 AB 的地址作为反代来访问蜜柑计划。
请注意,此时如果你没有用 NGINX 等工具对 AB 进行反代,请填入 `http://` 来保证程序正常运行。
注意点2: 请不要在同时使用代理的情况下在 `custom_url` 中使用容器寻址,或者 Docker 的容器或者网关地址。转跳代理之后可能会无法访问 RSS。
## 🐬 Docker 相关
### 如何自动更新
@@ -187,6 +145,8 @@ AB 现在提供三种代理模式
如果你的 AB 使用 Docker compose 部署,可以使用 `docker-compose pull` 命令更新。
拉取完成容器之后可以使用 `docker-compose up -d` 重启容器。
也可以在 `docker-compose.yml` 中添加 `pull_policy: always` 参数,这样每次启动容器都会拉取最新的镜像。
### 如果升级出现了问题需要怎么做
由于每个人配置可能不尽相同,现在升级可能会出现程序无法运行的问题,此时删除掉所有以前的数据以及生成的配置文件后重启容器。

View File

@@ -1,4 +1,6 @@
# Mikan 网络问题的应对方法
# 网络问题
## 无法连接蜜柑计划
由于蜜柑计划本站: `https://mikanani.me` 目前被 GFW 封锁,因此可能会导致 AB 无法正确连接蜜柑计划的情况,建议使用如下方法解决。
@@ -6,25 +8,36 @@
- [使用代理](#代理)
- [使用 CloudFlare Worker 进行反代](#cloudflare-workers)
## 蜜柑计划国内域名
### 蜜柑计划国内域名
- 蜜柑计划更新了新的域名 `https://mikanime.tv`,请在不打开代理的情况下配合 AB 使用。
蜜柑计划更新了新的域名 `https://mikanime.tv`,请在不打开代理的情况下配合 AB 使用。
如果出现
```
DNS/Connect ERROR
```
## 配置代理
- 请检查网络连接,如果网络连接正常,请检查 DNS 解析。
- 可以给 AB 添加一个 `dns=8.8.8.8`,如果是 HOST 模式可以忽略。
如果你是用代理,一般配置正确不会出现类似错误。
### 配置代理
::: tip
在 AB 3.1 中AB 已经接管了 RSS 更新以及推送,因此在使用代理的时候,只需要在 AB 中配置代理。
:::
AB 中自带了代理配置,如果要配置代理请按照 [配置代理](../config/proxy) 中的方式正确配置 HTTP 或者 Socks 代理。配置完成可以规避墙的问题。
**3.1 以前版本需要对 QB 进行代理配置**
请按照如下截图对 QB 中进行代理设置 Socks 同理)
1. AB 中自带了代理配置,如果要配置代理请按照 [配置代理](../config/proxy) 中的方式正确配置 HTTP 或者 Socks 代理。配置完成可以规避墙的问题。
2. QB 中也需要配置代理,请按照如下截图对 QB 中进行代理设置 Socks 同理)
<img width="483" alt="image" src="https://user-images.githubusercontent.com/33726646/233681562-cca3957a-a5de-40e2-8fb3-4cc7f57cc139.png">
3. 在 2.6 版本更新中 AB 额外提供了两种解决被墙的方案。
- 可以在 WebUI 中的 `源站链接` 中修改为自己反代过的 URL
- 使用代理之后可以使用 AB 自身作为反代节点。
具体可以看[配置代理](../config/proxy)中的说明。
## CloudFlare Workers
### CloudFlare Workers 反代
根据 OpenAI 被墙的经验,我们也可以通过反向代理的方式解决。具体如何申请域名绑定 CloudFlare 在此不再赘述。
在 Workers 中添加如下代码即可以用你自己的域名访问蜜柑计划并且解析下载 RSS 链接中的种子。
@@ -72,4 +85,14 @@ async function handleRequest(request) {
}
```
完成上述配置之后,你的域名填入 AB 的 **源站链接Custom URL** 即可。
完成上述配置之后,使用你的域名替换 `https://mikanani.me` **添加 RSS** 即可。
## 无法连接到 qBittorrent
首先,检查 AB 中的 **下载器地址** 参数是否正确。
- 如果你的 AB 和 QB 在同一个 Docker 网络中,可以尝试使用容器名称进行寻址,如:`http://qbittorrent:8080`
- 如果你的 AB 和 QB 在同一个 Docker 服务器中,可以尝试使用 Docker 网关地址进行访问,如:`http://172.17.0.1:8080`
- 如果 AB 网络模式不是 `host` 请不要使用 `127.0.0.1` 来访问 QB
在 Docker 中不同容器中无法互相访问,可以在 QB 的网络连接的链接中,设定链接 AB 如果 qBittorrent 使用 HTTPS 模式,请在 **下载器地址** 参数中添加 `https://` 前缀。

View File

@@ -3,7 +3,7 @@ title: 排错流程
---
## 💡 通用排错流程
1. 如果 AB 无法正常启动,请检查启动命令是否正确, 当前版本正确的启动命令为 `/init`, 如果发现启动命令不正确且不会修改,请尝试重新部署 AB。
1. 如果 AB 无法正常启动,请检查启动命令是否正确, 如果发现启动命令不正确且不会修改,请尝试重新部署 AB。
2. 部署完 AB 之后请先查看 Log。如果运行如下说明 AB 运行正常,且与 QB 连接良好:
```
[2022-07-09 21:55:19,164] INFO: _ ____ _
@@ -27,20 +27,14 @@ title: 排错流程
```
[2022-07-09 22:01:24,534] WARNING: Cannot connect to qBittorrent, wait 5min and retry
```
2. 如果出现如下 LOG说明 AB 无法连接到 Mikan RSS请转跳到 [网络问题](/faq/#🌍-网络链接) 部分进行排查。
2. 如果出现如下 LOG说明 AB 无法连接到 Mikan RSS请转跳到 [网络问题](/faq/network) 部分进行排查。
```
[2022-07-09 21:55:21,761] INFO: Start collecting RSS info.
[2022-07-09 22:01:24,534] WARNING: Connected Failedplease check DNS/Connection
```
3. 如果此时 QB 中没有下载任务,请转到 RSS 自动下载规则页面,检查 AB 建立的规则是否正确
1. 查看 RSS 订阅,如果是正常的 RSS 图标,说明 RSS 订阅正常,如果是**问题图标**,说明 RSS 订阅有问题,请检查 qBittorrent 与 Mikan RSS 的连通性。
2. 如果没有任何下载规则,请检查 RSS 订阅是否是空白,`filter` 是否设置太多过滤值,转跳 [过滤问题](/faq/#下载以及关键词过滤) 。
3. 检查添加的规则是否是正确的,如果出现错误,请到 [issue](https://www.github.com/EstrellaXD/Auto_Bangumi/issues) 反馈。
4. 如果有下载规则没有下载,点击规则,并且检查右侧是否命中条目。如果没有命中条目,请删除一下过滤值。
5. 检查自动下载规则中「总是暂停」是否关闭
4. 此时 QB 应该存在下载任务。
3. 此时 QB 应该存在下载任务
1. 如果下载任务出现路径问题,请检查 QB 设置中的「保存管理」中的「默认种子管理模式」是否为「手动」,若不是请调整为「手动」。
2. 如果下载全部为感叹号,或者下载路径中没有新建归类文件夹,请检查 QB 的权限。
5. 如果上述排查均不能生效,请尝试重新部署一个新的 qBittorrent。
6. 如果仍然无效,请带着 LOG 到 [issue](https://www.github.com/EstrellaXD/Auto_Bangumi/issues) 反馈。
4. 如果上述排查均不能生效,请尝试重新部署一个新的 qBittorrent。
5. 如果仍然无效,请带着 LOG 到 [issue](https://www.github.com/EstrellaXD/Auto_Bangumi/issues) 反馈。

13
docs/feature/bangumi.md Normal file
View File

@@ -0,0 +1,13 @@
# 番剧管理
在首页点击番剧海报即可对番剧进行精细化管理。
![编辑番剧](../image/feature/edit.png)
## 禁用/删除番剧
由于 AB 会不断解析**聚合 RSS**,因此对于聚合 RSS 的下载规则,如果不需要下载可以选择:
- 禁用番剧:番剧不会被下载,也不会被重新解析
- 在聚合 RSS 中删除订阅
如果删除番剧将会在下次解析重建规则。

View File

@@ -1,2 +1,41 @@
# 重命名使用说明
AB 现在提供了三种重命名方式,分别为 `pn``advance``none`
### pn
全称为 `pure name`,即纯番剧名,这种方式会把番剧名作为文件名,不会添加任何前缀。
pn 根据种子文件的下载名称进行重命名。
如:
```
[Lilith-Raws] 86 - Eighty Six - 01 [Baha][WEB-DL][1080p][AVC AAC][CHT][MKV].mkv
>>
86 - Eighty Six S01E01.mkv
```
### advance
高级重命名,这种方式会把文件夹名用于重命名。
```
/downloads/Bangumi/86 - Eighty Six(2023)/Season 1/[Lilith-Raws] 86 - Eighty Six - 01 [Baha][WEB-DL][1080p][AVC AAC][CHT][MKV].mkv
>>
86 - Eighty Six(2023) S01E01.mkv
```
### none
不重命名,这种方式不会对文件进行重命名。
## 合集重命名
AB 支持对合集进行重命名,合集重命名需要满足以下条件:
- 剧集都在合集的一级目录下
- 可以解析出剧集的集数
同时 AB 也可以对在一级目录下的字幕文件进行重命名。
重命名之后的剧集和目录都会被放到 `Season` 文件夹下。
重命名的合集会被移动分类至 `BangumiCollection`

View File

@@ -1,3 +1,7 @@
---
title: RSS 管理
---
# RSS 管理使用说明
## 添加合集
@@ -34,7 +38,9 @@ AB 支持解析所有资源站的合集 RSS 链接,在对应的资源站找到
在 3.0 之后 AB 可以手动删除番剧,点击番剧海报,进入番剧信息页面,点击 **Delete** 即可删除番剧。
⚠️删除番剧之后,如果 RSS 中没有取消订阅AB 仍然会重新解析,如果想禁用下载规则请使用[禁用番剧](#禁用番剧)
::: warning
删除番剧之后,如果 RSS 中没有取消订阅AB 仍然会重新解析,如果想禁用下载规则请使用[禁用番剧](#禁用番剧)
:::
### 禁用番剧

View File

@@ -4,13 +4,17 @@
## 使用搜索功能
::: warning
搜索功能依赖主程序的解析器,当前版本不允许解析合集。解析合集提示 `warning` 为正常现象。
:::
搜索栏位于 AB 顶栏可以在搜索栏右侧选择想要搜索的源站比如蜜柑计划、nyaa 等
选择对应的源站输入关键词AB 即可自动解析搜索结果并展示。如果想要添加对应的番剧,点击卡片右侧的添加按钮即可。
## ⚠️注意
::: tip
源站为 **Mikan** 是 AB 默认使用 `mikan` 解析器,如果使用其他源站,默认使用 TMDB 解析器。
:::
## 增加源站

View File

@@ -1,147 +0,0 @@
# 配置选项说明
`2.6` 版本之后AutoBangumi 使用 `config.json` 来配置系统设置。
初次运行 AutoBangumi 时会自动生成 `config.json` 文件,如果需要修改配置,可以直接修改 `config.json` 文件,也可以在 Web 界面中修改。
## 升级
如果你是从 `2.5` 版本升级到 `2.6` 版本AB 会自动迁移你的配置文件,在首次升级完成之后,修改环境变量将对 AB 运行不生效。
后续配置修改请直接修改 `config.json` 文件,或者在 Web 界面中修改。
## 配置文件参数说明:
### 程序运行参数
配置文件部分:`program`
| 参数名 | 参数说明 | 参数类型 | WebUI 对应选项 | 默认值 |
|-------------|------------|----------|------------|------|
| rss_time | RSS 检查时间间隔 | 以秒为单位的整数 | RSS 检查时间间隔 | 7200 |
| rename_time | 重命名检查时间间隔 | 以秒为单位的整数 | 重命名检查时间间隔 | 60 |
| webui_port | WebUI 端口 | 以整数为单位 | WebUI 端口 | 7892 |
- `rss_time``rename_time` 两个参数的单位为秒,如果你需要设置为分钟,请自行转换为秒。
- `rss_time` 为 RSS 检查时间间隔,如果你需要修改 RSS 检查时间间隔,请修改此参数。
- `rename_time` 为重命名检查时间间隔,如果你需要修改重命名检查时间间隔,请修改此参数。
- `webui_port` 为 WebUI 端口,如果你需要修改 WebUI 端口,请修改此参数。
### 下载器参数
配置文件部分:`downloader`
| 参数名 | 参数说明 | 参数类型 | WebUI 对应选项 | 默认值 |
|----------|-------------|------|-------------|--------------------|
| type | 下载器类型 | 字符串 | 下载器类型 | qbittorrent |
| host | 下载器地址 | 字符串 | 下载器地址 | 172.17.0.1:8080 |
| username | 下载器用户名 | 字符串 | 下载器用户名 | admin |
| password | 下载器密码 | 字符串 | 下载器密码 | adminadmin |
| path | 下载器下载路径 | 字符串 | 下载器下载路径 | /downloads/Bangumi |
| ssl | 下载器是否使用 SSL | 布尔值 | 下载器是否使用 SSL | false |
- `type` 为下载器类型,目前支持 `qbittorrent` 下载器,目前暂不支持修改。
- `host` 为下载器地址。[下载器链接问题][1]
- `path` 为映射的下载器下载路径。[下载器路径问题][2]
- `ssl` 为下载器是否使用 SSL。
### RSS 解析器参数
配置文件部分:`rss_parser`
| 参数名 | 参数说明 | 参数类型 | WebUI 对应选项 | 默认值 |
|-------------|----------------|------|----------------|---------------|
| enable | RSS 解析器是否启用 | 布尔值 | RSS 解析器是否启用 | true |
| type | RSS 解析器类型 | 字符串 | RSS 解析器类型 | mikan |
| token | RSS 解析器 Token | 字符串 | RSS 解析器 Token | token |
| custom_url | RSS 解析器自定义 URL | 字符串 | RSS 解析器自定义 URL | mikanime.tv |
| parser_type | RSS 解析器解析类型 | 字符串 | RSS 解析器解析类型 | parser |
| filter | RSS 解析器过滤器 | 数组 | 过滤器 | [720,\d+-\d+] |
| language | RSS 解析器语言 | 字符串 | RSS 解析器语言 | zh |
- `type` 为 RSS 解析器类型,目前支持 `mikan`
- `token` 为蜜柑计划的 Token。[蜜柑计划 Token 获取][3]
- `custom_url` 为自定义蜜柑计划地址。[自定义反代地址][4]
- `parser_type`**官方标题** 解析器解析类型,支持类型如下:
- `parser` 为正则表达式解析器,使用正则表达式解析标题。
- `mikan` 为蜜柑计划解析器,使用蜜柑计划解析标题。
- `tmdb` 为 TMDB 解析器,使用 TMDB 解析标题。
- `filter` 为 RSS 解析器过滤器,过滤器为数组,数组中的每一项为一个过滤器,过滤器为正则表达式,如果标题匹配正则表达式,则不会下载。
- `language` 为 RSS 解析器语言,目前支持 `zh``jp``en` 三种语言。
### 番剧管理参数
配置文件部分:`bangumi_manager`
| 参数名 | 参数说明 | 参数类型 | WebUI 对应选项 | 默认值 |
|--------------------|-----------------|------|------------|-------|
| enable | 番剧管理是否启用 | 布尔值 | 番剧管理是否启用 | true |
| eps_complete | 是否补全当季番剧 | 布尔值 | 番剧补全 | false |
| rename_method | 重命名方式 | 字符串 | 重命名方式 | pn |
| group_tag | 是否在下载规则中添加番剧组标签 | 布尔值 | 番剧组标签 | false |
| remove_bad_torrent | 是否删除错误的种子 | 布尔值 | 种子删除 | false |
- `eps_complete` 为是否补全当季番剧,如果开启,则会补全当季番剧,如果关闭,则不会补全当季番剧。
- `rename_method` 为重命名方式,目前支持:
- `pn``Torrent Title S0XE0X.mp4` 的方式。
- `advance``Official Title S0XE0X.mp4` 的方式。
- `none` 为不重命名。
- `group_tag` 为是否在下载规则中添加番剧组标签,如果开启,则会在下载规则中添加番剧组标签。
- `remove_bad_torrent` 为是否删除错误的种子,如果开启,则会删除错误的种子。
### 日志参数
配置文件部分:`log`
| 参数名 | 参数说明 | 参数类型 | WebUI 对应选项 | 默认值 |
|--------------|----------|------|------------|-------|
| debug_enable | 是否启用调试模式 | 布尔值 | 调试模式 | false |
### 代理参数
配置文件部分:`proxy`
| 参数名 | 参数说明 | 参数类型 | WebUI 对应选项 | 默认值 |
|----------|--------|------|------------|-------|
| enable | 是否启用代理 | 布尔值 | 代理 | false |
| type | 代理类型 | 字符串 | 代理类型 | http |
| host | 代理地址 | 字符串 | 代理地址 |
| port | 代理端口 | 整数 | 代理端口 |
| username | 代理用户名 | 字符串 | 代理用户名 |
| password | 代理密码 | 字符串 | 代理密码 |
- `type` 为代理类型,目前支持 `http``socks5` 两种类型。
- `username``password` 仅支持 `socks5` 代理。
### 通知参数
配置文件部分:`notification`
| 参数名 | 参数说明 | 参数类型 | WebUI 对应选项 | 默认值 |
|---------|------------|------|------------|----------|
| enable | 是否启用通知 | 布尔值 | 通知 | false |
| type | 通知类型 | 字符串 | 通知类型 | telegram |
| token | 通知 Token | 字符串 | 通知 Token |
| chat_id | 通知 Chat ID | 字符串 | 通知 Chat ID |
- `type` 为通知类型,目前支持 `telegram``serverchan``bark``wecom` 四种类型。
- `token` 为通知 Token目前支持 `telegram``serverchan``bark``wecom` 四种类型。
- `chat_id` 为通知 Chat ID仅在使用 `telegram` 通知时需要填写。[Telegram Bot 获取 Chat ID][5]
- 使用`wecom`chat_id参数框填写自建推送的url地址同时需要在服务端增加[图文消息][6]类型。[Wecom酱配置说明][7]
[1]: https://github.com/EstrellaXD/Auto_Bangumi/wiki
[2]: https://github.com/EstrellaXD/Auto_Bangumi/wiki
[3]: https://github.com/EstrellaXD/Auto_Bangumi/wiki/部署说明/#开始前准备
[4]: https://github.com/EstrellaXD/Auto_Bangumi/wiki
[5]: https://github.com/EstrellaXD/Auto_Bangumi/wiki
[6]: https://github.com/umbors/wecomchan-alifun
[7]: https://github.com/easychen/wecomchan

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

BIN
docs/image/feature/edit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -2,13 +2,13 @@
"private": true,
"scripts": {
"docs:dev": "vitepress dev",
"docs:build": "vitepress build && mkdir -p .vitepress/dist/image && cp -rf image/icons .vitepress/dist/image/",
"docs:build": "vitepress build && mkdir -p .vitepress/dist/image && cp -rf image/icons .vitepress/dist/image/ && documate upload",
"docs:preview": "vitepress preview",
"deploy:preview": "vercel --cwd .vitepress/dist",
"documate:upload": "documate upload"
},
"devDependencies": {
"@documate/documate": "^0.2.0",
"@documate/documate": "^0.2.1",
"@vue/tsconfig": "^0.4.0",
"medium-zoom": "^1.0.8",
"typescript": "4.9.5",
@@ -18,6 +18,7 @@
},
"type": "module",
"dependencies": {
"@documate/vue": "^0.3.0"
"@documate/vue": "^0.3.1",
"vitepress-plugin-google-analytics": "^1.0.2"
}
}

25
docs/pnpm-lock.yaml generated
View File

@@ -6,13 +6,16 @@ settings:
dependencies:
'@documate/vue':
specifier: ^0.3.0
version: 0.3.0(tailwindcss@3.3.3)(vue@3.3.4)
specifier: ^0.3.1
version: 0.3.1(tailwindcss@3.3.3)(vue@3.3.4)
vitepress-plugin-google-analytics:
specifier: ^1.0.2
version: 1.0.2
devDependencies:
'@documate/documate':
specifier: ^0.2.0
version: 0.2.0
specifier: ^0.2.1
version: 0.2.1
'@vue/tsconfig':
specifier: ^0.4.0
version: 0.4.0
@@ -1488,8 +1491,8 @@ packages:
- search-insights
dev: true
/@documate/documate@0.2.0:
resolution: {integrity: sha512-+vpoyF9r8XUi/CrQk/V4Be6G+YtKos7ZBXRMLpDGKX+3Du8g3gG2HaAzfJnaOpvV5QgrzacRuqIQH9MqHbiqGg==}
/@documate/documate@0.2.1:
resolution: {integrity: sha512-FhbDmWBNyezbzoSOwBpv8SdWEF/OtcSS3GYTcHvLS41IXLi0MZJNx3t+/m73S+CmYLE1M5WgEzcZsO1E8NqeyA==}
hasBin: true
dependencies:
axios: 1.5.1
@@ -1503,8 +1506,8 @@ packages:
- debug
dev: true
/@documate/vue@0.3.0(tailwindcss@3.3.3)(vue@3.3.4):
resolution: {integrity: sha512-/5y6tJSW54BAV/0YFvzcBcvSOdVWPT6ElpxNxaHLHh3DVI+cLpQpJYD2JLS52cfdDgIfD9SE0REVZFV0fSxsYg==}
/@documate/vue@0.3.1(tailwindcss@3.3.3)(vue@3.3.4):
resolution: {integrity: sha512-SvVTrVQ1VS75JLxN9jPTaAR7FDIog456waScSCU41MtVwH4BNdCnWpy6kWWYOuant+c8A3cSJ9Yvq6Bpv+B5xQ==}
peerDependencies:
vue: ^3
dependencies:
@@ -4242,7 +4245,7 @@ packages:
engines: {node: '>=14'}
dependencies:
cross-spawn: 7.0.3
signal-exit: 4.0.2
signal-exit: 4.1.0
dev: true
/form-data@3.0.1:
@@ -7460,6 +7463,10 @@ packages:
fsevents: 2.3.2
dev: true
/vitepress-plugin-google-analytics@1.0.2:
resolution: {integrity: sha512-ri8bFUAmt3c/DtPrALauGBIUr2gIJ11c1qNRhwd3/+aiuYZBfQpOosSxcO1AswgwRxP9FwBS6Z7jgdDVyXb2hA==}
dev: false
/vitepress@1.0.0-rc.4(@algolia/client-search@4.18.0)(@types/node@14.18.33)(search-insights@2.6.0):
resolution: {integrity: sha512-JCQ89Bm6ECUTnyzyas3JENo00UDJeK8q1SUQyJYou+4Yz5BKEc/F3O21cu++DnUT2zXc0kvQ2Aj4BZCc/nioXQ==}
hasBin: true

View File

@@ -14,4 +14,7 @@ services:
dns:
- 223.5.5.5
environment:
- AB_METHOD=Advance
- TZ=Asia/Shanghai
- PGID=$(id -g)
- PUID=$(id -u)
- UMASK=022

View File

@@ -0,0 +1,33 @@
version: "3.4"
services:
qbittorrent:
container_name: qbittorrent
image: linuxserver/qbittorrent
hostname: qbittorrent
environment:
- PGID=$(id -g)
- PUID=$(id -u)
- TZ=Asia/Shanghai
volumes:
- ./qb_config:/config
- <your_anime_path>:/downloads # 注意 修改此处为自己存放动漫的目录,ab 内下载路径填写downloads
network_mode: bridge
restart: unless-stopped
AutoBangumi:
image: "ghcr.io/estrellaxd/auto_bangumi:latest"
container_name: AutoBangumi
depends_on:
- qbittorrent
volumes:
- ./config:/app/config
- ./data:/app/data
network_mode: bridge
dns:
- 223.5.5.5
restart: unless-stopped
environment:
- TZ=Asia/Shanghai
- PGID=$(id -g)
- PUID=$(id -u)
- UMASK=022

View File

@@ -27,4 +27,8 @@
<Config Name="WebUI" Target="7892" Default="7892" Mode="tcp" Description="" Type="Port" Display="always" Required="false" Mask="false">7892</Config>
<Config Name="Config" Target="/app/config" Default="" Mode="rw" Description="" Type="Path" Display="always" Required="false" Mask="false">/mnt/user/appdata/AutoBangumi/config</Config>
<Config Name="Data" Target="/app/data" Default="" Mode="rw" Description="" Type="Path" Display="always" Required="false" Mask="false">/mnt/user/appdata/AutoBangumi/data</Config>
<Config Name="PUID" Target="PUID" Default="99" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false"/>
<Config Name="PGID" Target="PGID" Default="100" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false"/>
<Config Name="UMASK" Target="UMASK" Default="022" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false"/>
<Config Name="TZ" Target="TZ" Default="Asia/Shanghai" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false"/>
</Container>

View File

@@ -11,10 +11,12 @@ const theme: GlobalThemeOverrides = {
},
};
const { refresh, isLogin } = useAuth();
if (isLogin.value) {
const { refresh, isLoggedin } = useAuth();
if(isLoggedin.value){
refresh();
}
</script>
<template>

View File

@@ -1,5 +1,5 @@
export const useAppInfo = createSharedComposable(() => {
const { auth } = useAuth();
const { isLoggedin } = useAuth();
const running = ref<boolean>(false);
const version = ref<string>('');
@@ -11,7 +11,7 @@ export const useAppInfo = createSharedComposable(() => {
version.value = res.version;
});
if (auth.value !== '') {
if (isLoggedin.value) {
execute();
}
}

View File

@@ -2,7 +2,7 @@ import type { User } from '#/auth';
import type { ApiError } from '#/api';
export const useAuth = createSharedComposable(() => {
const auth = useLocalStorage('auth', '');
const isLoggedin = useLocalStorage('isLoggedin', false);
const message = useMessage();
const user = reactive<User>({
@@ -10,7 +10,6 @@ export const useAuth = createSharedComposable(() => {
password: '',
});
const isLogin = computed(() => auth.value !== '');
function clearUser() {
user.username = '';
@@ -39,7 +38,7 @@ export const useAuth = createSharedComposable(() => {
});
onResult((res) => {
auth.value = `${res.token_type} ${res.access_token}`;
isLoggedin.value = true;
clearUser();
});
@@ -68,7 +67,7 @@ export const useAuth = createSharedComposable(() => {
onLogoutResult(() => {
clearUser();
auth.value = '';
isLoggedin.value = false;
});
const { execute: refresh, onResult: onRefreshResult } = useApi(
@@ -76,7 +75,7 @@ export const useAuth = createSharedComposable(() => {
);
onRefreshResult((res) => {
auth.value = `${res.token_type} ${res.access_token}`;
isLoggedin.value = true;
});
function update() {
@@ -90,7 +89,6 @@ export const useAuth = createSharedComposable(() => {
onResult((res) => {
if (res.message === 'update success') {
auth.value = `${res.token_type} ${res.access_token}`;
clearUser();
} else {
user.password = '';
@@ -107,9 +105,8 @@ export const useAuth = createSharedComposable(() => {
}
return {
auth,
isLoggedin,
user,
isLogin,
login,
logout,

View File

@@ -5,14 +5,14 @@ const router = createRouter({
});
router.beforeEach((to) => {
const { isLogin } = useAuth();
const { isLoggedin } = useAuth();
const { type, url } = storeToRefs(usePlayerStore());
if (!isLogin.value && to.path !== '/login') {
if (!isLoggedin.value && to.path !== '/login') {
return { name: 'Login' };
}
if (isLogin.value && to.path === '/login') {
if (isLoggedin.value && to.path === '/login') {
return { name: 'Index' };
}
@@ -21,7 +21,7 @@ router.beforeEach((to) => {
return false;
}
watch(isLogin, (val) => {
watch(isLoggedin, (val) => {
if (to.path === '/login' && val) {
router.replace({ name: 'Index' });
}

View File

@@ -1,6 +1,6 @@
export const useLogStore = defineStore('log', () => {
const log = ref('');
const { auth } = useAuth();
const { isLoggedin } = useAuth();
const message = useMessage();
function get() {
@@ -10,7 +10,7 @@ export const useLogStore = defineStore('log', () => {
log.value = value;
});
if (auth.value !== '') {
if (isLoggedin.value) {
execute();
}
}

View File

@@ -35,8 +35,8 @@ axios.interceptors.response.use(
/** token 过期 */
if (error.status === 401) {
const { auth } = useAuth();
auth.value = '';
const { isLoggedin } = useAuth();
isLoggedin.value = false;
}
/** 执行失败 */