Skip to content

Latest commit

 

History

History
55 lines (41 loc) · 8.2 KB

File metadata and controls

55 lines (41 loc) · 8.2 KB

English · 简体中文 · Русский · 日本語 · 한국어

Nebula

Кроссплатформенный настольный менеджер объектного хранилища для нескольких облаков — управляйте Aliyun OSS, Tencent COS, Huawei OBS, AWS S3, Cloudflare R2, Qiniu Kodo, MinIO, Backblaze B2, Wasabi, DigitalOcean Spaces, Scaleway Object Storage, UCloud US3, JD Cloud OSS и UPYUN из одного нативного приложения, как обычным файловым менеджером: просмотр, загрузка и выгрузка, публикация ссылок и миграция между облаками — всё в одном месте.

Создано на Rust + Tauri — лёгкое, быстрое, нативное на macOS / Windows / Linux. Каждое облако поддержано написанным вручную, независимо публикуемым Rust SDK, без каких-либо агрегирующих библиотек.

Сайт: https://nebula.devlive.org/ · Загрузка: GitHub Releases

Репозиторий: GitHub · GitCode

Поддерживаемые облака

Провайдер Статус Подпись
Aliyun OSS ✅ проверено на реальном аккаунте V2 (HMAC-SHA1)
Huawei OBS ✅ проверено на реальном аккаунте V2 (HMAC-SHA1)
Tencent COS собственный q-sign
Qiniu Kodo S3-совместимо (использует s3-core)
AWS S3 SigV4
Cloudflare R2 S3-совместимо (SigV4)
MinIO S3-совместимо (http / свой порт)
Backblaze B2 S3-совместимо (использует s3-core)
Wasabi S3-совместимо (использует s3-core)
DigitalOcean Spaces S3-совместимо (свой конструктор выводит регион из endpoint)
Scaleway Object Storage S3-совместимо (использует s3-core)
UCloud US3 S3-совместимо, только SigV4 (свой клиент выводит регион из endpoint)
JD Cloud OSS S3-совместимо (использует s3-core)
UPYUN ⚠️ регион не подтверждён S3-совместимо; значение region для SigV4 — догадка (us-east-1), официально не подтверждена

Добавить провайдера = написать один SDK <vendor> (S3-совместимые просто используют s3-core) + один адаптер provider и зарегистрировать его в app-coreизменения в интерфейсе не нужны.

Возможности

  • Просмотр и предпросмотр — переход по папкам, режимы списка / сетки, сортировка и фильтрация; предпросмотр изображений / видео / аудио / PDF / текста и кода; детали объекта со классом хранения, реальным Content-Type (редактируемым) и тегами объекта (чтение/запись); статистика размера папки / бакета с разбивкой по классам хранения.
  • Выгрузка и загрузка — перетаскивание файлов или папок, множественный выбор; параллельная многочастная выгрузка с возобновлением; неизменённые файлы пропускаются мгновенно; потоковая загрузка без буферизации, рекурсивная загрузка папки целиком.
  • Миграция и организация — перемещение объектов или целых папок между аккаунтами и облаками (серверное копирование внутри аккаунта, ретрансляция между аккаунтами); копирование / перемещение / переименование в любую директорию внутри аккаунта; пакетное переименование выбранных объектов (префикс / суффикс / поиск и замена, с предпросмотром перед применением).
  • Публикация и доступ — предподписанные ссылки на загрузку / выгрузку; сделать объект публичным и получить постоянную прямую ссылку, при желании через свой домен / CDN, настроенный для аккаунта.
  • Поиск и пакетные операции — рекурсивный поиск внутри бакета (по имени / размеру / типу), множественный выбор результатов для смены класса хранения / восстановления / удаления / загрузки; бакеты из других регионов автоматически маршрутизируются в свой регион.
  • Навигация и продуктивностькомандная палитра Cmd/Ctrl+K (набор текста для перехода к аккаунтам / закладкам или выполнения команд), закладки, недавние места; интерфейс на английском / китайском, светлая / тёмная темы, горячие клавиши и контекстные меню.
  • Управление передачами — контроль параллелизма, глобальное ограничение скорости, скорость / оставшееся время, отмена / возобновление, восстановление после перезапуска, повтор всех неудачных.
  • Гигиена хранилища — очистка «осиротевших» незавершённых многочастных выгрузок, чтобы вернуть незаметно оплачиваемое место; смена класса хранения или восстановление из архива для одного объекта или целой папки.
  • Аккаунты и безопасность — секреты в системном хранилище ключей; метаданные, настройки, закладки, недавние места и настройки интерфейса сохраняются в локальном SQLite (в отдельных таблицах; незавершённые передачи возобновляются после перезапуска).
  • Автообновление — обнаружение новых версий в приложении и установка в один клик с проверкой подписи обновления.

Архитектура и разработка

Rust + Tauri 2.0, монорепозиторий со строго однонаправленной трёхслойной архитектурой: cloud-core → SDK по вендорам → адаптеры provider → app. Секреты хранятся в системном хранилище ключей; асинхронность на tokio.

Полную структуру каталогов, руководство по SDK и спецификации по каждому вендору см. в основном README (简体中文) и docs/. Запуск и сборка приложения: app/README.md.

Лицензия

MIT