Skip to content

Latest commit

 

History

History
57 lines (41 loc) · 2.71 KB

File metadata and controls

57 lines (41 loc) · 2.71 KB

Nebula

跨平台(桌面)多云存储管理器 —— 用统一界面管理阿里云 OSS、腾讯云 COS、华为云 OBS、AWS S3 等多家云存储。

底层每家云都是从零手写的独立可发布 Rust SDK,不依赖任何聚合库。

技术栈

  • 语言 / GUI:Rust + Tauri 2.0(桌面三端 macOS / Windows / Linux)
  • 架构:monorepo,三层解耦,依赖严格单向
    cloud-core → 各厂商 SDK → providers 适配层 → app
    
  • 凭证:系统钥匙串(keyring)
  • 异步:tokio

目录结构

nebula/
├─ crates/
│  ├─ cloud-core/               公共底座(HTTP / 签名积木 / 错误 / 重试 / 分页)
│  ├─ aliyun-oss/               阿里云对象存储 SDK(对象/桶/列举/分片/预签名)
│  ├─ huawei-obs/               华为云对象存储 SDK(对象/桶/列举/分片/预签名)
│  ├─ nebula-provider/          App 统一抽象 trait(StorageProvider)
│  ├─ providers/provider-aliyun 适配层(aliyun-oss → StorageProvider)
│  ├─ providers/provider-huawei 适配层(huawei-obs → StorageProvider)
│  └─ app-core/                 App 业务逻辑(账号/传输/设置,框架无关,可 cargo test)
└─ app/                         Tauri 桌面应用(src-tauri 后端 + src 前端)

已实现阿里云 OSS 与华为云 OBS 两家,均全链路真账号验证过。新增厂商 = 按 SDK 开发手册 写一个 <vendor> SDK + 一个 provider 适配层, 在 app-core 注册即可,App 界面无需改动。完整规划见 PLAN.md

应用功能

账号(SQLite + 系统钥匙串)· 浏览(目录逐层 / 列表·网格视图 / 排序 / 过滤 / 详情 / 图片预览) · 上传(拖拽文件·文件夹 / 多选 / 自动分片 / 进度)· 下载(流式 / 批量)· 重命名 / 复制·移动(级联选择器) · 分享(预签名链接)· 新建文件夹 · 删除(单个 / 批量)· 传输面板(并发 / 重试)· 设置 · 明暗主题 · 快捷键 · 右键菜单。

App 的运行与打包见 app/README.md

开发约定

  • 每家 SDK 保持厂商原名(aliyun-oss 而非 nebula-aliyun),便于被搜索复用。
  • 厂商 SDK 不得依赖 App 层任何 crate,以保持独立可发布。
  • 按功能逐个开发:每个功能验证通过后独立提交,确认后再进入下一个。

开发文档

License

MIT