Skip to content

devlive-community/nebula

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

106 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors