e8c3e4644eb17ab31ff035575040c0e90d34217c
CI / lint-and-build (push) Has been cancelled
- Swift 6 + SwiftUI + SwiftData 直接调用阿里云 VOD API - 自实现 POP 签名,无需 Node 后端 - 视频列表、搜索、批量下载到用户选择目录 - 下载文件自动使用视频标题重命名 - 浏览器下载与下载工具(aria2/wget)两种方式 - Web 版标记为废弃,README/AGENTS/MEMORY 更新
火炬 VOD 管理器
一个轻量、开源的阿里云视频点播(VOD)媒体资源管理工具,解决官方控制台批量下载、删除操作繁琐的问题。
注意:Web 版已废弃,当前主要维护 macOS 原生 SwiftUI 版本,目标上架 Mac App Store。
功能特性
- 视频库快速查看、搜索
- 批量下载到用户指定目录
- 下载文件自动使用视频标题重命名
- 多账号 / 多 Region 切换管理
- 下载任务历史
- 操作日志审计
- 浏览器下载与下载工具(aria2 / wget)两种导出方式
技术栈
- macOS 客户端:Swift 6 + SwiftUI + SwiftData
- 阿里云 API:自实现 POP 签名,直接调用 VOD OpenAPI
- 网络:URLSession
- 持久化:SwiftData(SQLite)
项目结构
.
├── apps/
│ ├── macos/ # macOS 原生 SwiftUI 应用(当前维护重点)
│ ├── web/ # React 前端(已废弃,保留作为历史参考)
│ └── server/ # Express 后端(已废弃,保留作为历史参考)
├── docs/ # 文档
├── PRD.md # 产品需求文档
├── README.md
└── AGENTS.md
macOS 版快速开始
cd apps/macos/VODManager
swift build
swift run
或在 Xcode 中打开 Package.swift。
App Store 上架准备
- 在 Xcode 中配置 Signing & Capabilities
- 使用
apps/macos/VODManager/VODManager.entitlements中的沙盒配置 - 配置 Bundle Identifier 和 Team
- 提交 Mac App Store 审核
阿里云 RAM 最小权限
建议为本工具单独创建 RAM 子用户:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"vod:Get*",
"vod:List*",
"vod:SearchMedia",
"vod:GetPlayInfo",
"vod:DeleteVideo",
"vod:UpdateVideoInfo"
],
"Resource": "*"
}
]
}
License
Languages
Swift
100%