docs: update configuration guide and locale routing
25
README.md
@@ -10,7 +10,11 @@
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.autobangumi.org">官方网站</a> | <a href="https://www.autobangumi.org/deploy/quick-start.html">快速开始</a> | <a href="https://www.autobangumi.org/changelog/3.2.html">更新日志</a> | <a href="https://t.me/autobangumi_update">更新推送</a> | <a href="https://t.me/autobangumi">TG 群组</a>
|
||||
简体中文 | <a href="https://www.autobangumi.org/en/">English</a> | <a href="https://www.autobangumi.org/ja/">日本語</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://www.autobangumi.org">官方网站</a> | <a href="https://www.autobangumi.org/deploy/quick-start.html">快速开始</a> | <a href="https://www.autobangumi.org/changelog/3.3.html">更新日志</a> | <a href="https://t.me/autobangumi_update">更新推送</a> | <a href="https://t.me/autobangumi">TG 群组</a>
|
||||
</p>
|
||||
|
||||
# 项目说明
|
||||
@@ -63,23 +67,22 @@
|
||||
- 无需维护完全无感使用
|
||||
- 内置 TMDB 解析器,可以直接生成完整的 TMDB 格式的文件以及番剧信息
|
||||
|
||||
### 3.2 新功能
|
||||
### 3.3 新功能
|
||||
|
||||
- **日历视图**:按播出日期查看订阅番剧,集成 Bangumi.tv 放送时间表
|
||||
- **Passkey 无密码登录**:支持 WebAuthn 指纹/面容登录,支持无用户名登录
|
||||
- **季度/集数偏移自动检测**:自动识别「虚拟季度」并计算正确的集数偏移
|
||||
- **番剧归档**:手动或自动归档已完结番剧,保持列表整洁
|
||||
- **搜索源设置面板**:在 UI 中直接管理搜索源,无需编辑配置文件
|
||||
- **RSS 连接状态**:实时显示订阅源健康状态,快速定位问题
|
||||
- **iOS 风格通知徽章**:直观显示需要关注的订阅
|
||||
- **全新 UI 设计**:深色/浅色主题、移动端适配、毛玻璃登录页
|
||||
- **性能优化**:并发 RSS 刷新提速 10 倍、并发下载提速 5 倍
|
||||
- **程序内更新**:在日志页面检查、应用和回滚更新,并进行 sha256 与 ed25519 签名校验
|
||||
- **多供应商 LLM 解析器**:支持 OpenAI 兼容接口、Anthropic Claude、Google Gemini,并提供 fallback / primary 模式
|
||||
- **aria2 一等下载器支持**:支持添加、查询、重命名、管理与重复检测,不再只是简单添加任务
|
||||
- **剧场版 / OVA / Special 支持**:自动识别电影、OVA、OAD、SP 等类型并按媒体库友好的结构整理
|
||||
- **单番发布偏好**:可为单个番剧设置字幕组与分辨率偏好,避免同集多字幕组重复下载
|
||||
- **SSE 驱动的 WebUI**:状态、下载器与日志页面改用事件流更新,减少轮询并提升稳定性
|
||||
- **安全与架构升级**:全异步后端、加固的认证栈、健康检查和更可靠的数据库迁移
|
||||
|
||||
## [Roadmap](https://github.com/users/EstrellaXD/projects/2)
|
||||
|
||||
***已支持的下载器:***
|
||||
|
||||
- qBittorrent
|
||||
- aria2
|
||||
|
||||
## Star History
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { defineConfig } from 'vitepress'
|
||||
|
||||
const version = `v3.2`
|
||||
const version = `v3.3.2`
|
||||
|
||||
// Shared configuration
|
||||
const sharedConfig = {
|
||||
@@ -61,7 +61,13 @@ const zhSidebar = [
|
||||
{ text: '通知设置', link: '/config/notifier' },
|
||||
{ text: '番剧管理设置', link: '/config/manager' },
|
||||
{ text: '代理设置', link: '/config/proxy' },
|
||||
{ text: '实验性功能', link: '/config/experimental' },
|
||||
{ text: '网络设置', link: '/config/network' },
|
||||
{ text: '搜索源设置', link: '/config/search-provider' },
|
||||
{ text: '播放器设置', link: '/config/player' },
|
||||
{ text: 'LLM 解析器', link: '/config/llm' },
|
||||
{ text: 'Passkey 设置', link: '/config/passkey' },
|
||||
{ text: '安全设置', link: '/config/security' },
|
||||
{ text: '软件更新', link: '/config/update' },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -91,6 +97,7 @@ const zhSidebar = [
|
||||
{
|
||||
text: '更新日志',
|
||||
items: [
|
||||
{ text: '3.3 版本说明', link: '/changelog/3.3' },
|
||||
{ text: '3.2 版本说明', link: '/changelog/3.2' },
|
||||
{ text: '3.1 版本说明', link: '/changelog/3.1' },
|
||||
{ text: '3.0 版本说明', link: '/changelog/3.0' },
|
||||
@@ -133,7 +140,13 @@ const jaSidebar = [
|
||||
{ text: '通知設定', link: '/ja/config/notifier' },
|
||||
{ text: 'アニメ管理設定', link: '/ja/config/manager' },
|
||||
{ text: 'プロキシ設定', link: '/ja/config/proxy' },
|
||||
{ text: '実験的機能', link: '/ja/config/experimental' },
|
||||
{ text: 'ネットワーク設定', link: '/ja/config/network' },
|
||||
{ text: '検索プロバイダー設定', link: '/ja/config/search-provider' },
|
||||
{ text: 'プレイヤー設定', link: '/ja/config/player' },
|
||||
{ text: 'LLMパーサー', link: '/ja/config/llm' },
|
||||
{ text: 'Passkey設定', link: '/ja/config/passkey' },
|
||||
{ text: 'セキュリティ設定', link: '/ja/config/security' },
|
||||
{ text: 'ソフトウェア更新', link: '/ja/config/update' },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -163,6 +176,7 @@ const jaSidebar = [
|
||||
{
|
||||
text: '更新履歴',
|
||||
items: [
|
||||
{ text: '3.3 リリースノート', link: '/ja/changelog/3.3' },
|
||||
{ text: '3.2 リリースノート', link: '/ja/changelog/3.2' },
|
||||
{ text: '3.1 リリースノート', link: '/ja/changelog/3.1' },
|
||||
{ text: '3.0 リリースノート', link: '/ja/changelog/3.0' },
|
||||
@@ -205,7 +219,13 @@ const enSidebar = [
|
||||
{ text: 'Notification Settings', link: '/en/config/notifier' },
|
||||
{ text: 'Bangumi Manager', link: '/en/config/manager' },
|
||||
{ text: 'Proxy Settings', link: '/en/config/proxy' },
|
||||
{ text: 'Experimental Features', link: '/en/config/experimental' },
|
||||
{ text: 'Network Settings', link: '/en/config/network' },
|
||||
{ text: 'Search Providers', link: '/en/config/search-provider' },
|
||||
{ text: 'Player Settings', link: '/en/config/player' },
|
||||
{ text: 'LLM Parser', link: '/en/config/llm' },
|
||||
{ text: 'Passkey Settings', link: '/en/config/passkey' },
|
||||
{ text: 'Security Settings', link: '/en/config/security' },
|
||||
{ text: 'Software Update', link: '/en/config/update' },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -235,6 +255,7 @@ const enSidebar = [
|
||||
{
|
||||
text: 'Changelog',
|
||||
items: [
|
||||
{ text: '3.3 Release Notes', link: '/en/changelog/3.3' },
|
||||
{ text: '3.2 Release Notes', link: '/en/changelog/3.2' },
|
||||
{ text: '3.1 Release Notes', link: '/en/changelog/3.1' },
|
||||
{ text: '3.0 Release Notes', link: '/en/changelog/3.0' },
|
||||
@@ -250,6 +271,7 @@ const enSidebar = [
|
||||
]
|
||||
|
||||
export default defineConfig({
|
||||
lang: 'zh-CN',
|
||||
title: 'AutoBangumi',
|
||||
description: '基于 RSS 的全自动番剧下载与整理工具',
|
||||
...sharedConfig,
|
||||
@@ -258,6 +280,7 @@ export default defineConfig({
|
||||
root: {
|
||||
label: '简体中文',
|
||||
lang: 'zh-CN',
|
||||
link: '/',
|
||||
themeConfig: {
|
||||
nav: [
|
||||
{ text: '关于', link: '/home/' },
|
||||
@@ -294,6 +317,7 @@ export default defineConfig({
|
||||
label: 'English',
|
||||
lang: 'en-US',
|
||||
link: '/en/',
|
||||
description: 'An RSS-based automatic anime downloading and organization tool',
|
||||
themeConfig: {
|
||||
nav: [
|
||||
{ text: 'About', link: '/en/home/' },
|
||||
@@ -310,12 +334,27 @@ export default defineConfig({
|
||||
message: `AutoBangumi is released under the MIT License. (latest: ${version})`,
|
||||
copyright: 'Copyright © 2021-present @EstrellaXD & AutoBangumi Contributors',
|
||||
},
|
||||
docFooter: {
|
||||
prev: 'Previous page',
|
||||
next: 'Next page',
|
||||
},
|
||||
outline: {
|
||||
label: 'On this page',
|
||||
},
|
||||
lastUpdated: {
|
||||
text: 'Last updated',
|
||||
},
|
||||
returnToTopLabel: 'Return to top',
|
||||
sidebarMenuLabel: 'Menu',
|
||||
darkModeSwitchLabel: 'Theme',
|
||||
langMenuLabel: 'Change language',
|
||||
},
|
||||
},
|
||||
ja: {
|
||||
label: '日本語',
|
||||
lang: 'ja-JP',
|
||||
link: '/ja/',
|
||||
description: 'RSSベースの全自動アニメダウンロード・整理ツール',
|
||||
themeConfig: {
|
||||
nav: [
|
||||
{ text: '概要', link: '/ja/home/' },
|
||||
|
||||
@@ -2,55 +2,54 @@
|
||||
|
||||
## WebUI 配置
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
- **下载器类型** 为下载器类型。目前仅支持 qBittorrent。
|
||||
- **地址** 为下载器地址。[详见下方说明](#下载器地址)
|
||||
- **下载路径** 为下载器的映射下载路径。[详见下方说明](#下载路径问题)
|
||||
- **SSL** 启用下载器连接的 SSL。
|
||||
- **下载器类型**:支持 `qbittorrent` 与 `aria2`。
|
||||
- **下载器地址**:下载器 Web API 或 RPC 地址。[详见下方说明](#下载器地址)
|
||||
- **用户名 / 密码**:qBittorrent 使用 WebUI 账户密码;aria2 会忽略用户名,并把密码栏作为 RPC secret。
|
||||
- **下载地址**:下载器中的保存路径,必须与下载器容器或宿主机看到的路径一致。[详见下方说明](#下载路径问题)
|
||||
- **SSL**:连接下载器时使用 HTTPS。
|
||||
|
||||
修改下载器设置后,需要点击底部的 **保存并重启**。保存后下载器连接会重新建立。
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 下载器地址
|
||||
|
||||
::: warning 注意
|
||||
请勿使用 127.0.0.1 或 localhost 作为下载器地址。
|
||||
Docker Bridge 模式下,请勿把下载器地址写成 `127.0.0.1` 或 `localhost`,除非下载器和 AutoBangumi 在同一个网络命名空间中。
|
||||
:::
|
||||
|
||||
由于官方教程中 AB 在 Docker 的 **Bridge** 模式下运行,使用 127.0.0.1 或 localhost 会解析到 AB 自身,而非下载器。
|
||||
- 如果 qBittorrent 也在 Docker 中运行,建议使用 Docker **网关地址:172.17.0.1**。
|
||||
- 如果 qBittorrent 运行在宿主机上,请使用宿主机的 IP 地址。
|
||||
如果 AB 在 Docker Bridge 模式下运行,`127.0.0.1` 会指向 AB 容器自身,而不是宿主机或另一个下载器容器。
|
||||
|
||||
如果 AB 以 **Host** 模式运行,则可以使用 127.0.0.1 代替 Docker 网关地址。
|
||||
- qBittorrent / aria2 也在 Docker 中运行:优先使用同一个 Docker 网络内的服务名,或使用 Docker 网关地址,例如 `172.17.0.1:8080`。
|
||||
- 下载器运行在宿主机上:使用宿主机局域网 IP。
|
||||
- AB 使用 Host 网络模式:可以使用 `127.0.0.1`。
|
||||
- aria2 示例:`172.17.0.1:6800`,密码栏填写 RPC secret。
|
||||
|
||||
::: warning 注意
|
||||
Macvlan 会隔离容器网络。如果没有额外的网桥配置,容器无法访问其他容器或宿主机本身。
|
||||
Macvlan 会隔离容器网络。如果没有额外的网桥配置,容器无法访问宿主机或其他容器。
|
||||
:::
|
||||
|
||||
### 下载路径问题
|
||||
|
||||
AB 中配置的路径仅用于生成对应的番剧文件路径。AB 本身不会直接管理该路径下的文件。
|
||||
AB 中的下载路径用于生成保存位置和后续整理路径。请填写**下载器视角下**的路径:
|
||||
|
||||
**下载路径应该填什么?**
|
||||
|
||||
此参数只需与**下载器**的配置匹配:
|
||||
- Docker:如果 qB 使用 `/downloads`,则设置为 `/downloads/Bangumi`。`Bangumi` 可以改为任意名称。
|
||||
- Linux/macOS:如果是 `/home/usr/downloads` 或 `/User/UserName/Downloads`,只需在末尾添加 `/Bangumi`。
|
||||
- Windows:将 `D:\Media\` 改为 `D:\Media\Bangumi`
|
||||
- Docker:如果下载器把媒体目录挂载为 `/downloads`,可填写 `/downloads/Bangumi`。
|
||||
- Linux/macOS:例如 `/home/user/downloads/Bangumi`。
|
||||
- Windows:例如 `D:\Media\Bangumi`。
|
||||
|
||||
## `config.json` 配置选项
|
||||
|
||||
配置文件中的对应选项如下:
|
||||
|
||||
配置节:`downloader`
|
||||
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
|----------|--------------|---------|-----------------|---------------------|
|
||||
| type | 下载器类型 | 字符串 | 下载器类型 | qbittorrent |
|
||||
| host | 下载器地址 | 字符串 | 下载器地址 | 172.17.0.1:8080 |
|
||||
| username | 下载器用户名 | 字符串 | 下载器用户名 | admin |
|
||||
| password | 下载器密码 | 字符串 | 下载器密码 | adminadmin |
|
||||
| path | 下载路径 | 字符串 | 下载路径 | /downloads/Bangumi |
|
||||
| ssl | 启用 SSL | 布尔值 | 启用 SSL | false |
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `type` | 下载器类型 | 字符串 | 下载器类型 | `qbittorrent` |
|
||||
| `host` | 下载器地址 | 字符串 | 下载器地址 | `172.17.0.1:8080` |
|
||||
| `username` | 下载器用户名 | 字符串 | 用户名 | `admin` |
|
||||
| `password` | 下载器密码或 aria2 RPC secret | 字符串 | 密码 | `adminadmin` |
|
||||
| `path` | 下载路径 | 字符串 | 下载地址 | `/downloads/Bangumi` |
|
||||
| `ssl` | 启用 HTTPS | 布尔值 | SSL | `false` |
|
||||
|
||||
@@ -1,57 +1,31 @@
|
||||
# 实验性功能
|
||||
# 旧版实验性功能
|
||||
|
||||
::: warning
|
||||
实验性功能仍在测试中。启用后可能会导致意外问题,且可能在未来版本中被移除。请谨慎使用!
|
||||
旧版 `experimental_openai` 配置已被新的 [LLM 解析器](/config/llm) 取代。此页面仅保留给旧配置文件和旧链接参考。
|
||||
:::
|
||||
|
||||
## OpenAI ChatGPT
|
||||
从 3.3 开始,标题解析相关的 AI 配置统一迁移到 `llm` 配置节。旧版 `experimental_openai` 中的 OpenAI / Azure OpenAI 配置在启动时会自动迁移:
|
||||
|
||||
使用 OpenAI ChatGPT 进行更好的结构化标题解析。例如:
|
||||
- 旧配置已有 API Key 或启用状态,而新 `llm` 段还没有有效配置时,AB 会生成新的 `llm` 配置。
|
||||
- 旧版语义是 LLM 优先解析,因此迁移后的 `mode` 会设为 `primary`。
|
||||
- `experimental_openai` 字段会保留在配置文件中,以便降级回滚时仍可读取。
|
||||
|
||||
```
|
||||
input: "【喵萌奶茶屋】★04月新番★[夏日重现/Summer Time Rendering][11][1080p][繁日双语][招募翻译]"
|
||||
output: '{"group": "喵萌奶茶屋", "title_en": "Summer Time Rendering", "resolution": "1080p", "episode": 11, "season": 1, "title_zh": "夏日重现", "sub": "", "title_jp": "", "season_raw": "", "source": ""}'
|
||||
```
|
||||
新配置请使用:
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
- [LLM 解析器](/config/llm)
|
||||
- [代理设置](/config/proxy)
|
||||
- [网络设置](/config/network)
|
||||
|
||||
- **启用 OpenAI** 启用 OpenAI 并使用 ChatGPT 进行标题解析。
|
||||
- **OpenAI API 类型** 默认为 OpenAI。
|
||||
- **OpenAI API Key** 为您的 OpenAI 账户 API 密钥。
|
||||
- **OpenAI API Base URL** 为 OpenAI 端点。默认为官方 OpenAI URL;您可以将其更改为兼容的第三方端点。
|
||||
- **OpenAI Model** 为 ChatGPT 模型参数。目前提供 `gpt-3.5-turbo`,价格实惠且在正确的提示下效果出色。
|
||||
|
||||
## Microsoft Azure OpenAI
|
||||
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
|
||||
除了标准 OpenAI 外,[版本 3.1.8](https://github.com/EstrellaXD/Auto_Bangumi/releases/tag/3.1.8) 添加了 Microsoft Azure OpenAI 支持。使用方式与标准 OpenAI 类似,共享部分参数,但请注意以下几点:
|
||||
|
||||
- **启用 OpenAI** 启用 OpenAI 并使用 ChatGPT 进行标题解析。
|
||||
- **OpenAI API 类型** — 选择 `azure` 以显示 Azure 专用选项。
|
||||
- **OpenAI API Key** 为您的 Microsoft Azure OpenAI API 密钥。
|
||||
- **OpenAI API Base URL** 对应 Microsoft Azure OpenAI 入口点。**需要手动填写**。
|
||||
- **Azure OpenAI 版本** 为 API 版本。默认为 `2023-05-15`。查看[支持的版本](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#completions)。
|
||||
- **Azure OpenAI Deployment ID** 为您的部署 ID,通常与模型名称相同。注意 Azure OpenAI 不支持 `_-` 以外的符号,因此 `gpt-3.5-turbo` 在 Azure 中变为 `gpt-35-turbo`。**需要手动填写**。
|
||||
|
||||
参考文档:
|
||||
|
||||
- [快速入门:开始使用 Azure OpenAI 服务的 GPT-35-Turbo 和 GPT-4](https://learn.microsoft.com/en-us/azure/ai-services/openai/chatgpt-quickstart?tabs=command-line&pivots=programming-language-python)
|
||||
- [了解如何使用 GPT-35-Turbo 和 GPT-4 模型](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/chatgpt?pivots=programming-language-chat-completions)
|
||||
|
||||
## `config.json` 配置选项
|
||||
|
||||
配置文件中的对应选项如下:
|
||||
## 旧配置节
|
||||
|
||||
配置节:`experimental_openai`
|
||||
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
|---------------|----------------------------|---------|----------------------------|---------------------------|
|
||||
| enable | 启用 OpenAI 解析器 | 布尔值 | 启用 OpenAI | false |
|
||||
| api_type | OpenAI API 类型 | 字符串 | API 类型 (`openai`/`azure`) | openai |
|
||||
| api_key | OpenAI API 密钥 | 字符串 | OpenAI API Key | |
|
||||
| api_base | API Base URL (Azure 入口点) | 字符串 | OpenAI API Base URL | https://api.openai.com/v1 |
|
||||
| model | OpenAI 模型 | 字符串 | OpenAI Model | gpt-3.5-turbo |
|
||||
| api_version | Azure OpenAI API 版本 | 字符串 | Azure API 版本 | 2023-05-15 |
|
||||
| deployment_id | Azure Deployment ID | 字符串 | Azure Deployment ID | |
|
||||
| 参数 | 说明 | 状态 |
|
||||
| --- | --- | --- |
|
||||
| `enable` | 启用旧版 OpenAI 解析器 | 已弃用 |
|
||||
| `api_key` | OpenAI API Key | 已迁移到 `llm.api_key` |
|
||||
| `api_base` | OpenAI / Azure API Base URL | 已迁移到 `llm.base_url` |
|
||||
| `api_type` | `openai` 或 `azure` | 已弃用 |
|
||||
| `api_version` | Azure API 版本 | 已弃用 |
|
||||
| `model` | OpenAI 模型 | 已迁移到 `llm.model` |
|
||||
| `deployment_id` | Azure Deployment ID | 已弃用 |
|
||||
|
||||
53
docs/config/llm.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# LLM 解析器
|
||||
|
||||
LLM 解析器用于在正则解析失败或需要更高解析质量时,调用大语言模型解析 RSS 标题。
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
## 解析模式
|
||||
|
||||
- **回退(正则优先)**:默认模式。先使用内置正则解析,失败时再调用 LLM。
|
||||
- **优先(LLM 优先)**:先调用 LLM,失败时再回退到正则。
|
||||
|
||||
## 服务商
|
||||
|
||||
内置 provider 包括:
|
||||
|
||||
- OpenAI:可填写 OpenAI 兼容端点,支持 DeepSeek、Ollama、LM Studio、OpenRouter、OneAPI 等。
|
||||
- Anthropic
|
||||
- Google Gemini
|
||||
|
||||
设置页还会显示已安装预设、订阅账号 provider,以及可下载 provider。订阅类 provider 需要先完成连接;可下载 provider 安装前请阅读界面中的风险提示。
|
||||
|
||||
## 高级设置
|
||||
|
||||
高级设置用于控制 LLM 调用的稳定性:
|
||||
|
||||
- **请求超时**:单次请求超时时间。
|
||||
- **解析缓存**:成功或失败结果的缓存时间,`0` 表示关闭缓存。
|
||||
- **最大并发数**:同时发出的 LLM 请求数量上限。
|
||||
- **熔断失败次数**:连续失败达到该次数后暂时停止调用。
|
||||
- **熔断暂停时长**:熔断后暂停调用的时间。
|
||||
|
||||
LLM 调用会使用应用的 [代理设置](/config/proxy)。
|
||||
|
||||
## `config.json` 配置选项
|
||||
|
||||
配置节:`llm`
|
||||
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | 启用 LLM 解析 | 布尔值 | 启用 LLM 解析 | `false` |
|
||||
| `provider` | provider ID | 字符串 | 服务商 | `openai` |
|
||||
| `api_key` | 内置 OpenAI provider 的 API Key | 字符串 | API 密钥 | `""` |
|
||||
| `model` | 模型名称 | 字符串 | 模型 | `gpt-5-mini` |
|
||||
| `base_url` | OpenAI 兼容端点 | 字符串 | API 地址 | `""` |
|
||||
| `mode` | `fallback` 或 `primary` | 字符串 | 解析模式 | `fallback` |
|
||||
| `timeout` | 请求超时 | 数字(秒) | 高级设置 | `20` |
|
||||
| `cache_ttl` | 缓存时长 | 整数(秒) | 高级设置 | `900` |
|
||||
| `max_concurrency` | 最大并发 | 整数 | 高级设置 | `2` |
|
||||
| `failure_threshold` | 熔断失败次数 | 整数 | 高级设置 | `3` |
|
||||
| `failure_backoff` | 熔断暂停时长 | 整数(秒) | 高级设置 | `300` |
|
||||
| `providers` | 非内置 provider 的覆盖配置 | 对象 | 按 provider 保存 | `{}` |
|
||||
|
||||
旧版 `experimental_openai` 配置会在启动时自动迁移到 `llm` 段。
|
||||
@@ -1,36 +1,34 @@
|
||||
# 番剧管理器设置
|
||||
# 番剧管理设置
|
||||
|
||||
## WebUI 配置
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
|
||||
- **启用** 启用番剧管理器。如果禁用,下方设置将不会生效。
|
||||
- **重命名方式** 为重命名方法。目前支持:
|
||||
- `pn` — `种子标题 S0XE0X.mp4` 格式
|
||||
- `advance` — `官方标题 S0XE0X.mp4` 格式
|
||||
- `none` — 不重命名
|
||||
- **剧集补全** 启用当季剧集补全。如果启用,将下载缺失的剧集。
|
||||
- **添加字幕组标签** 为下载规则添加字幕组标签。
|
||||
- **删除错误种子** 删除出错的种子。
|
||||
- **启用**:启用番剧管理器。关闭后,重命名与整理相关设置不会生效。
|
||||
- **重命名方式**:
|
||||
- `normal`:使用较保守的番剧标题与集数命名。
|
||||
- `pn`:保留更多发布标题信息,使用 `种子标题 S0XE0X` 风格。
|
||||
- `advance`:使用官方标题与标准季集格式。
|
||||
- `none`:不重命名文件。
|
||||
- **番剧补全**:检测当季缺失集数并尝试补全下载。
|
||||
- **添加组标签**:为下载器中的任务添加字幕组相关标签。
|
||||
- **删除坏种**:移除下载器中状态异常的种子。
|
||||
- **记录未匹配种子**:把当前没有匹配到规则的种子记录为“未匹配种子”。关闭后,后续新增规则可以立即接住 RSS 中仍存在的旧条目,但这些旧条目会在每轮 RSS 刷新时重新尝试匹配。
|
||||
- [关于文件路径][1]
|
||||
- [关于重命名][2]
|
||||
|
||||
## `config.json` 配置选项
|
||||
|
||||
配置文件中的对应选项如下:
|
||||
|
||||
配置节:`bangumi_manager`
|
||||
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
|--------------------|------------------|---------|-----------------|--------|
|
||||
| enable | 启用番剧管理器 | 布尔值 | 启用管理器 | true |
|
||||
| eps_complete | 启用剧集补全 | 布尔值 | 剧集补全 | false |
|
||||
| rename_method | 重命名方式 | 字符串 | 重命名方式 | pn |
|
||||
| group_tag | 添加字幕组标签 | 布尔值 | 字幕组标签 | false |
|
||||
| remove_bad_torrent | 删除错误种子 | 布尔值 | 删除错误种子 | false |
|
||||
配置节:`bangumi_manage`
|
||||
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | 启用番剧管理器 | 布尔值 | 启用 | `true` |
|
||||
| `eps_complete` | 启用剧集补全 | 布尔值 | 番剧补全 | `false` |
|
||||
| `rename_method` | 重命名方式 | 字符串 | 重命名方式 | `pn` |
|
||||
| `group_tag` | 添加字幕组标签 | 布尔值 | 添加组标签 | `false` |
|
||||
| `remove_bad_torrent` | 删除错误种子 | 布尔值 | 删除坏种 | `false` |
|
||||
| `track_orphans` | 记录未匹配种子 | 布尔值 | 记录未匹配种子 | `true` |
|
||||
|
||||
[1]: https://www.autobangumi.org/faq/#download-path
|
||||
[2]: https://www.autobangumi.org/faq/#file-renaming
|
||||
|
||||
19
docs/config/network.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# 网络设置
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
网络设置用于覆盖外部元数据服务地址和凭据。修改后需要点击底部 **保存并重启**。
|
||||
|
||||
- **TMDB API 地址**:默认 `https://api.themoviedb.org`。网络受限时可改为可访问的反代地址。
|
||||
- **TMDB API Key(可选)**:留空时使用内置共享 key;自配 key 可以避开共享 key 的限流。
|
||||
- **Bangumi API 地址**:默认 `https://api.bgm.tv`。
|
||||
|
||||
## `config.json` 配置选项
|
||||
|
||||
配置节:`network`
|
||||
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `tmdb_base_url` | TMDB API 地址 | 字符串 | TMDB API 地址 | `https://api.themoviedb.org` |
|
||||
| `tmdb_api_key` | 自定义 TMDB API Key | 字符串 | TMDB API Key(可选) | `""` |
|
||||
| `bgm_base_url` | Bangumi API 地址 | 字符串 | Bangumi API 地址 | `https://api.bgm.tv` |
|
||||
@@ -2,33 +2,55 @@
|
||||
|
||||
## WebUI 配置
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
- **启用** 启用通知功能。如果禁用,下方设置将不会生效。
|
||||
- **类型** 为通知类型。目前支持:
|
||||
- Telegram
|
||||
- Wecom
|
||||
- Bark
|
||||
- ServerChan
|
||||
- **Chat ID** 仅在使用 `telegram` 通知时需要填写。[如何获取 Telegram Bot Chat ID][1]
|
||||
- **Wecom**:在 Chat ID 字段填写自定义推送 URL,并在服务端添加[富文本消息][2]类型。[Wecom 配置指南][3]
|
||||
通知设置支持多个通知服务。启用总开关后,可以添加、编辑、启用/禁用、删除和测试单个 provider。修改通知设置后,需要点击底部 **保存并重启**。
|
||||
|
||||
当前支持的通知服务:
|
||||
|
||||
- Telegram
|
||||
- Discord
|
||||
- Bark
|
||||
- Server Chan / Server 酱³
|
||||
- WeCom / 企业微信
|
||||
- Gotify
|
||||
- Pushover
|
||||
- Webhook
|
||||
|
||||
不同 provider 需要的字段不同:
|
||||
|
||||
- Telegram:`Bot Token`、`Chat ID`
|
||||
- Discord / WeCom:Webhook URL
|
||||
- Bark:Device Key,可选 Server URL
|
||||
- Server Chan:SendKey
|
||||
- Gotify:Server URL、App Token
|
||||
- Pushover:User Key、API Token
|
||||
- Webhook:Webhook URL、消息模板
|
||||
|
||||
Webhook 模板可以使用 `{{title}}`、`{{season}}`、`{{episode}}`、`{{poster_url}}` 等占位符。非 Webhook provider 会把模板渲染为普通文本。
|
||||
|
||||
## `config.json` 配置选项
|
||||
|
||||
配置文件中的对应选项如下:
|
||||
|
||||
配置节:`notification`
|
||||
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
|---------|---------------|---------|-----------------|----------|
|
||||
| enable | 启用通知 | 布尔值 | 通知 | false |
|
||||
| type | 通知类型 | 字符串 | 通知类型 | telegram |
|
||||
| token | 通知 Token | 字符串 | 通知 Token | |
|
||||
| chat_id | 通知 Chat ID | 字符串 | 通知 Chat ID | |
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | 启用通知系统 | 布尔值 | 启用 | `false` |
|
||||
| `providers` | 通知服务列表 | 数组 | 通知服务列表 | `[]` |
|
||||
| `base_url` | 生成通知海报绝对地址时使用的公开 URL | 字符串 | 暂无 WebUI 项 | `""` |
|
||||
|
||||
`providers` 中的单个对象通常包含:
|
||||
|
||||
[1]: https://core.telegram.org/bots#6-botfather
|
||||
[2]: https://github.com/umbors/wecomchan-alifun
|
||||
[3]: https://github.com/easychen/wecomchan
|
||||
| 参数 | 说明 |
|
||||
| --- | --- |
|
||||
| `type` | provider 类型,例如 `telegram`、`discord`、`webhook` |
|
||||
| `enabled` | 是否启用该 provider |
|
||||
| `token` / `chat_id` | Telegram、Server Chan 等 provider 使用 |
|
||||
| `webhook_url` / `url` | Discord、WeCom、Webhook 使用 |
|
||||
| `server_url` / `device_key` | Bark、Gotify 使用 |
|
||||
| `user_key` / `api_token` | Pushover 使用 |
|
||||
| `template` | 自定义通知模板 |
|
||||
|
||||
旧版 `type`、`token`、`chat_id` 单 provider 配置仍可读取,启动时会迁移为 `providers` 列表。
|
||||
|
||||
@@ -1,34 +1,27 @@
|
||||
# 解析器设置
|
||||
|
||||
AB 的解析器用于解析聚合 RSS 链接。当 RSS 订阅中出现新条目时,AB 会解析标题并生成自动下载规则。
|
||||
AB 的解析器用于分析 RSS 条目标题,并生成番剧、季度、集数、字幕组等结构化信息。
|
||||
|
||||
::: tip
|
||||
从 v3.1 开始,解析器设置已移至各个 RSS 的单独设置中。要配置**解析器类型**,请参阅 [RSS 解析器设置][add_rss]。
|
||||
从 v3.1 开始,单个 RSS 的解析器类型在添加或编辑 RSS 时设置。这里的 **解析设置** 是全局开关、语言与过滤规则。
|
||||
:::
|
||||
|
||||
## WebUI 中的解析器设置
|
||||
## WebUI 配置
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
|
||||
- **启用**:是否启用 RSS 解析器。
|
||||
- **语言** 为 RSS 解析器语言。目前支持 `zh`、`jp` 和 `en`。
|
||||
- **过滤** 为全局 RSS 解析器过滤规则。可以输入字符串或正则表达式,AB 会在 RSS 解析时过滤掉匹配的条目。
|
||||
- **启用**:是否启用 RSS 解析器。关闭后不会自动解析新 RSS 条目。
|
||||
- **语言**:解析器偏好的标题语言,目前支持 `zh`、`jp` 和 `en`。
|
||||
- **排除**:全局过滤规则。可以输入普通字符串或正则表达式,匹配到的 RSS 条目会在解析阶段被过滤。
|
||||
|
||||
## `config.json` 配置选项
|
||||
|
||||
配置文件中的对应选项如下:
|
||||
|
||||
配置节:`rss_parser`
|
||||
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
|----------|------------------|---------|-------------------|----------------|
|
||||
| enable | 启用 RSS 解析器 | 布尔值 | 启用 RSS 解析器 | true |
|
||||
| filter | RSS 解析器过滤 | 数组 | 过滤 | [720,\d+-\d+] |
|
||||
| language | RSS 解析器语言 | 字符串 | RSS 解析器语言 | zh |
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | 启用 RSS 解析器 | 布尔值 | 启用 | `true` |
|
||||
| `filter` | 全局过滤规则 | 字符串数组 | 排除 | `["720", "\\d+-\\d+"]` |
|
||||
| `language` | 解析语言 | 字符串 | 语言 | `zh` |
|
||||
|
||||
|
||||
[rss_token]: rss
|
||||
[add_rss]: /feature/rss#parser-settings
|
||||
[reproxy]: proxy#reverse-proxy
|
||||
|
||||
23
docs/config/passkey.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Passkey 设置
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
Passkey 设置用于管理当前账户可用的 WebAuthn / Passkey 登录凭据。
|
||||
|
||||
- **添加 Passkey**:输入设备名称后,按浏览器或系统提示完成验证。
|
||||
- **删除**:移除不再使用的设备凭据。
|
||||
- **最后使用**:已使用过的 Passkey 会显示最后使用时间。
|
||||
- **已同步到多设备**:表示该 Passkey 支持跨设备同步。
|
||||
|
||||
::: tip
|
||||
Passkey 列表是即时保存项,不需要点击底部 **保存并重启**。浏览器必须支持 WebAuthn,且反向代理部署时应正确配置 HTTPS 与域名。
|
||||
:::
|
||||
|
||||
## 相关安全配置
|
||||
|
||||
高级部署可以在 `security` 配置节中设置:
|
||||
|
||||
| 参数 | 说明 |
|
||||
| --- | --- |
|
||||
| `webauthn_rp_id` | WebAuthn Relying Party ID。留空时根据请求头推断 |
|
||||
| `webauthn_origin` | 期望的 WebAuthn Origin。留空时根据请求头推断 |
|
||||
14
docs/config/player.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# 播放器设置
|
||||
|
||||
播放器设置用于侧边栏中的 **播放器** 页面,方便在 WebUI 内跳转或嵌入媒体服务器。
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
- **类型**:
|
||||
- `jump`:打开播放器页面时跳转到外部媒体服务器。
|
||||
- `iframe`:在 AB 页面内嵌入媒体服务器。
|
||||
- **播放器地址**:Jellyfin、Emby、Plex 等服务的访问地址。未填写协议时,前端会自动补 `http://`。
|
||||
|
||||
::: tip
|
||||
播放器设置保存在浏览器本地存储中,不属于 `config.json`,也不需要点击底部 **保存并重启**。
|
||||
:::
|
||||
@@ -2,24 +2,27 @@
|
||||
|
||||
## WebUI 配置
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
|
||||
- 时间间隔参数的单位为秒。如需设置分钟,请换算为秒。
|
||||
- RSS 为 RSS 检查间隔,影响自动下载规则的生成频率。
|
||||
- 重命名为重命名检查间隔,如需调整重命名检查频率可修改此项。
|
||||
- WebUI 端口为端口号。注意:如果使用 Docker,更改端口后需要在 Docker 中重新映射端口。
|
||||
设置页左侧可以搜索并跳转到不同分区。`program` 与 `log` 配置属于全局保存项,修改后需要点击底部的 **保存并重启** 才会生效。
|
||||
|
||||
- **RSS 检查间隔**:自动刷新 RSS、生成下载任务的周期,单位为秒。
|
||||
- **重命名间隔**:扫描下载器并整理文件的周期,单位为秒。
|
||||
- **WebUI 端口**:AutoBangumi 后端与 WebUI 使用的端口。Docker 部署时,如果改动此项,还需要同步修改容器端口映射。
|
||||
- **调试**:启用更详细的日志输出,排查问题后建议关闭。
|
||||
|
||||
## `config.json` 配置选项
|
||||
|
||||
配置文件中的对应选项如下:
|
||||
|
||||
配置节:`program`
|
||||
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
|-------------|----------------|---------------|-------------------|--------|
|
||||
| rss_time | RSS 检查间隔 | 整数(秒) | RSS 检查间隔 | 7200 |
|
||||
| rename_time | 重命名检查间隔 | 整数(秒) | 重命名检查间隔 | 60 |
|
||||
| webui_port | WebUI 端口 | 整数 | WebUI 端口 | 7892 |
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `rss_time` | RSS 检查间隔 | 整数(秒) | RSS 检查间隔 | `900` |
|
||||
| `rename_time` | 重命名检查间隔 | 整数(秒) | 重命名间隔 | `60` |
|
||||
| `webui_port` | WebUI 端口 | 整数 | WebUI 端口 | `7892` |
|
||||
|
||||
配置节:`log`
|
||||
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `debug_enable` | 启用调试日志 | 布尔值 | 调试 | `false` |
|
||||
|
||||
@@ -2,52 +2,46 @@
|
||||
|
||||
## 代理
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
|
||||
AB 支持 HTTP 和 SOCKS5 代理,以帮助解决网络问题。
|
||||
AB 支持 HTTP、HTTPS 和 SOCKS5 代理,用于访问 RSS、搜索源、TMDB、Bangumi、LLM provider 等外部服务。
|
||||
|
||||
- **启用**:是否启用代理。
|
||||
- **类型** 为代理类型。
|
||||
- **地址** 为代理地址。
|
||||
- **端口** 为代理端口。
|
||||
- **类型**:`http`、`https` 或 `socks5`。
|
||||
- **地址 / 端口**:代理服务地址与端口。
|
||||
- **用户名 / 密码**:代理需要认证时填写。配置值支持使用环境变量引用。
|
||||
|
||||
::: tip
|
||||
在 **SOCKS5** 模式下,需要填写用户名和密码。
|
||||
:::
|
||||
修改代理设置后,需要点击底部 **保存并重启**。
|
||||
|
||||
## `config.json` 配置选项
|
||||
|
||||
配置文件中的对应选项如下:
|
||||
|
||||
配置节:`proxy`
|
||||
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
|----------|------------|---------|--------------|--------|
|
||||
| enable | 启用代理 | 布尔值 | 代理 | false |
|
||||
| type | 代理类型 | 字符串 | 代理类型 | http |
|
||||
| host | 代理地址 | 字符串 | 代理地址 | |
|
||||
| port | 代理端口 | 整数 | 代理端口 | |
|
||||
| username | 代理用户名 | 字符串 | 代理用户名 | |
|
||||
| password | 代理密码 | 字符串 | 代理密码 | |
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | 启用代理 | 布尔值 | 启用 | `false` |
|
||||
| `type` | 代理类型 | 字符串 | 类型 | `http` |
|
||||
| `host` | 代理地址 | 字符串 | 地址 | `""` |
|
||||
| `port` | 代理端口 | 整数 | 端口 | `0` |
|
||||
| `username` | 代理用户名 | 字符串 | 用户名 | `""` |
|
||||
| `password` | 代理密码 | 字符串 | 密码 | `""` |
|
||||
|
||||
## 反向代理
|
||||
|
||||
- 使用 Mikan Project 备用域名 `mikanime.tv` 替换 RSS 订阅链接中的 `mikanani.me`。
|
||||
- 使用 Cloudflare Worker 作为反向代理,替换 RSS 订阅中所有的 `mikanani.me` 域名。
|
||||
如果 Mikan Project 主域名无法访问,可以:
|
||||
|
||||
## Cloudflare Workers
|
||||
- 使用备用域名 `mikanime.tv` 替换 RSS 订阅链接中的 `mikanani.me`。
|
||||
- 使用 Cloudflare Workers 等服务搭建反向代理,并替换 RSS 中的域名。
|
||||
|
||||
参考绕过其他服务封锁的方法,您可以使用 Cloudflare Workers 搭建反向代理。如何注册域名并绑定到 Cloudflare 不在本指南范围内。在 Workers 中添加以下代码,即可使用自己的域名访问 Mikan Project 并从 RSS 链接下载种子:
|
||||
## Cloudflare Workers 示例
|
||||
|
||||
```js
|
||||
const TELEGRAPH_URL = 'https://mikanani.me';
|
||||
const MY_DOMAIN = 'https://yourdomain.com'
|
||||
const MY_DOMAIN = 'https://yourdomain.com';
|
||||
|
||||
addEventListener('fetch', event => {
|
||||
event.respondWith(handleRequest(event.request))
|
||||
})
|
||||
event.respondWith(handleRequest(event.request));
|
||||
});
|
||||
|
||||
async function handleRequest(request) {
|
||||
const url = new URL(request.url);
|
||||
@@ -57,29 +51,22 @@ async function handleRequest(request) {
|
||||
headers: request.headers,
|
||||
method: request.method,
|
||||
body: request.body,
|
||||
redirect: 'manual'
|
||||
redirect: 'manual',
|
||||
});
|
||||
|
||||
const response = await fetch(modifiedRequest);
|
||||
const contentType = response.headers.get('Content-Type') || '';
|
||||
|
||||
// Only perform replacement if content type is RSS
|
||||
if (contentType.includes('application/xml')) {
|
||||
const text = await response.text();
|
||||
const replacedText = text.replace(/https?:\/\/mikanani\.me/g, MY_DOMAIN);
|
||||
const modifiedResponse = new Response(replacedText, response);
|
||||
|
||||
// Add CORS headers
|
||||
modifiedResponse.headers.set('Access-Control-Allow-Origin', '*');
|
||||
|
||||
return modifiedResponse;
|
||||
} else {
|
||||
const modifiedResponse = new Response(response.body, response);
|
||||
|
||||
// Add CORS headers
|
||||
modifiedResponse.headers.set('Access-Control-Allow-Origin', '*');
|
||||
|
||||
return modifiedResponse;
|
||||
}
|
||||
|
||||
const modifiedResponse = new Response(response.body, response);
|
||||
modifiedResponse.headers.set('Access-Control-Allow-Origin', '*');
|
||||
return modifiedResponse;
|
||||
}
|
||||
```
|
||||
|
||||
47
docs/config/search-provider.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# 搜索源设置
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
搜索源用于 WebUI 的种子搜索与订阅。内置源包括 `mikan`、`nyaa` 和 `dmhy`;默认源不能删除,但可以编辑 URL 模板。
|
||||
|
||||
搜索源设置是即时保存项,添加、编辑或删除后会立即写入 `config/search_provider.json`,不需要点击底部 **保存并重启**。
|
||||
|
||||
## 添加自定义搜索源
|
||||
|
||||
自定义 URL 模板必须包含 `%s`,AB 会把搜索关键词替换到这个位置。
|
||||
|
||||
```txt
|
||||
https://example.com/search?q=%s
|
||||
```
|
||||
|
||||
## PT 站点(NexusPHP)
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
PT 站点模式会根据站点地址、Passkey 和可选分类 ID 生成 `torrentrss.php` RSS 搜索模板。
|
||||
|
||||
::: warning
|
||||
部分新版原生 NexusPHP 已停用 `search` 参数,可能对任意关键词都返回最新种子。添加前请先在站点上确认 RSS 搜索会按关键词过滤。
|
||||
:::
|
||||
|
||||
## `search_provider.json` 配置选项
|
||||
|
||||
默认文件路径:`config/search_provider.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"mikan": {
|
||||
"url": "https://mikanani.me/RSS/Search?searchstr=%s",
|
||||
"parser": "mikan"
|
||||
},
|
||||
"nyaa": {
|
||||
"url": "https://nyaa.si/?page=rss&q=%s&c=0_0&f=0",
|
||||
"parser": "tmdb"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
| 参数 | 说明 |
|
||||
| --- | --- |
|
||||
| `url` | 搜索 URL 模板,必须包含 `%s` |
|
||||
| `parser` | 搜索结果使用的解析器。旧格式只有 URL 字符串时会自动补默认解析器 |
|
||||
27
docs/config/security.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# 安全设置
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
安全设置用于限制登录入口和 MCP 服务访问。修改后需要点击底部 **保存并重启**。
|
||||
|
||||
- **登录 IP 白名单**:允许访问登录接口的 IPv4/IPv6 CIDR。为空表示允许所有 IP。
|
||||
- **登录 API 令牌**:允许通过 `Authorization: Bearer <token>` 访问受保护 API。
|
||||
- **MCP IP 白名单**:允许访问 MCP 服务的 IPv4/IPv6 CIDR。为空表示拒绝所有基于 IP 的 MCP 访问。
|
||||
- **MCP API 令牌**:允许通过 Bearer Token 访问 MCP 服务。
|
||||
|
||||
## `config.json` 配置选项
|
||||
|
||||
配置节:`security`
|
||||
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `login_whitelist` | 登录 IP 白名单 | 字符串数组 | 登录 IP 白名单 | `[]` |
|
||||
| `login_tokens` | 登录 API 令牌 | 字符串数组 | 登录 API 令牌 | `[]` |
|
||||
| `mcp_whitelist` | MCP IP 白名单 | 字符串数组 | MCP IP 白名单 | 局域网与本机 CIDR 或 `[]` |
|
||||
| `mcp_tokens` | MCP API 令牌 | 字符串数组 | MCP API 令牌 | `[]` |
|
||||
| `webauthn_rp_id` | Passkey RP ID | 字符串 | 暂无 WebUI 项 | `""` |
|
||||
| `webauthn_origin` | Passkey Origin | 字符串 | 暂无 WebUI 项 | `""` |
|
||||
|
||||
::: warning
|
||||
令牌请使用足够长的随机字符串,并妥善保管。不要把真实令牌提交到公开仓库。
|
||||
:::
|
||||
26
docs/config/update.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# 软件更新
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
软件更新面板用于检查、应用和回滚 AutoBangumi 更新。
|
||||
|
||||
- **更新渠道**:
|
||||
- 稳定版:只检查正式 release。
|
||||
- 测试版:包含 beta / prerelease。
|
||||
- **自动检查**:进入设置页时自动检查一次;后端也会周期性检查并写入通知中心。
|
||||
- **检查更新**:手动刷新当前渠道的最新版本信息。
|
||||
- **立即更新**:下载、验签、解包并应用更新,然后重启。
|
||||
- **回滚**:有可回滚版本时显示,回退到上一个已应用版本。
|
||||
|
||||
::: warning
|
||||
应用内更新要求容器以 `restart: unless-stopped` 等策略运行,以便更新后自动重启。更新包会进行 sha256 与 ed25519 签名校验。
|
||||
:::
|
||||
|
||||
## `config.json` 配置选项
|
||||
|
||||
配置节:`update`
|
||||
|
||||
| 参数 | 说明 | 类型 | WebUI 选项 | 默认值 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `channel` | 更新渠道,`stable` 或 `beta` | 字符串 | 更新渠道 | `stable` |
|
||||
| `auto_check` | 自动检查更新 | 布尔值 | 自动检查 | `true` |
|
||||
20
docs/en/changelog/3.3.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# [3.3] — Beta
|
||||
|
||||
AutoBangumi 3.3 is a large modernization release. It keeps the REST API behavior backward-compatible while moving the backend to a fully async architecture, adding aria2 as a first-class downloader, expanding media organization beyond TV episodes, and making the WebUI update through SSE instead of repeated polling.
|
||||
|
||||
## Highlights
|
||||
|
||||
- In-app update checks, apply, and rollback from the Log page, with sha256 and ed25519 verification.
|
||||
- Multi-provider LLM parser support for OpenAI-compatible endpoints, Anthropic Claude, Google Gemini, and local services such as Ollama or LM Studio.
|
||||
- aria2 is now a first-class backend with add, query, rename, manage, and duplicate-detection support.
|
||||
- Movies, OVA, OAD, SP, and Specials are recognized and organized in media-library-friendly layouts.
|
||||
- Per-bangumi release preferences let you choose preferred subtitle groups or resolutions.
|
||||
- Status, downloader, and log views use `/api/v1/events/stream` for SSE-driven updates.
|
||||
- Security improvements include PyJWT + bcrypt, login IP allowlists, MCP allowlists, Bearer token support, and a public health endpoint.
|
||||
|
||||
## Upgrade Notes
|
||||
|
||||
- Database migrations run automatically on first startup.
|
||||
- If you use in-app updates in Docker, set the container restart policy to `restart: unless-stopped`.
|
||||
- Existing qBittorrent setups continue to work; aria2 users can now manage and organize downloads directly through AutoBangumi.
|
||||
- Beta feedback is especially welcome for aria2 setups, movie/special organization, and release preference deduplication.
|
||||
@@ -1,56 +1,47 @@
|
||||
# Downloader Settings
|
||||
|
||||
## WebUI Configuration
|
||||
## WebUI
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
- **Downloader Type** is the downloader type. Currently only qBittorrent is supported.
|
||||
- **Host** is the downloader address. [See below](#downloader-address)
|
||||
- **Download path** is the mapped download path for the downloader. [See below](#download-path-issues)
|
||||
- **SSL** enables SSL for the downloader connection.
|
||||
- **Downloader Type**: `qbittorrent` or `aria2`.
|
||||
- **Host**: Web API or RPC address. See [Downloader address](#downloader-address).
|
||||
- **Username / Password**: qBittorrent uses WebUI credentials. aria2 ignores username and uses the password field as the RPC secret.
|
||||
- **Download Path**: the path as seen by the downloader. See [Download path](#download-path).
|
||||
- **SSL**: use HTTPS when connecting to the downloader.
|
||||
|
||||
## Common Issues
|
||||
After changing downloader settings, click **Save & restart** so the downloader client is recreated.
|
||||
|
||||
### Downloader Address
|
||||
## Downloader Address
|
||||
|
||||
::: warning Note
|
||||
Do not use 127.0.0.1 or localhost as the downloader address.
|
||||
::: warning
|
||||
In Docker Bridge mode, do not use `127.0.0.1` or `localhost` unless the downloader and AutoBangumi share the same network namespace.
|
||||
:::
|
||||
|
||||
Since AB runs in Docker with **Bridge** mode in the official tutorial, using 127.0.0.1 or localhost will resolve to AB itself, not the downloader.
|
||||
- If your qBittorrent also runs in Docker, we recommend using the Docker **gateway address: 172.17.0.1**.
|
||||
- If your qBittorrent runs on the host machine, use the host machine's IP address.
|
||||
- Downloader in Docker: use a service name on the same Docker network, or a gateway address such as `172.17.0.1:8080`.
|
||||
- Downloader on the host: use the host LAN IP.
|
||||
- AutoBangumi in Host network mode: `127.0.0.1` can be used.
|
||||
- aria2 example: `172.17.0.1:6800`, with the RPC secret in the password field.
|
||||
|
||||
If you run AB in **Host** mode, you can use 127.0.0.1 instead of the Docker gateway address.
|
||||
## Download Path
|
||||
|
||||
::: warning Note
|
||||
Macvlan isolates container networks. Without additional bridge configuration, containers cannot access other containers or the host itself.
|
||||
:::
|
||||
Use the path from the downloader's point of view:
|
||||
|
||||
### Download Path Issues
|
||||
- Docker: if the downloader sees `/downloads`, use `/downloads/Bangumi`.
|
||||
- Linux/macOS: for example `/home/user/downloads/Bangumi`.
|
||||
- Windows: for example `D:\Media\Bangumi`.
|
||||
|
||||
The path configured in AB is only used to generate the corresponding anime file path. AB itself does not directly manage files at that path.
|
||||
## `config.json`
|
||||
|
||||
**What should I put for the download path?**
|
||||
Section: `downloader`
|
||||
|
||||
This parameter just needs to match your **downloader's** configuration:
|
||||
- Docker: If qB uses `/downloads`, then set `/downloads/Bangumi`. You can change `Bangumi` to anything.
|
||||
- Linux/macOS: If it's `/home/usr/downloads` or `/User/UserName/Downloads`, just append `/Bangumi` at the end.
|
||||
- Windows: Change `D:\Media\` to `D:\Media\Bangumi`
|
||||
|
||||
## `config.json` Configuration Options
|
||||
|
||||
The corresponding options in the configuration file are:
|
||||
|
||||
Configuration section: `downloader`
|
||||
|
||||
| Parameter | Description | Type | WebUI Option | Default |
|
||||
|-----------|---------------------|---------|----------------------|---------------------|
|
||||
| type | Downloader type | String | Downloader type | qbittorrent |
|
||||
| host | Downloader address | String | Downloader address | 172.17.0.1:8080 |
|
||||
| username | Downloader username | String | Downloader username | admin |
|
||||
| password | Downloader password | String | Downloader password | adminadmin |
|
||||
| path | Download path | String | Download path | /downloads/Bangumi |
|
||||
| ssl | Enable SSL | Boolean | Enable SSL | false |
|
||||
| Key | Description | Type | WebUI field | Default |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `type` | Downloader type | string | Downloader Type | `qbittorrent` |
|
||||
| `host` | Downloader address | string | Host | `172.17.0.1:8080` |
|
||||
| `username` | Downloader username | string | Username | `admin` |
|
||||
| `password` | Downloader password or aria2 RPC secret | string | Password | `adminadmin` |
|
||||
| `path` | Download path | string | Download Path | `/downloads/Bangumi` |
|
||||
| `ssl` | Enable HTTPS | boolean | SSL | `false` |
|
||||
|
||||
@@ -1,57 +1,31 @@
|
||||
# Experimental Features
|
||||
# Legacy Experimental Features
|
||||
|
||||
::: warning
|
||||
Experimental features are still in testing. Enabling them may cause unexpected issues and they may be removed in future versions. Use with caution!
|
||||
The old `experimental_openai` section has been replaced by the new [LLM Parser](/en/config/llm). This page remains only for old config files and old links.
|
||||
:::
|
||||
|
||||
## OpenAI ChatGPT
|
||||
Since 3.3, AI title parsing is configured through the `llm` section.
|
||||
|
||||
Use OpenAI ChatGPT for better structured title parsing. For example:
|
||||
- If the old OpenAI config has an API key or is enabled, and the new `llm` section is still empty, AutoBangumi migrates it on startup.
|
||||
- The old behavior was LLM-first, so migrated configs use `mode: "primary"`.
|
||||
- `experimental_openai` remains in the config file for downgrade compatibility.
|
||||
|
||||
```
|
||||
input: "【喵萌奶茶屋】★04月新番★[夏日重现/Summer Time Rendering][11][1080p][繁日双语][招募翻译]"
|
||||
output: '{"group": "喵萌奶茶屋", "title_en": "Summer Time Rendering", "resolution": "1080p", "episode": 11, "season": 1, "title_zh": "夏日重现", "sub": "", "title_jp": "", "season_raw": "", "source": ""}'
|
||||
```
|
||||
Use these pages for new deployments:
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
- [LLM Parser](/en/config/llm)
|
||||
- [Proxy Settings](/en/config/proxy)
|
||||
- [Network Settings](/en/config/network)
|
||||
|
||||
- **Enable OpenAI** enables OpenAI and uses ChatGPT for title parsing.
|
||||
- **OpenAI API Type** defaults to OpenAI.
|
||||
- **OpenAI API Key** is your OpenAI account API key.
|
||||
- **OpenAI API Base URL** is the OpenAI endpoint. Defaults to the official OpenAI URL; you can change it to a compatible third-party endpoint.
|
||||
- **OpenAI Model** is the ChatGPT model parameter. Currently provides `gpt-3.5-turbo`, which is affordable and produces excellent results with the right prompts.
|
||||
## Legacy Section
|
||||
|
||||
## Microsoft Azure OpenAI
|
||||
Section: `experimental_openai`
|
||||
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
|
||||
In addition to standard OpenAI, [version 3.1.8](https://github.com/EstrellaXD/Auto_Bangumi/releases/tag/3.1.8) added Microsoft Azure OpenAI support. Usage is similar to standard OpenAI with some shared parameters, but note the following:
|
||||
|
||||
- **Enable OpenAI** enables OpenAI and uses ChatGPT for title parsing.
|
||||
- **OpenAI API Type** — Select `azure` to show Azure-specific options.
|
||||
- **OpenAI API Key** is your Microsoft Azure OpenAI API key.
|
||||
- **OpenAI API Base URL** corresponds to the Microsoft Azure OpenAI Entrypoint. **Must be filled in manually**.
|
||||
- **Azure OpenAI Version** is the API version. Defaults to `2023-05-15`. See [supported versions](https://learn.microsoft.com/en-us/azure/ai-services/openai/reference#completions).
|
||||
- **Azure OpenAI Deployment ID** is your deployment ID, usually the same as the model name. Note that Azure OpenAI doesn't support symbols other than `_-`, so `gpt-3.5-turbo` becomes `gpt-35-turbo` in Azure. **Must be filled in manually**.
|
||||
|
||||
Reference documentation:
|
||||
|
||||
- [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` Configuration Options
|
||||
|
||||
The corresponding options in the configuration file are:
|
||||
|
||||
Configuration section: `experimental_openai`
|
||||
|
||||
| Parameter | Description | Type | WebUI Option | Default |
|
||||
|---------------|--------------------------|---------|---------------------------|---------------------------|
|
||||
| enable | Enable OpenAI parser | Boolean | Enable OpenAI | false |
|
||||
| api_type | OpenAI API type | String | API type (`openai`/`azure`) | openai |
|
||||
| api_key | OpenAI API key | String | OpenAI API Key | |
|
||||
| api_base | API Base URL (Azure entrypoint) | String | OpenAI API Base URL | https://api.openai.com/v1 |
|
||||
| model | OpenAI model | String | OpenAI Model | gpt-3.5-turbo |
|
||||
| api_version | Azure OpenAI API version | String | Azure API Version | 2023-05-15 |
|
||||
| deployment_id | Azure Deployment ID | String | Azure Deployment ID | |
|
||||
| Key | Description | Status |
|
||||
| --- | --- | --- |
|
||||
| `enable` | Enable old OpenAI parser | deprecated |
|
||||
| `api_key` | OpenAI API key | migrated to `llm.api_key` |
|
||||
| `api_base` | OpenAI / Azure API base URL | migrated to `llm.base_url` |
|
||||
| `api_type` | `openai` or `azure` | deprecated |
|
||||
| `api_version` | Azure API version | deprecated |
|
||||
| `model` | OpenAI model | migrated to `llm.model` |
|
||||
| `deployment_id` | Azure deployment ID | deprecated |
|
||||
|
||||
41
docs/en/config/llm.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# LLM Parser
|
||||
|
||||
The LLM parser calls a large language model to parse RSS titles when regex parsing fails or when higher-quality parsing is desired.
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
## Parse Mode
|
||||
|
||||
- **Fallback (regex first)**: default. Use regex first, then LLM if regex fails.
|
||||
- **Primary (LLM first)**: use LLM first, then regex as a safety net.
|
||||
|
||||
## Providers
|
||||
|
||||
Built-in providers include:
|
||||
|
||||
- OpenAI, including OpenAI-compatible endpoints such as DeepSeek, Ollama, LM Studio, OpenRouter and OneAPI.
|
||||
- Anthropic
|
||||
- Google Gemini
|
||||
|
||||
The settings page can also show installed presets, subscription-account providers and downloadable providers. Subscription providers need to be connected first; downloadable providers may show a risk notice before installation.
|
||||
|
||||
LLM requests use the app [proxy settings](/en/config/proxy).
|
||||
|
||||
## `config.json`
|
||||
|
||||
Section: `llm`
|
||||
|
||||
| Key | Description | Type | WebUI field | Default |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | Enable LLM parsing | boolean | Enable LLM Parsing | `false` |
|
||||
| `provider` | Provider ID | string | Provider | `openai` |
|
||||
| `api_key` | API key for built-in OpenAI provider | string | API Key | `""` |
|
||||
| `model` | Model name | string | Model | `gpt-5-mini` |
|
||||
| `base_url` | OpenAI-compatible endpoint | string | Base URL | `""` |
|
||||
| `mode` | `fallback` or `primary` | string | Parse Mode | `fallback` |
|
||||
| `timeout` | Request timeout | number seconds | Advanced Settings | `20` |
|
||||
| `cache_ttl` | Parse cache TTL | integer seconds | Advanced Settings | `900` |
|
||||
| `max_concurrency` | Maximum concurrent requests | integer | Advanced Settings | `2` |
|
||||
| `failure_threshold` | Failures before circuit breaker | integer | Advanced Settings | `3` |
|
||||
| `failure_backoff` | Circuit breaker pause | integer seconds | Advanced Settings | `300` |
|
||||
| `providers` | Per-provider overrides | object | saved by provider | `{}` |
|
||||
@@ -1,36 +1,29 @@
|
||||
# Bangumi Manager Settings
|
||||
# Bangumi Manager
|
||||
|
||||
## WebUI Configuration
|
||||
## WebUI
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
- **Enable**: enables file organization and rename behavior.
|
||||
- **Rename Method**:
|
||||
- `normal`: conservative title and episode naming.
|
||||
- `pn`: keeps more release-title information, using a `Torrent title S0XE0X` style.
|
||||
- `advance`: uses official title and standard season/episode naming.
|
||||
- `none`: do not rename files.
|
||||
- **EPS complete**: tries to backfill missing episodes in the current season.
|
||||
- **Add Group Tag**: adds subgroup-related tags to downloader tasks.
|
||||
- **Delete Bad Torrent**: removes errored downloader tasks.
|
||||
- **Track Unmatched Torrents**: stores torrents that do not match any rule as orphan records. Disable it if you want newly added rules to catch old feed items immediately, at the cost of rechecking those old items on each RSS refresh.
|
||||
|
||||
- **Enable** enables the bangumi manager. If disabled, the settings below will not take effect.
|
||||
- **Rename method** is the renaming method. Currently supported:
|
||||
- `pn` — `Torrent Title S0XE0X.mp4` format
|
||||
- `advance` — `Official Title S0XE0X.mp4` format
|
||||
- `none` — No renaming
|
||||
- **Eps complete** enables episode completion for the current season. If enabled, missing episodes will be downloaded.
|
||||
- **Add group tag** adds subtitle group tags to download rules.
|
||||
- **Delete bad torrent** deletes errored torrents.
|
||||
- [About file paths][1]
|
||||
- [About renaming][2]
|
||||
## `config.json`
|
||||
|
||||
## `config.json` Configuration Options
|
||||
Section: `bangumi_manage`
|
||||
|
||||
The corresponding options in the configuration file are:
|
||||
|
||||
Configuration section: `bangumi_manager`
|
||||
|
||||
| Parameter | Description | Type | WebUI Option | Default |
|
||||
|--------------------|------------------------------ |---------|-------------------|---------|
|
||||
| enable | Enable bangumi manager | Boolean | Enable manager | true |
|
||||
| eps_complete | Enable episode completion | Boolean | Episode completion | false |
|
||||
| rename_method | Rename method | String | Rename method | pn |
|
||||
| group_tag | Add subtitle group tag | Boolean | Group tag | false |
|
||||
| remove_bad_torrent | Delete bad torrents | Boolean | Remove bad torrent | false |
|
||||
|
||||
|
||||
[1]: https://www.autobangumi.org/faq/#download-path
|
||||
[2]: https://www.autobangumi.org/faq/#file-renaming
|
||||
| Key | Description | Type | WebUI field | Default |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | Enable manager | boolean | Enable | `true` |
|
||||
| `eps_complete` | Enable episode completion | boolean | EPS complete | `false` |
|
||||
| `rename_method` | Rename method | string | Rename Method | `pn` |
|
||||
| `group_tag` | Add subgroup tags | boolean | Add Group Tag | `false` |
|
||||
| `remove_bad_torrent` | Delete errored torrents | boolean | Delete Bad Torrent | `false` |
|
||||
| `track_orphans` | Track unmatched torrents | boolean | Track Unmatched Torrents | `true` |
|
||||
|
||||
19
docs/en/config/network.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Network Settings
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
Network settings override external metadata endpoints and credentials. Click **Save & restart** after changing them.
|
||||
|
||||
- **TMDB API URL**: default `https://api.themoviedb.org`.
|
||||
- **TMDB API Key (optional)**: leave empty to use the built-in shared key. A personal key can avoid shared-key rate limits.
|
||||
- **Bangumi API URL**: default `https://api.bgm.tv`.
|
||||
|
||||
## `config.json`
|
||||
|
||||
Section: `network`
|
||||
|
||||
| Key | Description | Type | WebUI field | Default |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `tmdb_base_url` | TMDB API URL | string | TMDB API URL | `https://api.themoviedb.org` |
|
||||
| `tmdb_api_key` | Custom TMDB API key | string | TMDB API Key | `""` |
|
||||
| `bgm_base_url` | Bangumi API URL | string | Bangumi API URL | `https://api.bgm.tv` |
|
||||
@@ -1,34 +1,44 @@
|
||||
# Notification Settings
|
||||
|
||||
## WebUI Configuration
|
||||
## WebUI
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
- **Enable** enables notifications. If disabled, the settings below will not take effect.
|
||||
- **Type** is the notification type. Currently supported:
|
||||
- Telegram
|
||||
- Wecom
|
||||
- Bark
|
||||
- ServerChan
|
||||
- **Chat ID** only needs to be filled in when using `telegram` notifications. [How to get Telegram Bot Chat ID][1]
|
||||
- **Wecom**: Fill in the custom push URL in the Chat ID field, and add [Rich Text Message][2] type on the server side. [Wecom Configuration Guide][3]
|
||||
Notifications now support multiple providers. Enable the global switch, then add, edit, enable/disable, remove or test individual providers. Click **Save & restart** after changing notification settings.
|
||||
|
||||
## `config.json` Configuration Options
|
||||
Supported providers:
|
||||
|
||||
The corresponding options in the configuration file are:
|
||||
- Telegram
|
||||
- Discord
|
||||
- Bark
|
||||
- Server Chan / Server Chan 3
|
||||
- WeCom
|
||||
- Gotify
|
||||
- Pushover
|
||||
- Webhook
|
||||
|
||||
Configuration section: `notification`
|
||||
Provider-specific fields include:
|
||||
|
||||
| Parameter | Description | Type | WebUI Option | Default |
|
||||
|-----------|------------------|---------|-----------------|----------|
|
||||
| enable | Enable notifications | Boolean | Notifications | false |
|
||||
| type | Notification type | String | Notification type | telegram |
|
||||
| token | Notification token | String | Notification token | |
|
||||
| chat_id | Notification Chat ID | String | Notification Chat ID | |
|
||||
- Telegram: `Bot Token`, `Chat ID`
|
||||
- Discord / WeCom: Webhook URL
|
||||
- Bark: Device Key and optional Server URL
|
||||
- Server Chan: SendKey
|
||||
- Gotify: Server URL and App Token
|
||||
- Pushover: User Key and API Token
|
||||
- Webhook: Webhook URL and message template
|
||||
|
||||
Webhook templates can use placeholders such as `{{title}}`, `{{season}}`, `{{episode}}` and `{{poster_url}}`.
|
||||
|
||||
[1]: https://core.telegram.org/bots#6-botfather
|
||||
[2]: https://github.com/umbors/wecomchan-alifun
|
||||
[3]: https://github.com/easychen/wecomchan
|
||||
## `config.json`
|
||||
|
||||
Section: `notification`
|
||||
|
||||
| Key | Description | Type | WebUI field | Default |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | Enable notifications | boolean | Enable | `false` |
|
||||
| `providers` | Notification provider list | array | Provider list | `[]` |
|
||||
| `base_url` | Public base URL for absolute poster URLs | string | config only | `""` |
|
||||
|
||||
Legacy `type`, `token` and `chat_id` single-provider configs are still read and migrated into `providers`.
|
||||
|
||||
@@ -1,34 +1,25 @@
|
||||
# Parser Settings
|
||||
|
||||
AB's parser is used to parse aggregated RSS links. When new entries appear in the RSS feed, AB will parse the titles and generate automatic download rules.
|
||||
The parser extracts structured metadata such as title, season, episode and subgroup from RSS item titles.
|
||||
|
||||
::: tip
|
||||
Since v3.1, parser settings have moved to individual RSS settings. To configure the **parser type**, see [Setting up parser for RSS][add_rss].
|
||||
Since v3.1, the parser type for each RSS feed is configured when adding or editing that feed. This page controls only the global parser switch, language and filters.
|
||||
:::
|
||||
|
||||
## Parser Settings in WebUI
|
||||
## WebUI
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
- **Enable**: enables RSS parsing.
|
||||
- **Language**: preferred parser language. Supported values are `zh`, `jp` and `en`.
|
||||
- **Exclude**: global filter rules. Plain strings and regular expressions are supported.
|
||||
|
||||
- **Enable**: Whether to enable the RSS parser.
|
||||
- **Language** is the RSS parser language. Currently supports `zh`, `jp`, and `en`.
|
||||
- **Exclude** is the global RSS parser filter. You can enter strings or regular expressions, and AB will filter out matching entries during RSS parsing.
|
||||
## `config.json`
|
||||
|
||||
## `config.json` Configuration Options
|
||||
Section: `rss_parser`
|
||||
|
||||
The corresponding options in the configuration file are:
|
||||
|
||||
Configuration section: `rss_parser`
|
||||
|
||||
| Parameter | Description | Type | WebUI Option | Default |
|
||||
|-----------|-----------------------|---------|---------------------|----------------|
|
||||
| enable | Enable RSS parser | Boolean | Enable RSS parser | true |
|
||||
| filter | RSS parser filter | Array | Filter | [720,\d+-\d+] |
|
||||
| language | RSS parser language | String | RSS parser language | zh |
|
||||
|
||||
|
||||
[rss_token]: rss
|
||||
[add_rss]: /feature/rss#parser-settings
|
||||
[reproxy]: proxy#reverse-proxy
|
||||
| Key | Description | Type | WebUI field | Default |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | Enable RSS parser | boolean | Enable | `true` |
|
||||
| `filter` | Global filters | string array | Exclude | `["720", "\\d+-\\d+"]` |
|
||||
| `language` | Parser language | string | Language | `zh` |
|
||||
|
||||
16
docs/en/config/passkey.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Passkey Settings
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
Passkey settings manage WebAuthn / Passkey credentials for the current account.
|
||||
|
||||
- **Add Passkey**: enter a device name, then complete the browser or OS verification prompt.
|
||||
- **Delete**: remove a device credential.
|
||||
- **Last used**: shown after a credential has been used.
|
||||
- **Synced**: indicates a multi-device passkey.
|
||||
|
||||
::: tip
|
||||
Passkey changes are saved immediately. They do not require **Save & restart**. Your browser must support WebAuthn; reverse-proxy deployments should use a correct HTTPS origin and domain.
|
||||
:::
|
||||
|
||||
Advanced deployments can configure `security.webauthn_rp_id` and `security.webauthn_origin`.
|
||||
14
docs/en/config/player.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Player Settings
|
||||
|
||||
Player settings control the **Player** page in the sidebar.
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
- **Type**:
|
||||
- `jump`: opening the Player page jumps to the external media server.
|
||||
- `iframe`: embeds the media server inside AutoBangumi.
|
||||
- **Player URL**: Jellyfin, Emby, Plex or another media server URL. If no protocol is provided, the frontend adds `http://`.
|
||||
|
||||
::: tip
|
||||
Player settings are stored in browser local storage. They are not part of `config.json` and do not require **Save & restart**.
|
||||
:::
|
||||
@@ -1,25 +1,28 @@
|
||||
# Program Settings
|
||||
|
||||
## WebUI Configuration
|
||||
## WebUI
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
The Config page has a searchable section rail on the left. `program` and `log` are global settings; after changing them, click **Save & restart** at the bottom.
|
||||
|
||||
- Interval Time parameters are in seconds. Convert to seconds if you need to set minutes.
|
||||
- RSS is the RSS check interval, which affects how often automatic download rules are generated.
|
||||
- Rename is the rename check interval. Modify this if you need to change how often renaming is checked.
|
||||
- WebUI Port is the port number. Note that if you're using Docker, you need to remap the port in Docker after changing it.
|
||||
- **RSS check interval**: how often AutoBangumi refreshes RSS feeds and creates download tasks, in seconds.
|
||||
- **Rename interval**: how often AutoBangumi checks downloader tasks and organizes files, in seconds.
|
||||
- **WebUI port**: the backend and WebUI port. In Docker deployments, update the container port mapping as well.
|
||||
- **Debug**: enables verbose logs. Disable it after troubleshooting.
|
||||
|
||||
## `config.json`
|
||||
|
||||
## `config.json` Configuration Options
|
||||
Section: `program`
|
||||
|
||||
The corresponding options in the configuration file are:
|
||||
| Key | Description | Type | WebUI field | Default |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `rss_time` | RSS check interval | integer seconds | RSS check interval | `900` |
|
||||
| `rename_time` | Rename interval | integer seconds | Rename interval | `60` |
|
||||
| `webui_port` | WebUI port | integer | WebUI Port | `7892` |
|
||||
|
||||
Configuration section: `program`
|
||||
Section: `log`
|
||||
|
||||
| Parameter | Description | Type | WebUI Option | Default |
|
||||
|-------------|---------------------|-----------------|---------------------|---------|
|
||||
| rss_time | RSS check interval | Integer (seconds) | RSS check interval | 7200 |
|
||||
| rename_time | Rename check interval | Integer (seconds) | Rename check interval | 60 |
|
||||
| webui_port | WebUI port | Integer | WebUI port | 7892 |
|
||||
| Key | Description | Type | WebUI field | Default |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `debug_enable` | Enable debug logs | boolean | Debug | `false` |
|
||||
|
||||
@@ -1,85 +1,31 @@
|
||||
# Proxy and Reverse Proxy
|
||||
# Proxy And Reverse Proxy
|
||||
|
||||
## Proxy
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
AutoBangumi supports HTTP, HTTPS and SOCKS5 proxies for RSS, search providers, TMDB, Bangumi, LLM providers and other outbound requests.
|
||||
|
||||
AB supports HTTP and SOCKS5 proxies to help resolve network issues.
|
||||
- **Enable**: enables the proxy.
|
||||
- **Type**: `http`, `https` or `socks5`.
|
||||
- **Host / Port**: proxy address and port.
|
||||
- **Username / Password**: fill them when your proxy requires authentication. Values can reference environment variables.
|
||||
|
||||
- **Enable**: Whether to enable the proxy.
|
||||
- **Type** is the proxy type.
|
||||
- **Host** is the proxy address.
|
||||
- **Port** is the proxy port.
|
||||
Click **Save & restart** after changing proxy settings.
|
||||
|
||||
::: tip
|
||||
In **SOCKS5** mode, username and password are required.
|
||||
:::
|
||||
## `config.json`
|
||||
|
||||
## `config.json` Configuration Options
|
||||
Section: `proxy`
|
||||
|
||||
The corresponding options in the configuration file are:
|
||||
|
||||
Configuration section: `proxy`
|
||||
|
||||
| Parameter | Description | Type | WebUI Option | Default |
|
||||
|-----------|---------------|---------|---------------|---------|
|
||||
| enable | Enable proxy | Boolean | Proxy | false |
|
||||
| type | Proxy type | String | Proxy type | http |
|
||||
| host | Proxy address | String | Proxy address | |
|
||||
| port | Proxy port | Integer | Proxy port | |
|
||||
| username | Proxy username | String | Proxy username | |
|
||||
| password | Proxy password | String | Proxy password | |
|
||||
| Key | Description | Type | WebUI field | Default |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | Enable proxy | boolean | Enable | `false` |
|
||||
| `type` | Proxy type | string | Type | `http` |
|
||||
| `host` | Proxy host | string | Host | `""` |
|
||||
| `port` | Proxy port | integer | Port | `0` |
|
||||
| `username` | Proxy username | string | Username | `""` |
|
||||
| `password` | Proxy password | string | Password | `""` |
|
||||
|
||||
## Reverse Proxy
|
||||
|
||||
- Use the Mikan Project alternative domain `mikanime.tv` to replace `mikanani.me` in your RSS subscription URL.
|
||||
- Use a Cloudflare Worker as a reverse proxy and replace all `mikanani.me` domains in the RSS feed.
|
||||
|
||||
## Cloudflare Workers
|
||||
|
||||
Based on the approach used to bypass blocks on other services, you can set up a reverse proxy using Cloudflare Workers. How to register a domain and bind it to Cloudflare is beyond the scope of this guide. Add the following code in Workers to use your own domain to access Mikan Project and download torrents from RSS links:
|
||||
|
||||
```js
|
||||
const TELEGRAPH_URL = 'https://mikanani.me';
|
||||
const MY_DOMAIN = 'https://yourdomain.com'
|
||||
|
||||
addEventListener('fetch', event => {
|
||||
event.respondWith(handleRequest(event.request))
|
||||
})
|
||||
|
||||
async function handleRequest(request) {
|
||||
const url = new URL(request.url);
|
||||
url.host = TELEGRAPH_URL.replace(/^https?:\/\//, '');
|
||||
|
||||
const modifiedRequest = new Request(url.toString(), {
|
||||
headers: request.headers,
|
||||
method: request.method,
|
||||
body: request.body,
|
||||
redirect: 'manual'
|
||||
});
|
||||
|
||||
const response = await fetch(modifiedRequest);
|
||||
const contentType = response.headers.get('Content-Type') || '';
|
||||
|
||||
// Only perform replacement if content type is RSS
|
||||
if (contentType.includes('application/xml')) {
|
||||
const text = await response.text();
|
||||
const replacedText = text.replace(/https?:\/\/mikanani\.me/g, MY_DOMAIN);
|
||||
const modifiedResponse = new Response(replacedText, response);
|
||||
|
||||
// Add CORS headers
|
||||
modifiedResponse.headers.set('Access-Control-Allow-Origin', '*');
|
||||
|
||||
return modifiedResponse;
|
||||
} else {
|
||||
const modifiedResponse = new Response(response.body, response);
|
||||
|
||||
// Add CORS headers
|
||||
modifiedResponse.headers.set('Access-Control-Allow-Origin', '*');
|
||||
|
||||
return modifiedResponse;
|
||||
}
|
||||
}
|
||||
```
|
||||
If Mikan Project is unreachable, you can replace `mikanani.me` with the alternate domain `mikanime.tv`, or deploy a reverse proxy such as Cloudflare Workers and rewrite RSS URLs through your own domain.
|
||||
|
||||
43
docs/en/config/search-provider.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Search Providers
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
Search providers power WebUI torrent search and search-based subscription. Built-in providers are `mikan`, `nyaa` and `dmhy`; default providers cannot be deleted, but their URL templates can be edited.
|
||||
|
||||
Search provider changes are saved immediately to `config/search_provider.json`; they do not use the bottom **Save & restart** button.
|
||||
|
||||
## Custom URL
|
||||
|
||||
A custom URL template must contain `%s`, which is replaced with the search keywords.
|
||||
|
||||
```txt
|
||||
https://example.com/search?q=%s
|
||||
```
|
||||
|
||||
## PT Site (NexusPHP)
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
The NexusPHP mode generates a `torrentrss.php` RSS search template from a site URL, passkey and optional category IDs.
|
||||
|
||||
::: warning
|
||||
Some newer native NexusPHP sites no longer honor the `search` parameter and may return latest torrents for any keyword. Verify that RSS search filters correctly on your site before adding it.
|
||||
:::
|
||||
|
||||
## `search_provider.json`
|
||||
|
||||
Default path: `config/search_provider.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"mikan": {
|
||||
"url": "https://mikanani.me/RSS/Search?searchstr=%s",
|
||||
"parser": "mikan"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
| Key | Description |
|
||||
| --- | --- |
|
||||
| `url` | Search URL template. Must contain `%s` |
|
||||
| `parser` | Parser used for this provider. Legacy URL-only entries are normalized automatically |
|
||||
27
docs/en/config/security.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Security Settings
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
Security settings restrict login and MCP access. Click **Save & restart** after changing them.
|
||||
|
||||
- **Login IP Whitelist**: IPv4/IPv6 CIDR ranges allowed to access login. Empty means all IPs are allowed.
|
||||
- **Login API Tokens**: bearer tokens that can access protected APIs.
|
||||
- **MCP IP Whitelist**: CIDR ranges allowed to access MCP. Empty means deny IP-based MCP access.
|
||||
- **MCP API Tokens**: bearer tokens for MCP.
|
||||
|
||||
## `config.json`
|
||||
|
||||
Section: `security`
|
||||
|
||||
| Key | Description | Type | WebUI field | Default |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `login_whitelist` | Login IP whitelist | string array | Login IP Whitelist | `[]` |
|
||||
| `login_tokens` | Login API tokens | string array | Login API Tokens | `[]` |
|
||||
| `mcp_whitelist` | MCP IP whitelist | string array | MCP IP Whitelist | local-network CIDRs or `[]` |
|
||||
| `mcp_tokens` | MCP API tokens | string array | MCP API Tokens | `[]` |
|
||||
| `webauthn_rp_id` | Passkey RP ID | string | config only | `""` |
|
||||
| `webauthn_origin` | Passkey origin | string | config only | `""` |
|
||||
|
||||
::: warning
|
||||
Use long random tokens and never commit real tokens to a public repository.
|
||||
:::
|
||||
26
docs/en/config/update.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Software Update
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
The Software Update panel checks, applies and rolls back AutoBangumi updates.
|
||||
|
||||
- **Update channel**:
|
||||
- Stable: stable releases only.
|
||||
- Beta: includes prereleases.
|
||||
- **Check automatically**: checks once when entering the settings page; the backend also checks periodically and writes update notifications.
|
||||
- **Check for updates**: manually refreshes version information for the current channel.
|
||||
- **Update now**: downloads, verifies, unpacks and applies an update, then restarts.
|
||||
- **Rollback**: appears when a rollback target exists.
|
||||
|
||||
::: warning
|
||||
In-app updates require the container to run with a restart policy such as `restart: unless-stopped`. Update bundles are checked with sha256 and ed25519 signatures.
|
||||
:::
|
||||
|
||||
## `config.json`
|
||||
|
||||
Section: `update`
|
||||
|
||||
| Key | Description | Type | WebUI field | Default |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `channel` | `stable` or `beta` | string | Update channel | `stable` |
|
||||
| `auto_check` | Automatically check for updates | boolean | Check automatically | `true` |
|
||||
@@ -3,71 +3,71 @@
|
||||
layout: home
|
||||
|
||||
title: AutoBangumi
|
||||
titleTemplate: 全自动追番,解放双手!
|
||||
titleTemplate: Fully automated anime tracking
|
||||
|
||||
hero:
|
||||
name: AutoBangumi
|
||||
text: 全自动追番,解放双手!
|
||||
tagline: 全自动 RSS 订阅解析、下载管理和文件整理
|
||||
text: Fully automated anime tracking
|
||||
tagline: Automated RSS subscription parsing, download management, and media organization
|
||||
actions:
|
||||
- theme: brand
|
||||
text: 快速开始
|
||||
link: /deploy/quick-start
|
||||
text: Quick Start
|
||||
link: /en/deploy/quick-start
|
||||
- theme: alt
|
||||
text: 关于
|
||||
link: /home/
|
||||
text: About
|
||||
link: /en/home/
|
||||
- theme: alt
|
||||
text: 更新日志
|
||||
link: /changelog/3.2
|
||||
text: Changelog
|
||||
link: /en/changelog/3.3
|
||||
|
||||
features:
|
||||
- icon:
|
||||
src: /image/icons/rss.png
|
||||
title: RSS 订阅解析
|
||||
details: 自动识别并解析番剧 RSS 订阅源。无需手动输入,只需订阅即可自动完成解析、下载和整理。
|
||||
title: RSS Subscription Parsing
|
||||
details: Automatically recognizes and parses anime RSS subscriptions. Subscribe once, then AutoBangumi handles parsing, downloading, and organization.
|
||||
- icon:
|
||||
src: /image/icons/qbittorrent-logo.svg
|
||||
title: qBittorrent 下载器
|
||||
details: 使用 qBittorrent 下载番剧资源。在 AutoBangumi 中即可管理现有番剧、下载往期番剧以及删除条目。
|
||||
title: qBittorrent / aria2 Downloaders
|
||||
details: Download anime with qBittorrent or aria2, manage existing series, fetch missed episodes, and remove entries from AutoBangumi.
|
||||
- icon:
|
||||
src: /image/icons/tmdb-icon.png
|
||||
title: TMDB 元数据匹配
|
||||
details: 通过 TMDB 匹配番剧信息以获取准确的元数据,确保即使在多个字幕组之间也能正确解析。
|
||||
title: TMDB Metadata Matching
|
||||
details: Match anime metadata through TMDB so titles remain accurate even across different subtitle groups and release names.
|
||||
- icon:
|
||||
src: /image/icons/plex-icon.png
|
||||
title: Plex / Jellyfin / Infuse ...
|
||||
details: 根据匹配结果自动整理文件名和目录结构,确保媒体库软件能够高成功率地刮削元数据。
|
||||
details: Organize filenames and folders for media libraries, improving metadata scraping success in Plex, Jellyfin, Infuse, and similar apps.
|
||||
---
|
||||
|
||||
|
||||
<div class="container">
|
||||
<div class="vp-doc">
|
||||
|
||||
## 鸣谢
|
||||
## Acknowledgements
|
||||
|
||||
### 致谢
|
||||
感谢
|
||||
- [Mikan Project](https://mikanani.me) 提供了如此优秀的番剧资源。
|
||||
- [VitePress](https://vitepress.dev) 提供了优秀的文档框架。
|
||||
- [qBittorrent](https://www.qbittorrent.org) 提供了优秀的下载器。
|
||||
- [Plex](https://www.plex.tv) / [Jellyfin](https://jellyfin.org) 提供了优秀的自托管媒体库。
|
||||
- [Infuse](https://firecore.com/infuse) 提供了优雅的视频播放器。
|
||||
- [弹弹 Play](https://www.dandanplay.com) 提供了优秀的弹幕播放器。
|
||||
- 每一个番剧制作组 / 字幕组 / 爱好者。
|
||||
### Thanks
|
||||
- [Mikan Project](https://mikanani.me) for excellent anime resources.
|
||||
- [VitePress](https://vitepress.dev) for the documentation framework.
|
||||
- [qBittorrent](https://www.qbittorrent.org) for the downloader.
|
||||
- [aria2](https://aria2.github.io) for the downloader.
|
||||
- [Plex](https://www.plex.tv) / [Jellyfin](https://jellyfin.org) for self-hosted media libraries.
|
||||
- [Infuse](https://firecore.com/infuse) for an elegant video player.
|
||||
- [DanDanPlay](https://www.dandanplay.com) for danmaku playback.
|
||||
- Every anime production team, subtitle group, and fan.
|
||||
|
||||
### 贡献者
|
||||
### Contributors
|
||||
|
||||
[
|
||||
{class=contributors-avatar}
|
||||
](https://github.com/EstrellaXD/Auto_Bangumi/graphs/contributors)
|
||||
|
||||
## 免责声明
|
||||
## Disclaimer
|
||||
|
||||
由于 AutoBangumi 通过非官方版权渠道获取番剧:
|
||||
AutoBangumi obtains anime through unofficial copyright channels:
|
||||
|
||||
- **请勿**将 AutoBangumi 用于商业用途。
|
||||
- **请勿**制作包含 AutoBangumi 的视频内容并在国内视频平台(版权相关方)上发布。
|
||||
- **请勿**将 AutoBangumi 用于任何违反法律法规的活动。
|
||||
- **Do not** use AutoBangumi for commercial purposes.
|
||||
- **Do not** create videos containing AutoBangumi and publish them on domestic video platforms related to copyright holders.
|
||||
- **Do not** use AutoBangumi for any activity that violates laws or regulations.
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -18,7 +18,7 @@ hero:
|
||||
link: /home/
|
||||
- theme: alt
|
||||
text: 更新日志
|
||||
link: /changelog/3.2
|
||||
link: /changelog/3.3
|
||||
|
||||
features:
|
||||
- icon:
|
||||
@@ -27,8 +27,8 @@ features:
|
||||
details: 自动识别并解析番剧 RSS 订阅源。无需手动输入,只需订阅即可自动完成解析、下载和整理。
|
||||
- icon:
|
||||
src: /image/icons/qbittorrent-logo.svg
|
||||
title: qBittorrent 下载器
|
||||
details: 使用 qBittorrent 下载番剧资源。在 AutoBangumi 中即可管理现有番剧、下载往期番剧以及删除条目。
|
||||
title: qBittorrent / aria2 下载器
|
||||
details: 使用 qBittorrent 或 aria2 下载番剧资源。在 AutoBangumi 中即可管理现有番剧、下载往期番剧以及删除条目。
|
||||
- icon:
|
||||
src: /image/icons/tmdb-icon.png
|
||||
title: TMDB 元数据匹配
|
||||
@@ -50,6 +50,7 @@ features:
|
||||
- [Mikan Project](https://mikanani.me) 提供了如此优秀的番剧资源。
|
||||
- [VitePress](https://vitepress.dev) 提供了优秀的文档框架。
|
||||
- [qBittorrent](https://www.qbittorrent.org) 提供了优秀的下载器。
|
||||
- [aria2](https://aria2.github.io) 提供了优秀的下载器。
|
||||
- [Plex](https://www.plex.tv) / [Jellyfin](https://jellyfin.org) 提供了优秀的自托管媒体库。
|
||||
- [Infuse](https://firecore.com/infuse) 提供了优雅的视频播放器。
|
||||
- [弹弹 Play](https://www.dandanplay.com) 提供了优秀的弹幕播放器。
|
||||
|
||||
20
docs/ja/changelog/3.3.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# [3.3] — Beta
|
||||
|
||||
AutoBangumi 3.3は大きな近代化リリースです。REST APIの挙動は後方互換を保ちつつ、バックエンドを完全非同期構成へ移行し、aria2を正式なダウンロードバックエンドとして扱い、TVエピソード以外の整理にも対応しました。WebUIもポーリングではなくSSEで状態を更新します。
|
||||
|
||||
## ハイライト
|
||||
|
||||
- ログページから更新の確認、適用、ロールバックが可能になり、sha256とed25519署名を検証します。
|
||||
- OpenAI互換エンドポイント、Anthropic Claude、Google Gemini、OllamaやLM Studioなどに対応したマルチプロバイダーLLMパーサーを追加しました。
|
||||
- aria2が正式なバックエンドになり、追加、照会、リネーム、管理、重複検出に対応しました。
|
||||
- 劇場版、OVA、OAD、SP、Specialを認識し、メディアライブラリに適した構造で整理します。
|
||||
- 番組ごとに字幕グループや解像度の優先設定を指定できます。
|
||||
- ステータス、ダウンローダー、ログ画面は`/api/v1/events/stream`によるSSE更新に対応しました。
|
||||
- PyJWT + bcrypt、ログインIP許可リスト、MCP許可リスト、Bearer Token、公開ヘルスチェックなど、セキュリティ面も強化しました。
|
||||
|
||||
## アップグレードメモ
|
||||
|
||||
- データベースマイグレーションは初回起動時に自動実行されます。
|
||||
- Dockerでアプリ内更新を使う場合は、コンテナの再起動ポリシーを`restart: unless-stopped`にしてください。
|
||||
- 既存のqBittorrent構成はそのまま動作します。aria2ユーザーはAutoBangumiからダウンロードの管理と整理を直接行えるようになります。
|
||||
- aria2構成、劇場版/Specialの整理、リリース優先設定の重複排除について、Betaフィードバックを歓迎します。
|
||||
@@ -1,56 +1,39 @@
|
||||
# ダウンローダー設定
|
||||
|
||||
## WebUI設定
|
||||
## WebUI
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
- **ダウンローダータイプ**はダウンローダーの種類です。現在はqBittorrentのみサポートされています。
|
||||
- **ホスト**はダウンローダーのアドレスです。[下記参照](#ダウンローダーアドレス)
|
||||
- **ダウンロードパス**はダウンローダーのマッピングされたダウンロードパスです。[下記参照](#ダウンロードパスの問題)
|
||||
- **SSL**はダウンローダー接続のSSLを有効にします。
|
||||
- **ダウンローダー種類**:`qbittorrent` または `aria2`。
|
||||
- **ホスト**:Web APIまたはRPCのアドレスです。
|
||||
- **ユーザー名 / パスワード**:qBittorrentはWebUIの認証情報を使います。aria2ではユーザー名は無視され、パスワード欄がRPC secretになります。
|
||||
- **ダウンロードパス**:ダウンローダーから見える保存パスです。
|
||||
- **SSL**:HTTPSで接続します。
|
||||
|
||||
## よくある問題
|
||||
変更後は **保存して再起動** をクリックしてください。
|
||||
|
||||
### ダウンローダーアドレス
|
||||
## アドレスの注意
|
||||
|
||||
::: warning 注意
|
||||
ダウンローダーアドレスに127.0.0.1またはlocalhostを使用しないでください。
|
||||
::: warning
|
||||
Docker Bridgeモードでは、ダウンローダーとAutoBangumiが同じネットワーク名前空間にない限り、`127.0.0.1` や `localhost` は使わないでください。
|
||||
:::
|
||||
|
||||
公式チュートリアルではABは**Bridge**モードのDockerで実行されるため、127.0.0.1またはlocalhostを使用するとダウンローダーではなくAB自体に解決されます。
|
||||
- qBittorrentもDockerで実行している場合は、Dockerの**ゲートウェイアドレス:172.17.0.1**の使用を推奨します。
|
||||
- qBittorrentがホストマシンで実行されている場合は、ホストマシンのIPアドレスを使用してください。
|
||||
- ダウンローダーもDocker内:同じDockerネットワークのサービス名、または `172.17.0.1:8080` などのゲートウェイを使います。
|
||||
- ダウンローダーがホスト上:ホストのLAN IPを使います。
|
||||
- AutoBangumiがHostネットワーク:`127.0.0.1` を使えます。
|
||||
- aria2例:`172.17.0.1:6800`、RPC secretはパスワード欄に入力します。
|
||||
|
||||
ABを**Host**モードで実行している場合は、Dockerゲートウェイアドレスの代わりに127.0.0.1を使用できます。
|
||||
## `config.json`
|
||||
|
||||
::: warning 注意
|
||||
Macvlanはコンテナネットワークを分離します。追加のブリッジ設定なしでは、コンテナは他のコンテナやホスト自体にアクセスできません。
|
||||
:::
|
||||
セクション:`downloader`
|
||||
|
||||
### ダウンロードパスの問題
|
||||
|
||||
ABで設定されたパスは、対応するアニメファイルパスを生成するためにのみ使用されます。AB自体はそのパスのファイルを直接管理しません。
|
||||
|
||||
**ダウンロードパスには何を入力すればよいですか?**
|
||||
|
||||
このパラメータは**ダウンローダー**の設定と一致させるだけです:
|
||||
- Docker:qBが`/downloads`を使用している場合は、`/downloads/Bangumi`に設定します。`Bangumi`は任意の名前に変更できます。
|
||||
- Linux/macOS:`/home/usr/downloads`または`/User/UserName/Downloads`の場合は、末尾に`/Bangumi`を追加するだけです。
|
||||
- Windows:`D:\Media\`を`D:\Media\Bangumi`に変更します
|
||||
|
||||
## `config.json`設定オプション
|
||||
|
||||
設定ファイルの対応するオプションは以下のとおりです:
|
||||
|
||||
設定セクション:`downloader`
|
||||
|
||||
| パラメータ | 説明 | タイプ | WebUIオプション | デフォルト |
|
||||
|-----------|-------------------|---------|----------------------|---------------------|
|
||||
| type | ダウンローダータイプ | 文字列 | ダウンローダータイプ | qbittorrent |
|
||||
| host | ダウンローダーアドレス | 文字列 | ダウンローダーアドレス | 172.17.0.1:8080 |
|
||||
| username | ダウンローダーユーザー名 | 文字列 | ダウンローダーユーザー名 | admin |
|
||||
| password | ダウンローダーパスワード | 文字列 | ダウンローダーパスワード | adminadmin |
|
||||
| path | ダウンロードパス | 文字列 | ダウンロードパス | /downloads/Bangumi |
|
||||
| ssl | SSL有効 | ブール値 | SSL有効 | false |
|
||||
| キー | 説明 | 型 | WebUI項目 | 既定値 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `type` | ダウンローダー種類 | 文字列 | ダウンローダー種類 | `qbittorrent` |
|
||||
| `host` | ダウンローダーアドレス | 文字列 | ホスト | `172.17.0.1:8080` |
|
||||
| `username` | ユーザー名 | 文字列 | ユーザー名 | `admin` |
|
||||
| `password` | パスワードまたはaria2 RPC secret | 文字列 | パスワード | `adminadmin` |
|
||||
| `path` | ダウンロードパス | 文字列 | ダウンロードパス | `/downloads/Bangumi` |
|
||||
| `ssl` | HTTPSを使う | 真偽値 | SSL | `false` |
|
||||
|
||||
@@ -1,57 +1,17 @@
|
||||
# 実験的機能
|
||||
# 旧実験的機能
|
||||
|
||||
::: warning
|
||||
実験的機能はまだテスト中です。有効にすると予期しない問題が発生する可能性があり、将来のバージョンで削除される可能性があります。注意して使用してください!
|
||||
旧 `experimental_openai` セクションは新しい [LLMパーサー](/ja/config/llm) に置き換えられました。このページは旧設定ファイルと旧リンクのために残しています。
|
||||
:::
|
||||
|
||||
## OpenAI ChatGPT
|
||||
3.3以降、AIタイトル解析は `llm` セクションで設定します。
|
||||
|
||||
より良い構造化タイトル解析のためにOpenAI ChatGPTを使用します。例:
|
||||
- 旧OpenAI設定にAPI Keyまたは有効化状態があり、新 `llm` が未設定の場合、起動時に自動移行されます。
|
||||
- 旧動作はLLM優先だったため、移行後は `mode: "primary"` になります。
|
||||
- `experimental_openai` はダウングレード互換のため設定ファイルに残ります。
|
||||
|
||||
```
|
||||
input: "【喵萌奶茶屋】★04月新番★[夏日重现/Summer Time Rendering][11][1080p][繁日双语][招募翻译]"
|
||||
output: '{"group": "喵萌奶茶屋", "title_en": "Summer Time Rendering", "resolution": "1080p", "episode": 11, "season": 1, "title_zh": "夏日重现", "sub": "", "title_jp": "", "season_raw": "", "source": ""}'
|
||||
```
|
||||
新規設定では以下を使ってください:
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
|
||||
- **OpenAI有効**はOpenAIを有効にし、タイトル解析にChatGPTを使用します。
|
||||
- **OpenAI APIタイプ**はデフォルトでOpenAIです。
|
||||
- **OpenAI APIキー**はOpenAIアカウントのAPIキーです。
|
||||
- **OpenAI APIベースURL**はOpenAIエンドポイントです。デフォルトでは公式OpenAI URLですが、互換性のあるサードパーティエンドポイントに変更できます。
|
||||
- **OpenAIモデル**はChatGPTモデルパラメータです。現在`gpt-3.5-turbo`を提供しており、適切なプロンプトで手頃な価格で優れた結果を生成します。
|
||||
|
||||
## Microsoft Azure OpenAI
|
||||
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
|
||||
標準のOpenAIに加えて、[バージョン3.1.8](https://github.com/EstrellaXD/Auto_Bangumi/releases/tag/3.1.8)でMicrosoft Azure OpenAIサポートが追加されました。使用方法は標準のOpenAIと同様で、一部の共有パラメータがありますが、以下の点に注意してください:
|
||||
|
||||
- **OpenAI有効**はOpenAIを有効にし、タイトル解析にChatGPTを使用します。
|
||||
- **OpenAI APIタイプ** — Azure固有のオプションを表示するには`azure`を選択します。
|
||||
- **OpenAI APIキー**はMicrosoft Azure OpenAI APIキーです。
|
||||
- **OpenAI APIベースURL**はMicrosoft Azure OpenAIエントリーポイントに対応します。**手動で入力する必要があります**。
|
||||
- **Azure OpenAIバージョン**はAPIバージョンです。デフォルトは`2023-05-15`です。[サポートされているバージョン](https://learn.microsoft.com/ja-jp/azure/ai-services/openai/reference#completions)を参照してください。
|
||||
- **Azure OpenAIデプロイメントID**はデプロイメントIDで、通常はモデル名と同じです。Azure OpenAIは`_-`以外の記号をサポートしていないため、`gpt-3.5-turbo`はAzureでは`gpt-35-turbo`になることに注意してください。**手動で入力する必要があります**。
|
||||
|
||||
参考ドキュメント:
|
||||
|
||||
- [クイックスタート:Azure OpenAI ServiceでGPT-35-TurboとGPT-4の使用を開始する](https://learn.microsoft.com/ja-jp/azure/ai-services/openai/chatgpt-quickstart?tabs=command-line&pivots=programming-language-python)
|
||||
- [GPT-35-TurboとGPT-4モデルの操作方法を学ぶ](https://learn.microsoft.com/ja-jp/azure/ai-services/openai/how-to/chatgpt?pivots=programming-language-chat-completions)
|
||||
|
||||
## `config.json`設定オプション
|
||||
|
||||
設定ファイルの対応するオプションは以下のとおりです:
|
||||
|
||||
設定セクション:`experimental_openai`
|
||||
|
||||
| パラメータ | 説明 | タイプ | WebUIオプション | デフォルト |
|
||||
|---------------|---------------------------|---------|----------------------------|------------------------------|
|
||||
| enable | OpenAIパーサー有効 | ブール値 | OpenAI有効 | false |
|
||||
| api_type | OpenAI APIタイプ | 文字列 | APIタイプ (`openai`/`azure`) | openai |
|
||||
| api_key | OpenAI APIキー | 文字列 | OpenAI APIキー | |
|
||||
| api_base | APIベースURL(Azureエントリーポイント) | 文字列 | OpenAI APIベースURL | https://api.openai.com/v1 |
|
||||
| model | OpenAIモデル | 文字列 | OpenAIモデル | gpt-3.5-turbo |
|
||||
| api_version | Azure OpenAI APIバージョン | 文字列 | Azure APIバージョン | 2023-05-15 |
|
||||
| deployment_id | AzureデプロイメントID | 文字列 | AzureデプロイメントID | |
|
||||
- [LLMパーサー](/ja/config/llm)
|
||||
- [プロキシ設定](/ja/config/proxy)
|
||||
- [ネットワーク設定](/ja/config/network)
|
||||
|
||||
39
docs/ja/config/llm.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# LLMパーサー
|
||||
|
||||
LLMパーサーは、正規表現解析が失敗した場合やより高品質な解析が必要な場合に、大規模言語モデルでRSSタイトルを解析します。
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
## 解析モード
|
||||
|
||||
- **フォールバック(正規表現優先)**:既定値です。まず正規表現で解析し、失敗時にLLMを使います。
|
||||
- **優先(LLM優先)**:まずLLMを使い、失敗時に正規表現へ戻します。
|
||||
|
||||
## Provider
|
||||
|
||||
内蔵provider:
|
||||
|
||||
- OpenAI。DeepSeek、Ollama、LM Studio、OpenRouter、OneAPIなどのOpenAI互換エンドポイントにも対応します。
|
||||
- Anthropic
|
||||
- Google Gemini
|
||||
|
||||
設定ページには、インストール済みプリセット、購読アカウントprovider、ダウンロード可能providerも表示されます。LLM通信はアプリの[プロキシ設定](/ja/config/proxy)を使用します。
|
||||
|
||||
## `config.json`
|
||||
|
||||
セクション:`llm`
|
||||
|
||||
| キー | 説明 | 型 | WebUI項目 | 既定値 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | LLM解析を有効化 | 真偽値 | LLM解析を有効化 | `false` |
|
||||
| `provider` | provider ID | 文字列 | provider | `openai` |
|
||||
| `api_key` | 内蔵OpenAI providerのAPI Key | 文字列 | API Key | `""` |
|
||||
| `model` | モデル名 | 文字列 | モデル | `gpt-5-mini` |
|
||||
| `base_url` | OpenAI互換エンドポイント | 文字列 | API URL | `""` |
|
||||
| `mode` | `fallback` または `primary` | 文字列 | 解析モード | `fallback` |
|
||||
| `timeout` | リクエストタイムアウト | 数値(秒) | 詳細設定 | `20` |
|
||||
| `cache_ttl` | キャッシュ時間 | 整数(秒) | 詳細設定 | `900` |
|
||||
| `max_concurrency` | 最大並列数 | 整数 | 詳細設定 | `2` |
|
||||
| `failure_threshold` | サーキットブレーカー失敗回数 | 整数 | 詳細設定 | `3` |
|
||||
| `failure_backoff` | 一時停止時間 | 整数(秒) | 詳細設定 | `300` |
|
||||
| `providers` | provider別上書き設定 | オブジェクト | provider別保存 | `{}` |
|
||||
@@ -1,36 +1,29 @@
|
||||
# 番組マネージャー設定
|
||||
# アニメ管理設定
|
||||
|
||||
## WebUI設定
|
||||
## WebUI
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
- **有効化**:ファイル整理とリネームを有効化します。
|
||||
- **リネーム方式**:
|
||||
- `normal`:控えめなタイトルと話数の命名。
|
||||
- `pn`:リリースタイトル情報を多めに保持する `Torrent title S0XE0X` 形式。
|
||||
- `advance`:公式タイトルと標準的なシーズン/話数形式。
|
||||
- `none`:リネームしません。
|
||||
- **話数補完**:不足している話数を補完ダウンロードします。
|
||||
- **グループタグ追加**:字幕組関連タグをダウンローダータスクに追加します。
|
||||
- **不良Torrent削除**:エラー状態のタスクを削除します。
|
||||
- **未一致Torrentを記録**:ルールに一致しないTorrentを孤児レコードとして保存します。
|
||||
|
||||
- **有効**は番組マネージャーを有効にします。無効にすると、以下の設定は効果がありません。
|
||||
- **リネーム方法**はリネーム方法です。現在サポートされているもの:
|
||||
- `pn` — `Torrentタイトル S0XE0X.mp4` 形式
|
||||
- `advance` — `公式タイトル S0XE0X.mp4` 形式
|
||||
- `none` — リネームなし
|
||||
- **エピソード補完**は現在のシーズンのエピソード補完を有効にします。有効にすると、不足しているエピソードがダウンロードされます。
|
||||
- **グループタグ追加**はダウンロードルールに字幕グループタグを追加します。
|
||||
- **不良トレント削除**はエラーのあるトレントを削除します。
|
||||
- [ファイルパスについて][1]
|
||||
- [リネームについて][2]
|
||||
## `config.json`
|
||||
|
||||
## `config.json`設定オプション
|
||||
セクション:`bangumi_manage`
|
||||
|
||||
設定ファイルの対応するオプションは以下のとおりです:
|
||||
|
||||
設定セクション:`bangumi_manager`
|
||||
|
||||
| パラメータ | 説明 | タイプ | WebUIオプション | デフォルト |
|
||||
|--------------------|------------------------|---------|-------------------|-----------|
|
||||
| enable | 番組マネージャー有効 | ブール値 | マネージャー有効 | true |
|
||||
| eps_complete | エピソード補完有効 | ブール値 | エピソード補完 | false |
|
||||
| rename_method | リネーム方法 | 文字列 | リネーム方法 | pn |
|
||||
| group_tag | 字幕グループタグ追加 | ブール値 | グループタグ | false |
|
||||
| remove_bad_torrent | 不良トレント削除 | ブール値 | 不良トレント削除 | false |
|
||||
|
||||
|
||||
[1]: https://www.autobangumi.org/faq/#download-path
|
||||
[2]: https://www.autobangumi.org/faq/#file-renaming
|
||||
| キー | 説明 | 型 | WebUI項目 | 既定値 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | 管理機能を有効化 | 真偽値 | 有効化 | `true` |
|
||||
| `eps_complete` | 話数補完を有効化 | 真偽値 | 話数補完 | `false` |
|
||||
| `rename_method` | リネーム方式 | 文字列 | リネーム方式 | `pn` |
|
||||
| `group_tag` | グループタグ追加 | 真偽値 | グループタグ追加 | `false` |
|
||||
| `remove_bad_torrent` | エラーTorrent削除 | 真偽値 | 不良Torrent削除 | `false` |
|
||||
| `track_orphans` | 未一致Torrentを記録 | 真偽値 | 未一致Torrentを記録 | `true` |
|
||||
|
||||
19
docs/ja/config/network.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# ネットワーク設定
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
ネットワーク設定では外部メタデータサービスのURLと認証情報を上書きできます。変更後は **保存して再起動** をクリックしてください。
|
||||
|
||||
- **TMDB API URL**:既定値は `https://api.themoviedb.org`。
|
||||
- **TMDB API Key(任意)**:空の場合は内蔵共有Keyを使います。個人Keyを設定すると共有Keyのレート制限を避けられます。
|
||||
- **Bangumi API URL**:既定値は `https://api.bgm.tv`。
|
||||
|
||||
## `config.json`
|
||||
|
||||
セクション:`network`
|
||||
|
||||
| キー | 説明 | 型 | WebUI項目 | 既定値 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `tmdb_base_url` | TMDB API URL | 文字列 | TMDB API URL | `https://api.themoviedb.org` |
|
||||
| `tmdb_api_key` | カスタムTMDB API Key | 文字列 | TMDB API Key | `""` |
|
||||
| `bgm_base_url` | Bangumi API URL | 文字列 | Bangumi API URL | `https://api.bgm.tv` |
|
||||
@@ -1,34 +1,34 @@
|
||||
# 通知設定
|
||||
|
||||
## WebUI設定
|
||||
## WebUI
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
- **有効**は通知を有効にします。無効にすると、以下の設定は効果がありません。
|
||||
- **タイプ**は通知タイプです。現在サポートされているもの:
|
||||
- Telegram
|
||||
- Wecom
|
||||
- Bark
|
||||
- ServerChan
|
||||
- **Chat ID**は`telegram`通知を使用する場合にのみ入力が必要です。[Telegram Bot Chat IDの取得方法][1]
|
||||
- **Wecom**:Chat IDフィールドにカスタムプッシュURLを入力し、サーバー側で[リッチテキストメッセージ][2]タイプを追加します。[Wecom設定ガイド][3]
|
||||
通知は複数のproviderに対応しています。全体スイッチを有効にした後、個別providerを追加、編集、有効/無効化、削除、テストできます。変更後は **保存して再起動** をクリックしてください。
|
||||
|
||||
## `config.json`設定オプション
|
||||
対応provider:
|
||||
|
||||
設定ファイルの対応するオプションは以下のとおりです:
|
||||
- Telegram
|
||||
- Discord
|
||||
- Bark
|
||||
- Server Chan / Server Chan 3
|
||||
- WeCom
|
||||
- Gotify
|
||||
- Pushover
|
||||
- Webhook
|
||||
|
||||
設定セクション:`notification`
|
||||
Webhookテンプレートでは `{{title}}`、`{{season}}`、`{{episode}}`、`{{poster_url}}` などのプレースホルダーを使えます。
|
||||
|
||||
| パラメータ | 説明 | タイプ | WebUIオプション | デフォルト |
|
||||
|-----------|-----------------|---------|------------------|----------|
|
||||
| enable | 通知有効 | ブール値 | 通知 | false |
|
||||
| type | 通知タイプ | 文字列 | 通知タイプ | telegram |
|
||||
| token | 通知トークン | 文字列 | 通知トークン | |
|
||||
| chat_id | 通知Chat ID | 文字列 | 通知Chat ID | |
|
||||
## `config.json`
|
||||
|
||||
セクション:`notification`
|
||||
|
||||
[1]: https://core.telegram.org/bots#6-botfather
|
||||
[2]: https://github.com/umbors/wecomchan-alifun
|
||||
[3]: https://github.com/easychen/wecomchan
|
||||
| キー | 説明 | 型 | WebUI項目 | 既定値 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | 通知を有効化 | 真偽値 | 有効化 | `false` |
|
||||
| `providers` | 通知provider一覧 | 配列 | provider一覧 | `[]` |
|
||||
| `base_url` | ポスターURLを絶対URLにする公開URL | 文字列 | 設定ファイルのみ | `""` |
|
||||
|
||||
旧形式の `type`、`token`、`chat_id` は読み込み時に `providers` へ移行されます。
|
||||
|
||||
@@ -1,34 +1,25 @@
|
||||
# パーサー設定
|
||||
|
||||
ABのパーサーは集約されたRSSリンクを解析するために使用されます。RSSフィードに新しいエントリが表示されると、ABはタイトルを解析して自動ダウンロードルールを生成します。
|
||||
パーサーはRSSタイトルから作品名、シーズン、話数、字幕組などを抽出します。
|
||||
|
||||
::: tip
|
||||
v3.1以降、パーサー設定は個別のRSS設定に移動しました。**パーサータイプ**を設定するには、[RSSのパーサー設定][add_rss]を参照してください。
|
||||
v3.1以降、RSSごとのパーサー種類はRSS追加または編集時に設定します。このページはグローバルな有効化、言語、フィルターの設定です。
|
||||
:::
|
||||
|
||||
## WebUIでのパーサー設定
|
||||
## WebUI
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
- **有効化**:RSS解析を有効化します。
|
||||
- **言語**:解析に使う優先言語です。`zh`、`jp`、`en` をサポートします。
|
||||
- **除外**:グローバルフィルターです。文字列または正規表現を指定できます。
|
||||
|
||||
- **有効**:RSSパーサーを有効にするかどうか。
|
||||
- **言語**はRSSパーサーの言語です。現在`zh`、`jp`、`en`をサポートしています。
|
||||
- **除外**はグローバルRSSパーサーフィルターです。文字列または正規表現を入力でき、ABはRSS解析時に一致するエントリをフィルタリングします。
|
||||
## `config.json`
|
||||
|
||||
## `config.json`設定オプション
|
||||
セクション:`rss_parser`
|
||||
|
||||
設定ファイルの対応するオプションは以下のとおりです:
|
||||
|
||||
設定セクション:`rss_parser`
|
||||
|
||||
| パラメータ | 説明 | タイプ | WebUIオプション | デフォルト |
|
||||
|-----------|-------------------|---------|---------------------|----------------|
|
||||
| enable | RSSパーサー有効 | ブール値 | RSSパーサー有効 | true |
|
||||
| filter | RSSパーサーフィルター | 配列 | フィルター | [720,\d+-\d+] |
|
||||
| language | RSSパーサー言語 | 文字列 | RSSパーサー言語 | zh |
|
||||
|
||||
|
||||
[rss_token]: rss
|
||||
[add_rss]: /ja/feature/rss#パーサー設定
|
||||
[reproxy]: /ja/config/proxy#リバースプロキシ
|
||||
| キー | 説明 | 型 | WebUI項目 | 既定値 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | RSSパーサーを有効化 | 真偽値 | 有効化 | `true` |
|
||||
| `filter` | グローバル除外ルール | 文字列配列 | 除外 | `["720", "\\d+-\\d+"]` |
|
||||
| `language` | 解析言語 | 文字列 | 言語 | `zh` |
|
||||
|
||||
16
docs/ja/config/passkey.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Passkey設定
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
Passkey設定では、現在のアカウントで使うWebAuthn / Passkey資格情報を管理します。
|
||||
|
||||
- **Passkey追加**:デバイス名を入力し、ブラウザーまたはOSの認証手順を完了します。
|
||||
- **削除**:不要なデバイス資格情報を削除します。
|
||||
- **最終使用**:使用済みのPasskeyに表示されます。
|
||||
- **同期済み**:マルチデバイスPasskeyであることを示します。
|
||||
|
||||
::: tip
|
||||
Passkeyの変更は即時保存されます。**保存して再起動** は不要です。ブラウザーがWebAuthnに対応している必要があります。
|
||||
:::
|
||||
|
||||
高度なデプロイでは `security.webauthn_rp_id` と `security.webauthn_origin` を設定できます。
|
||||
14
docs/ja/config/player.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# プレイヤー設定
|
||||
|
||||
プレイヤー設定はサイドバーの **プレイヤー** ページで使われます。
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
- **種類**:
|
||||
- `jump`:プレイヤーページを開くと外部メディアサーバーへ移動します。
|
||||
- `iframe`:AutoBangumi内にメディアサーバーを埋め込みます。
|
||||
- **プレイヤーURL**:Jellyfin、Emby、PlexなどのURLです。プロトコルがない場合、フロントエンドが `http://` を補います。
|
||||
|
||||
::: tip
|
||||
プレイヤー設定はブラウザーのローカルストレージに保存されます。`config.json` には含まれず、**保存して再起動** は不要です。
|
||||
:::
|
||||
@@ -1,25 +1,28 @@
|
||||
# プログラム設定
|
||||
|
||||
## WebUI設定
|
||||
## WebUI
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
設定ページ左側のレールから検索とセクション移動ができます。`program` と `log` はグローバル設定です。変更後は下部の **保存して再起動** をクリックしてください。
|
||||
|
||||
- インターバル時間パラメータは秒単位です。分単位で設定する場合は秒に変換してください。
|
||||
- RSSはRSSチェック間隔で、自動ダウンロードルールの生成頻度に影響します。
|
||||
- リネームはリネームチェック間隔です。リネームのチェック頻度を変更する必要がある場合に修正してください。
|
||||
- WebUIポートはポート番号です。Dockerを使用している場合、変更後にDockerでポートを再マッピングする必要があることに注意してください。
|
||||
- **RSSチェック間隔**:RSSを更新し、ダウンロードタスクを作成する周期です。単位は秒です。
|
||||
- **リネーム間隔**:ダウンローダータスクを確認し、ファイルを整理する周期です。単位は秒です。
|
||||
- **WebUIポート**:バックエンドとWebUIのポートです。Dockerの場合はポートマッピングも変更してください。
|
||||
- **デバッグ**:詳細ログを出力します。調査後は無効化を推奨します。
|
||||
|
||||
## `config.json`
|
||||
|
||||
## `config.json`設定オプション
|
||||
セクション:`program`
|
||||
|
||||
設定ファイルの対応するオプションは以下のとおりです:
|
||||
| キー | 説明 | 型 | WebUI項目 | 既定値 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `rss_time` | RSSチェック間隔 | 整数(秒) | RSSチェック間隔 | `900` |
|
||||
| `rename_time` | リネーム間隔 | 整数(秒) | リネーム間隔 | `60` |
|
||||
| `webui_port` | WebUIポート | 整数 | WebUIポート | `7892` |
|
||||
|
||||
設定セクション:`program`
|
||||
セクション:`log`
|
||||
|
||||
| パラメータ | 説明 | タイプ | WebUIオプション | デフォルト |
|
||||
|-------------|-------------------|-----------------|---------------------|-----------|
|
||||
| rss_time | RSSチェック間隔 | 整数(秒) | RSSチェック間隔 | 7200 |
|
||||
| rename_time | リネームチェック間隔 | 整数(秒) | リネームチェック間隔 | 60 |
|
||||
| webui_port | WebUIポート | 整数 | WebUIポート | 7892 |
|
||||
| キー | 説明 | 型 | WebUI項目 | 既定値 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `debug_enable` | デバッグログを有効化 | 真偽値 | デバッグ | `false` |
|
||||
|
||||
@@ -2,84 +2,30 @@
|
||||
|
||||
## プロキシ
|
||||
|
||||
{width=500}{class=ab-shadow-card}
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
<br/>
|
||||
AutoBangumiはHTTP、HTTPS、SOCKS5プロキシに対応しています。RSS、検索プロバイダー、TMDB、Bangumi、LLM providerなどの外部通信に使われます。
|
||||
|
||||
ABはネットワーク問題を解決するためにHTTPおよびSOCKS5プロキシをサポートしています。
|
||||
- **有効化**:プロキシを有効化します。
|
||||
- **種類**:`http`、`https`、`socks5`。
|
||||
- **ホスト / ポート**:プロキシのアドレスとポート。
|
||||
- **ユーザー名 / パスワード**:認証が必要な場合に入力します。環境変数参照も利用できます。
|
||||
|
||||
- **有効**:プロキシを有効にするかどうか。
|
||||
- **タイプ**はプロキシタイプです。
|
||||
- **ホスト**はプロキシアドレスです。
|
||||
- **ポート**はプロキシポートです。
|
||||
変更後は **保存して再起動** をクリックしてください。
|
||||
|
||||
::: tip
|
||||
**SOCKS5**モードでは、ユーザー名とパスワードが必要です。
|
||||
:::
|
||||
## `config.json`
|
||||
|
||||
## `config.json`設定オプション
|
||||
セクション:`proxy`
|
||||
|
||||
設定ファイルの対応するオプションは以下のとおりです:
|
||||
|
||||
設定セクション:`proxy`
|
||||
|
||||
| パラメータ | 説明 | タイプ | WebUIオプション | デフォルト |
|
||||
|-----------|-----------------|---------|-----------------|-----------|
|
||||
| enable | プロキシ有効 | ブール値 | プロキシ | false |
|
||||
| type | プロキシタイプ | 文字列 | プロキシタイプ | http |
|
||||
| host | プロキシアドレス | 文字列 | プロキシアドレス | |
|
||||
| port | プロキシポート | 整数 | プロキシポート | |
|
||||
| username | プロキシユーザー名 | 文字列 | プロキシユーザー名 | |
|
||||
| password | プロキシパスワード | 文字列 | プロキシパスワード | |
|
||||
| キー | 説明 | 型 | WebUI項目 | 既定値 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `enable` | プロキシを有効化 | 真偽値 | 有効化 | `false` |
|
||||
| `type` | プロキシ種類 | 文字列 | 種類 | `http` |
|
||||
| `host` | プロキシホスト | 文字列 | ホスト | `""` |
|
||||
| `port` | プロキシポート | 整数 | ポート | `0` |
|
||||
| `username` | ユーザー名 | 文字列 | ユーザー名 | `""` |
|
||||
| `password` | パスワード | 文字列 | パスワード | `""` |
|
||||
|
||||
## リバースプロキシ
|
||||
|
||||
- Mikan Projectの代替ドメイン`mikanime.tv`を使用して、RSS購読URLの`mikanani.me`を置き換えます。
|
||||
- Cloudflare Workerをリバースプロキシとして使用し、RSSフィード内のすべての`mikanani.me`ドメインを置き換えます。
|
||||
|
||||
## Cloudflare Workers
|
||||
|
||||
他のサービスのブロックをバイパスするために使用されるアプローチに基づいて、Cloudflare Workersを使用してリバースプロキシを設定できます。ドメインの登録とCloudflareへのバインド方法は、このガイドの範囲外です。Workersに以下のコードを追加して、独自のドメインを使用してMikan Projectにアクセスし、RSSリンクからトレントをダウンロードします:
|
||||
|
||||
```js
|
||||
const TELEGRAPH_URL = 'https://mikanani.me';
|
||||
const MY_DOMAIN = 'https://yourdomain.com'
|
||||
|
||||
addEventListener('fetch', event => {
|
||||
event.respondWith(handleRequest(event.request))
|
||||
})
|
||||
|
||||
async function handleRequest(request) {
|
||||
const url = new URL(request.url);
|
||||
url.host = TELEGRAPH_URL.replace(/^https?:\/\//, '');
|
||||
|
||||
const modifiedRequest = new Request(url.toString(), {
|
||||
headers: request.headers,
|
||||
method: request.method,
|
||||
body: request.body,
|
||||
redirect: 'manual'
|
||||
});
|
||||
|
||||
const response = await fetch(modifiedRequest);
|
||||
const contentType = response.headers.get('Content-Type') || '';
|
||||
|
||||
// コンテンツタイプがRSSの場合のみ置換を実行
|
||||
if (contentType.includes('application/xml')) {
|
||||
const text = await response.text();
|
||||
const replacedText = text.replace(/https?:\/\/mikanani\.me/g, MY_DOMAIN);
|
||||
const modifiedResponse = new Response(replacedText, response);
|
||||
|
||||
// CORSヘッダーを追加
|
||||
modifiedResponse.headers.set('Access-Control-Allow-Origin', '*');
|
||||
|
||||
return modifiedResponse;
|
||||
} else {
|
||||
const modifiedResponse = new Response(response.body, response);
|
||||
|
||||
// CORSヘッダーを追加
|
||||
modifiedResponse.headers.set('Access-Control-Allow-Origin', '*');
|
||||
|
||||
return modifiedResponse;
|
||||
}
|
||||
}
|
||||
```
|
||||
Mikan Projectにアクセスできない場合は、RSS内の `mikanani.me` を `mikanime.tv` に置き換えるか、Cloudflare Workersなどで独自のリバースプロキシを構築できます。
|
||||
|
||||
25
docs/ja/config/search-provider.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# 検索プロバイダー設定
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
検索プロバイダーはWebUIのTorrent検索と検索ベースの購読に使われます。内蔵providerは `mikan`、`nyaa`、`dmhy` です。既定providerは削除できませんが、URLテンプレートは編集できます。
|
||||
|
||||
検索プロバイダーの変更は `config/search_provider.json` に即時保存されます。下部の **保存して再起動** は不要です。
|
||||
|
||||
## カスタムURL
|
||||
|
||||
URLテンプレートには検索語を差し込む `%s` が必要です。
|
||||
|
||||
```txt
|
||||
https://example.com/search?q=%s
|
||||
```
|
||||
|
||||
## PTサイト(NexusPHP)
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
NexusPHPモードでは、サイトURL、Passkey、任意のカテゴリIDから `torrentrss.php` のRSS検索テンプレートを生成します。
|
||||
|
||||
::: warning
|
||||
一部の新しいNexusPHPサイトでは `search` パラメータが無効化され、どの検索語でも最新Torrentを返すことがあります。追加前にRSS検索が実際に絞り込まれることを確認してください。
|
||||
:::
|
||||
27
docs/ja/config/security.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# セキュリティ設定
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
セキュリティ設定ではログイン入口とMCPアクセスを制限できます。変更後は **保存して再起動** をクリックしてください。
|
||||
|
||||
- **ログインIPホワイトリスト**:ログインを許可するIPv4/IPv6 CIDR。空の場合はすべて許可します。
|
||||
- **ログインAPIトークン**:`Authorization: Bearer <token>` で保護APIへアクセスするためのトークン。
|
||||
- **MCP IPホワイトリスト**:MCPアクセスを許可するCIDR。空の場合、IPベースのMCPアクセスを拒否します。
|
||||
- **MCP APIトークン**:MCP用Bearer Token。
|
||||
|
||||
## `config.json`
|
||||
|
||||
セクション:`security`
|
||||
|
||||
| キー | 説明 | 型 | WebUI項目 | 既定値 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `login_whitelist` | ログインIPホワイトリスト | 文字列配列 | ログインIPホワイトリスト | `[]` |
|
||||
| `login_tokens` | ログインAPIトークン | 文字列配列 | ログインAPIトークン | `[]` |
|
||||
| `mcp_whitelist` | MCP IPホワイトリスト | 文字列配列 | MCP IPホワイトリスト | ローカルネットワークCIDRまたは `[]` |
|
||||
| `mcp_tokens` | MCP APIトークン | 文字列配列 | MCP APIトークン | `[]` |
|
||||
| `webauthn_rp_id` | Passkey RP ID | 文字列 | 設定ファイルのみ | `""` |
|
||||
| `webauthn_origin` | Passkey Origin | 文字列 | 設定ファイルのみ | `""` |
|
||||
|
||||
::: warning
|
||||
トークンには十分長いランダム文字列を使い、公開リポジトリへコミットしないでください。
|
||||
:::
|
||||
26
docs/ja/config/update.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# ソフトウェア更新
|
||||
|
||||
{width=700}{class=ab-shadow-card}
|
||||
|
||||
ソフトウェア更新パネルでは、AutoBangumiの更新確認、適用、ロールバックができます。
|
||||
|
||||
- **更新チャンネル**:
|
||||
- 安定版:正式リリースのみ。
|
||||
- ベータ:プレリリースも含めます。
|
||||
- **自動チェック**:設定ページに入った時に一度確認します。バックエンドも定期確認し通知に書き込みます。
|
||||
- **更新確認**:現在のチャンネルでバージョン情報を更新します。
|
||||
- **今すぐ更新**:更新をダウンロード、検証、展開、適用し、再起動します。
|
||||
- **ロールバック**:戻せるバージョンがある場合に表示されます。
|
||||
|
||||
::: warning
|
||||
アプリ内更新には `restart: unless-stopped` などの再起動ポリシーが必要です。更新バンドルはsha256とed25519署名で検証されます。
|
||||
:::
|
||||
|
||||
## `config.json`
|
||||
|
||||
セクション:`update`
|
||||
|
||||
| キー | 説明 | 型 | WebUI項目 | 既定値 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| `channel` | `stable` または `beta` | 文字列 | 更新チャンネル | `stable` |
|
||||
| `auto_check` | 自動更新確認 | 真偽値 | 自動チェック | `true` |
|
||||
@@ -18,7 +18,7 @@ hero:
|
||||
link: /ja/home/
|
||||
- theme: alt
|
||||
text: 更新履歴
|
||||
link: /ja/changelog/3.2
|
||||
link: /ja/changelog/3.3
|
||||
|
||||
features:
|
||||
- icon:
|
||||
@@ -27,8 +27,8 @@ features:
|
||||
details: アニメのRSS購読を自動的に認識・解析。手動入力不要で、購読するだけで自動的に解析、ダウンロード、整理を完了します。
|
||||
- icon:
|
||||
src: /image/icons/qbittorrent-logo.svg
|
||||
title: qBittorrentダウンローダー
|
||||
details: qBittorrentを使用してアニメをダウンロード。AutoBangumiで既存のアニメ管理、過去のエピソードのダウンロード、エントリの削除が可能です。
|
||||
title: qBittorrent / aria2 ダウンローダー
|
||||
details: qBittorrentまたはaria2を使用してアニメをダウンロード。AutoBangumiで既存のアニメ管理、過去のエピソードのダウンロード、エントリの削除が可能です。
|
||||
- icon:
|
||||
src: /image/icons/tmdb-icon.png
|
||||
title: TMDBメタデータマッチング
|
||||
@@ -49,6 +49,7 @@ features:
|
||||
- [Mikan Project](https://mikanani.me) - 優れたアニメリソースを提供していただきありがとうございます。
|
||||
- [VitePress](https://vitepress.dev) - 優れたドキュメントフレームワークを提供していただきありがとうございます。
|
||||
- [qBittorrent](https://www.qbittorrent.org) - 優れたダウンローダーを提供していただきありがとうございます。
|
||||
- [aria2](https://aria2.github.io) - 優れたダウンローダーを提供していただきありがとうございます。
|
||||
- [Plex](https://www.plex.tv) / [Jellyfin](https://jellyfin.org) - 優れたセルフホストメディアライブラリを提供していただきありがとうございます。
|
||||
- [Infuse](https://firecore.com/infuse) - エレガントなビデオプレーヤーを提供していただきありがとうございます。
|
||||
- [弾弾 Play](https://www.dandanplay.com) - 優れたコメント付きプレーヤーを提供していただきありがとうございます。
|
||||
|
||||
BIN
docs/public/image/config/downloader-type.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 48 KiB |
BIN
docs/public/image/config/llm-parser.png
Normal file
|
After Width: | Height: | Size: 53 KiB |
|
Before Width: | Height: | Size: 98 KiB After Width: | Height: | Size: 48 KiB |
BIN
docs/public/image/config/network.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
docs/public/image/config/notifier-provider.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 50 KiB |
BIN
docs/public/image/config/passkey.png
Normal file
|
After Width: | Height: | Size: 51 KiB |
BIN
docs/public/image/config/player.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 90 KiB After Width: | Height: | Size: 50 KiB |
BIN
docs/public/image/config/search-provider-nexusphp.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
docs/public/image/config/search-provider.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
BIN
docs/public/image/config/security.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
docs/public/image/config/settings-overview.png
Normal file
|
After Width: | Height: | Size: 50 KiB |
BIN
docs/public/image/config/update.png
Normal file
|
After Width: | Height: | Size: 51 KiB |