Files
MeBox/CLOUD_STATUS.md
T
ShukeBta 53135b444f docs: add cloud storage diagnostics and status report
- Add PowerShell diagnostic script for cloud storage issues
- Document all cloud storage features and capabilities
- Provide troubleshooting guide for common problems
- Include configuration examples and best practices
2026-06-11 12:56:15 +08:00

170 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MediaStationGo 云盘功能状态报告
## 已实现的功能
### 1. 云盘存储支持
- ✅ 支持的云盘类型:
- Quark (夸克网盘)
- 115 (115网盘)
- CloudDrive2 (桥接网盘)
- OpenList/AList (兼容网盘)
### 2. 播放机制
- ✅ HTTP 302 重定向播放(直连云盘CDN)
- ✅ STRM 文件支持
- ✅ Emby 协议兼容(标记 IsRemote=true)
- ✅ Token 认证传递
### 3. CORS 支持
- ✅ 支持的 Header:
- Authorization
- Content-Type
- X-Requested-With
- X-Emby-Token
- X-MediaBrowser-Token
- X-Emby-Authorization
### 4. 图片代理
- ✅ 云盘图片缓存
- ✅ Emby API 图片端点:/Items/{id}/Images/Primary
- ✅ 直接图片输出(避免 token 401)
### 5. 启动健康检查
- ✅ 云盘配置验证
- ✅ Ping 测试连通性
- ✅ 自动扫描云盘媒体库
### 6. 存储管理
- ✅ 删除云盘时清理媒体库
- ✅ 停止相关扫描任务
## 可能的问题原因
### 第三方播放器无法播放
**可能原因:**
1. **云盘未配置** - 检查是否添加了云盘存储配置
2. **Cookie 过期** - 云盘 Cookie 需要定期更新
3. **CORS 配置** - 生产环境需要配置 cors_origins
4. **网络问题** - 云盘 CDN 网络不可达
**诊断步骤:**
\\\ash
# 1. 运行诊断脚本
./diagnose-cloud.ps1
# 2. 检查日志中的错误
docker logs mediastation-go 2>&1 | grep -i "cloud storage"
# 3. 检查 CORS 配置
# 编辑 config.toml,添加:
# cors_origins = ["*"] # 或具体的播放器域名
\\\
### 云盘海报不显示
**可能原因:**
1. **图片路径格式错误** - 应该是 /api/cloud/play/{type}?ref={path}
2. **图片未缓存** - 首次加载可能较慢
3. **云盘权限问题** - Cookie 权限不足
**检查方法:**
\\\ash
# 查看图片代理日志
docker logs mediastation-go 2>&1 | grep -i "image"
# 测试图片 URL(需要替换 token)
curl -H "X-Emby-Token: YOUR_TOKEN" http://localhost:8080/Items/MEDIA_ID/Images/Primary
\\\
### 媒体库重复扫描
**说明:**
- 每个用户首次访问会触发扫描
- 云盘媒体库在启动时自动扫描
- 扫描结果对所有用户共享
**优化建议:**
- 使用调度任务定期扫描
- 避免手动触发多次扫描
## 配置示例
### 1. 添加云盘存储
通过 Web UI 的"外部存储"页面添加:
- 选择云盘类型(Quark/115/CloudDrive2)
- 输入 Cookie(从浏览器开发者工具获取)
- 测试连接
- 启用存储
### 2. 创建云盘媒体库
媒体库路径格式:
\\\
cloud://{provider}:{scan_dir}:{display_dir}
\\\
示例:
\\\
cloud://quark:/电影:/Movies
cloud://cloud115:/剧集:/TV Shows
\\\
### 3. CORS 配置(针对第三方播放器)
编辑 config.toml:
\\\ oml
[app]
cors_origins = [
"*", # 允许所有来源(开发环境)
# 或指定具体域名(生产环境):
# "https://app.emby.media",
# "app://infuse"
]
\\\
## 最新改进(本次提交)
1. **存储删除功能** - 删除云盘时自动清理关联的媒体库和媒体项
2. **健康检查** - 启动时验证所有云盘配置,及早发现问题
3. **扫描验证** - 扫描前检查存储配置是否存在,避免无效扫描
## 下一步建议
### 对于用户:
1. 运行诊断脚本:./diagnose-cloud.ps1
2. 检查是否配置了云盘存储
3. 验证 Cookie 是否有效
4. 配置 CORS(如果使用第三方播放器)
### 对于开发:
1. ✅ 添加更详细的错误日志
2. ✅ 启动时健康检查
3. 🔄 优化扫描缓存机制
4. 🔄 添加 Cookie 自动刷新
5. 🔄 改进错误提示
## 参考项目对比
### MoviePilot 云盘方案
- 使用 CloudDrive/Alist 作为统一桥接层
- STRM 文件 + 302 重定向
- 支持本地缓存
### Nowen-Video 云盘方案
- 直接集成各云盘 API
- WebDAV 挂载
- 支持多种播放模式
### MediaStationGo 优势
- 原生多云盘支持(无需额外桥接工具)
- Emby API 完全兼容
- 轻量级架构
- 自动健康检查
---
**更新时间:** 2026-06-11 12:55:56
**版本:** main@7ef4af6