Spacedrive: An Open-Source Cross-Platform File Manager

5月6日 Published inFile Utilities

Spacedrive is an open-source, cross-platform file manager powered by a Virtual Distributed File System (VDFS).

It allows you to centralize files from every device you own. By combining cloud storage and offline hard drives into a single, personal distributed cloud, Spacedrive is designed for independent creators, digital collectors, and anyone looking to reclaim control over their digital footprint.

Virtual Distributed File System (VDFS) A VDFS operates across various storage layers, providing a single API to access and manage content regardless of the device. This approach eliminates lock-in to any specific machine or operating system.

Core features include:

  • Virtual Indexing – Maintains a comprehensive index of all storage locations, syncing it with a local client database in real time.
  • Content-Addressed Storage (CAS) – Utilizes content hashes to uniquely identify every file while simultaneously tracking logical paths to their physical locations.

The VDFS concept originated in a paper by Haoyuan Li at UC Berkeley, originally intended for cloud computing. These foundational ideas have since been adapted for consumer-facing open-source software.

Tech Stack Spacedrive is built using the "PRRTT" stack: Prisma, Rust, React, TypeScript, and Tauri.

  • Frontend – Uses Prisma and rspc to facilitate type-safe communication between Rust and TypeScript.
  • Core – The sdcore engine is written in pure Rust, managing the file system, database operations, and networking logic.
  • Packaging – Tauri is used to create lightweight native applications, bypassing the high resource consumption typically associated with Electron.
  • Multi-platform Support – Native clients are currently planned for macOS (Swift), iOS (Swift), Windows (C#), and Android (Kotlin).

Main Directories

apps/         # Applications (server, CLI, etc.)
core/         # Rust core modules
crates/       # Shared Rust libraries
interface/    # React UI components
packages/     # Tooling and configuration files