KyrieCloudHub 是一款跨平台云盘管理客户端,致力于为用户提供统一管理腾讯云 COS 和阿里云 OSS 对象存储服务的便捷体验。通过简洁直观的界面,您可以轻松管理云端文件,享受安全高效的云存储服务。
- 支持腾讯云、阿里云两大平台
- 使用访问密钥(SecretID + SecretKey)认证
- 自动保存/加载登录凭证
- 安全的登出功能
- 列出所有存储桶
- 支持列表/网格视图切换
- 存储桶浏览与导航
- 存储类型设置(长按存储桶配置)
- 腾讯云:标准存储、低频存储、归档存储、深度归档存储、智能分层
- 阿里云:标准存储、低频存储、归档存储、冷归档存储、深度冷归档存储
- 查看对象文件列表(支持分页)
- 文件夹导航(路径导航面包屑)
- 文件排序(名称、时间)
- 创建文件夹
- 上传文件(支持批量选择)
- 下载文件(支持分块下载)
- 打开本地文件
- 删除文件/文件夹
- 重命名文件/文件夹
- 复制/移动文件
- 批量下载
- 批量删除
- 自定义下载目录
- 目录写入权限检查
- 重置为默认目录
| 技术 | 说明 |
|---|---|
| Flutter | 跨平台 UI 框架 |
| Dio | HTTP 客户端 |
| Provider | 状态管理 |
| Shared Preferences | 本地数据持久化 |
| file_picker | 文件选择器 |
| open_filex | 文件打开 |
- Flutter SDK 3.10+
- Dart SDK ^3.10.1
- Android / Windows / Linux
-
克隆项目:
git clone https://github.com/walkingon/KyrieCloudHub.git cd KyrieCloudHub -
安装依赖:
flutter pub get
-
运行应用:
flutter run
-
构建发布版:
# Windows flutter build windows # Android flutter build apk # Linux flutter build linux
- 登录 腾讯云控制台
- 进入「访问管理」→「访问密钥」→「API 密钥管理」
- 创建密钥,获取 SecretID 和 SecretKey
- 登录 阿里云控制台
- 进入「RAM 访问控制」→「用户管理」
- 创建用户或使用已有用户,获取 AccessKey
- 启动应用后,选择登录平台(腾讯云/阿里云)
- 输入 SecretID 和 SecretKey 进行登录
- 登录成功后即可查看和管理存储桶
- 在设置中配置下载目录
kyrie_cloud_hub/
├── lib/
│ ├── main.dart # 应用入口
│ ├── models/ # 数据模型层
│ │ ├── bucket.dart # 存储桶模型
│ │ ├── object_file.dart # 对象/文件模型
│ │ ├── platform_type.dart # 平台类型枚举
│ │ ├── platform_credential.dart # 平台凭证模型
│ │ └── storage_class.dart # 存储类型枚举
│ ├── screens/ # 界面层
│ │ ├── main_screen.dart # 主界面
│ │ ├── bucket_objects_screen.dart # 对象文件列表
│ │ ├── platform_selection_screen.dart # 平台选择
│ │ ├── login_dialog.dart # 登录对话框
│ │ ├── settings_screen.dart # 设置界面
│ │ ├── about_screen.dart # 关于界面
│ │ └── widgets/ # 共享组件
│ ├── services/ # 服务层
│ │ ├── storage_service.dart # 本地存储服务
│ │ ├── cloud_platform_factory.dart # 平台工厂
│ │ └── api/ # API 实现
│ │ ├── cloud_platform_api.dart # API 抽象接口
│ │ ├── tencent_cos_api.dart # 腾讯云 COS 实现
│ │ ├── ali_yun_oss_api.dart # 阿里云 OSS 实现
│ │ └── aliyun/ # 阿里云签名/分块
│ │ └── tencent/ # 腾讯云签名/分块
│ └── utils/ # 工具类
│ ├── logger.dart # 日志系统
│ ├── file_path_helper.dart # 文件路径辅助
│ ├── file_type_helper.dart # 文件类型辅助
│ ├── file_chunk_reader.dart # 文件分块读取
│ └── progress_dialog.dart # 进度对话框
├── pubspec.yaml
├── analysis_options.yaml
└── README.md
欢迎提交 Issue 和 Pull Request!
- Fork 本项目
- 创建分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目基于 Apache License 2.0 开源协议,详见 LICENSE 文件。
感谢所有为这个项目做出贡献的人和AI!
如果本项目对您有帮助,欢迎点亮 Star ⭐


