docs: 文档跟进最新代码变化 (#275)

This commit is contained in:
ᴀᴍᴛᴏᴀᴇʀ
2025-02-19 22:12:47 +08:00
committed by GitHub
parent 4765d6f50a
commit 2bfd69c15e
7 changed files with 71 additions and 0 deletions

View File

@@ -61,6 +61,13 @@ export default defineConfig({
{ text: "获取投稿信息", link: "/submission" },
],
},
{
text: "其它",
items: [
{ text: "常见问题", link: "/question" },
{ text: "管理页", link: "/frontend" },
],
}
],
socialLinks: [
{ icon: "github", link: "https://github.com/amtoaer/bili-sync" },

BIN
docs/assets/frontend.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 167 KiB

BIN
docs/assets/swagger.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

View File

@@ -49,6 +49,16 @@
> [!CAUTION]
> **路径分隔符**在不同平台定义不同Windows 下为 `\`MacOS 和 Linux 下为 `/`
## `auth_token`
表示调用程序管理 API 需要的身份凭据,程序会检查 API 请求 Header 中是否包含正确的 `Authorization` 字段。
内置管理页前端提供了 `auth_token` 的输入框,填写后即可成功调用 API 使用管理页。
## `bind_address`
程序 Web Server 监听的地址,程序启动时会监听该地址,成功后可通过 `http://${bind_address}` 访问管理页。
## `interval`
表示程序每次执行扫描下载的间隔时间,单位为秒。

13
docs/frontend.md Normal file
View File

@@ -0,0 +1,13 @@
# 管理页
在 2.4.0 版本bili-sync 提供了一个内置的管理页,可以使用浏览器访问,实现一些简单的预览和重置操作。
由于作者的前端水平有限,网页使用 90% AI + 10% 人工实现,问题会比较多,欢迎前端大能 PR应该说比起 PR 缝缝补补不如直接重写 XD
![frontend](./assets/frontend.webp)
# API
后端提供的 API 可以通过 `/swagger-ui/` 访问:
![swagger](./assets/swagger.webp)

25
docs/question.md Normal file
View File

@@ -0,0 +1,25 @@
# 常见问题
## 各种文件找不到问题,如运行后找不到初始 `config.toml`、提示成功下载但看不到视频文件等。
请检查挂载位置与配置文件填写是否正确,需要理解的是:
1. 容器挂载是把宿主机的 `/A` 挂载到容器内的 `/B`
2. 程序运行在容器中,能够读取、写入的目录只能是 `/B`,因此配置文件内填写的路径只能与 `/B` 有关。
## 下载视频出现 Permission denied、Operation not permitted 等错误。
有两种可能的原因:
1. 容器运行时指定了 `user`(非 root但配置文件并未正确填写挂载后的路径。此时目标路径只是一个普通的容器内路径非 root 用户无法修改,导致执行出错;
2. 配置文件正确填写了挂载后的路径,此时出现权限错误说明你为容器指定的 `user` 无权写入宿主机上的原始路径。需检查宿主机原始路径的文件权限。
## 下载某个视频连续多次出现 `error decoding response body` 错误
这个问题我也出现过几次,目前还不清楚原因,但怀疑是 b 站服务器使用某种检测机制拒绝了响应。
bili-sync 在 2.4.0 版本引入了一个改动,不将此错误计入错误次数,允许其无限重试,我过去下载失败的某个视频使用这个策略在多次尝试后成功了。
尽管如此,该解决方案仍然比较玄学,需要将来能够查明具体原因再加以修复。
## 有些视频已经达到了最大重试次数还没有成功,我可以手动重试吗?
2.4.0 版本引入了一个简陋的[管理页](/frontend)来支持这个功能,你可以查询特定视频并点击重置,这样在下次下载任务触发时就会重试这个任务了。

View File

@@ -33,6 +33,10 @@ services:
user: 1000:1000
hostname: bili-sync-rs
container_name: bili-sync-rs
# 程序默认绑定 0.0.0.0:12345 运行 http 服务
# 可同时修改 compose 文件与 config.toml 变更服务运行的端口
ports:
- 12345:12345
volumes:
- ${你希望存储程序配置的目录}:/app/.config/bili-sync
# 还需要有一些其它必要的挂载,包括 up 主信息位置、视频下载位置
@@ -69,6 +73,8 @@ services:
当前版本的默认示例文件如下:
```toml
auth_token = "xxxxxxxx"
bind_address = "0.0.0.0:12345"
video_name = "{{title}}"
page_name = "{{bvid}}"
interval = 1200
@@ -133,6 +139,16 @@ duration = 250
虽然配置文件看起来很长,但绝大部分选项是不需要做修改的。一般来说,我们只需要关注其中的少数几个,以下逐条说明。
### `auth_token`
表示调用程序管理 API 需要的身份凭据,程序会检查 API 请求 Header 中是否包含正确的 `Authorization` 字段。
内置管理页前端提供了 `auth_token` 的输入框,填写后即可成功调用 API 使用管理页。
### `bind_address`
程序 Web Server 监听的地址,程序启动时会监听该地址,成功后可通过 `http://${bind_address}` 访问管理页。
### `interval`
表示程序每次执行扫描下载的间隔时间,单位为秒。