byte-muse 模拟迅雷接口调用media saber 离线下载
8.1K
xylplm/bm-simulate-xunlei-api-to-media-saber 是一个迅雷 API 模拟服务,用于在 byte-muse 中集成 Media-Saber 的离线下载功能。
本文档介绍如何通过 Docker 或 Docker Compose 方式部署和使用该服务。
docker pull xylplm/bm-simulate-xunlei-api-to-media-saber:latest
docker run -d \
--name xunlei-api-simulator \
-p 9895:9895 \
-e TZ=Asia/Shanghai \
-e MS_URL=http://10.11.11.111:8888 \
xylplm/bm-simulate-xunlei-api-to-media-saber:latest
💡 说明:
MS_URL是唯一必需的环境变量。其他配置项都有默认值,如需自定义可参考下方环境变量说明表添加相应的-e参数。
# 查看容器日志
docker logs xunlei-api-simulator
# 测试健康检查
curl http://localhost:9895/health
| 变量名 | 说明 | 示例 | 是否必需 |
|---|---|---|---|
MS_URL | Media-Saber 服务地址 | http://10.11.11.111:8888 | ✅ 是 |
DEFAULT_DEVICE_ID | 默认设备ID | PC | ❌ 否,默认 PC |
CALL_MEDIA_SABER_TIMEOUT | 调用 Media-Saber 超时时间(秒) | 300 | ❌ 否,默认 300 |
HOST | 服务监听地址 | 0.0.0.0 | ❌ 否,默认 0.0.0.0 |
PORT | 服务监听端口 | 9895 | ❌ 否,默认 9895 |
LOG_LEVEL | 日志级别 | debug/info/warn/error | ❌ 否,默认 info |
LOG_FORMAT | 日志格式 | json/text | ❌ 否,默认 json |
LOG_OUTPUT | 日志输出方式 | stdout/file | ❌ 否,默认 stdout |
docker-compose.yml使用项目仓库中的 docker-compose.yml,或按以下方式创建:
version: "3.8"
services:
bm-simulate-xunlei-api-to-media-saber:
image: xylplm/bm-simulate-xunlei-api-to-media-saber:latest
container_name: xunlei-api-simulator
ports:
- "9895:9895"
environment:
- TZ=Asia/Shanghai
- MS_URL=http://10.11.11.111:8888
restart: unless-stopped
💡 说明:
MS_URL是必需的,其他配置项已使用默认值。如需自定义日志级别、超时时间等,参考下方"性能调优"部分添加相应环境变量。
# 进入 docker-compose.yml 所在目录
cd /path/to/docker-compose.yml
# 启动服务
docker-compose up -d
# 查看服务状态
docker-compose ps
# 实时查看日志
docker-compose logs -f bm-simulate-xunlei-api-to-media-saber
docker-compose down
Media-Saber 服务地址(绝对必需):
http://10.11.11.111:8888MS_URL 环境变量Media-Saber API Key(绝对必需):
本服务的网络地址:
http://10.11.11.111:9895标签:Docker迅雷地址 (需版本号 >= v3.21.0)
填写示例:http://10.11.11.111:9895
说明:
标签:Docker迅雷file_id
填写说明: 填写 Media-Saber 云存储中的目标目录路径(不需要从浏览器获取,直接写目录路径即可)
填写示例:/115/ms下载
说明:
/115/离线下载/movies标签:Docker迅雷Authorization
获取方法:
填写示例:sk_live_xxxxxxxxxxxxxxxxxxxxxxxx
说明:
网络拓扑:
byte-muse (192.168.1.10)
↓
xunlei-api-simulator (192.168.1.20:9895)
↓
media-saber (192.168.1.30:8888)
version: "3.8"
services:
bm-simulate-xunlei-api-to-media-saber:
image: xylplm/bm-simulate-xunlei-api-to-media-saber:latest
container_name: xunlei-api-simulator
ports:
- "9895:9895"
environment:
- TZ=Asia/Shanghai
- MS_URL=http://192.168.1.30:8888
restart: unless-stopped
| 配置项 | 填写值 | 说明 |
|---|---|---|
| Docker迅雷地址 | http://192.168.1.20:9895 | 本服务的网络地址 |
| Docker迅雷file_id | /115/离线下载 | Media-Saber 中的目标目录 |
| Docker迅雷Authorization | sk_live_xxx... | Media-Saber 的 API Key |
症状:
Error: Failed to call media-saber: connection refused
解决方案:
curl http://10.11.11.111:8888/health症状:
Error: Media-saber returned error, message: Unauthorized
解决方案:
症状: 离线下载的文件没有保存到预期目录
解决方案:
症状:
Error: Failed to call media-saber: request timeout
解决方案:
CALL_MEDIA_SABER_TIMEOUT 值(单位:秒)# Docker 方式
docker logs -f xunlei-api-simulator
# Docker Compose 方式
docker-compose logs -f bm-simulate-xunlei-api-to-media-saber
# 只查看最后 100 行
docker logs --tail 100 xunlei-api-simulator
curl http://localhost:9895/health
成功响应:
{
"status": "healthy",
"service": "xunlei-simulator"
}
curl http://localhost:9895/
# 拉取最新镜像
docker pull xylplm/bm-simulate-xunlei-api-to-media-saber:latest
# 使用 Docker Compose 更新
docker-compose pull
docker-compose up -d
如果频繁出现超时,可增加 CALL_MEDIA_SABER_TIMEOUT。
Docker 方式:
docker run -d \
--name xunlei-api-simulator \
-p 9895:9895 \
-e MS_URL=http://10.11.11.111:8888 \
-e CALL_MEDIA_SABER_TIMEOUT=600 \
xylplm/bm-simulate-xunlei-api-to-media-saber:latest
Docker Compose 方式:
services:
bm-simulate-xunlei-api-to-media-saber:
# ... 其他配置
environment:
- MS_URL=http://10.11.11.111:8888
- CALL_MEDIA_SABER_TIMEOUT=600 # 从 300 秒改为 600 秒
生产环境建议设置为 info,调试时使用 debug。
Docker 方式:
docker run -d \
--name xunlei-api-simulator \
-p 9895:9895 \
-e MS_URL=http://10.11.11.111:8888 \
-e LOG_LEVEL=debug \
-e LOG_FORMAT=json \
xylplm/bm-simulate-xunlei-api-to-media-saber:latest
Docker Compose 方式:
services:
bm-simulate-xunlei-api-to-media-saber:
# ... 其他配置
environment:
- MS_URL=http://10.11.11.111:8888
- LOG_LEVEL=debug # 或 info/warn/error
- LOG_FORMAT=json # 或 text
如需自定义设备 ID、监听地址等:
services:
bm-simulate-xunlei-api-to-media-saber:
# ... 其他配置
environment:
- MS_URL=http://10.11.11.111:8888
- DEFAULT_DEVICE_ID=HomePC # 默认值:PC
- HOST=0.0.0.0 # 默认值:0.0.0.0
- PORT=9895 # 默认值:9895
- CALL_MEDIA_SABER_TIMEOUT=300 # 默认值:300 秒
- LOG_LEVEL=info # 默认值:info
- LOG_FORMAT=json # 默认值:json
- LOG_OUTPUT=stdout # 默认值:stdout
docker pull xylplm/bm-simulate-xunlei-api-to-media-saber:latest# 停止并删除容器
docker stop xunlei-api-simulator
docker rm xunlei-api-simulator
# 删除镜像
docker rmi xylplm/bm-simulate-xunlei-api-to-media-saber:latest
# 停止并删除所有容器
docker-compose down
# 同时删除镜像
docker-compose down --rmi all
如遇到问题,请:
docker logs xunlei-api-simulator| 组件 | 版本要求 |
|---|---|
| Docker | 20.10+ |
| Docker Compose | 1.29+ 或 Docker Compose V2 |
| byte-muse | v3.21.0+ |
| Media-Saber | 任意版本(需正常运行) |
Content type
Image
Digest
sha256:189ed01ec…
Size
10.6 MB
Last updated
6 months ago
docker pull xylplm/bm-simulate-xunlei-api-to-media-saber