Skip to content

cloudreve/desktop

Repository files navigation

Cloudreve Desktop

Hero Image

A Windows desktop client for Cloudreve cloud storage, built with Tauri and React. Provides seamless file synchronization using the Windows Cloud Files API.

Features

  • Real-time bidirectional file synchronization
  • On-demand file hydration (files download only when accessed)
  • Windows Explorer integration (context menus, thumbnails, custom states)
  • Multiple storage provider support, aligned with Cloudreve server
  • System tray application

Prerequisites

For Users

  • Windows 10 version 1903 (build 18362) or later
  • A Cloudreve server instance

For Developers

Enable Developer Mode:

Settings → Privacy & security → For developers → Developer Mode → On

Install Rust targets for cross-compilation:

rustup target add x86_64-pc-windows-msvc
rustup target add aarch64-pc-windows-msvc

Build & Run

Quick Start (Development)

# Install frontend dependencies
cd ui
yarn install
cd ..

# Run in development mode with hot reload
cargo tauri dev

Release Build

cargo tauri build

The built binary will be at target/release/cloudreve-desktop.exe.

Development Installation (Full Feature Testing)

The basic cargo tauri dev/build only produces the binary. For testing shell integration features (context menus, thumbnails, cloud file states), you need to register the app as an MSIX package.

Using dev-install.ps1

# Build and register for development
.\dev-install.ps1

# Skip build if binary already exists
.\dev-install.ps1 -SkipBuild

# Use custom version
.\dev-install.ps1 -Version "0.2.0"

This script will:

  1. Build the Tauri application (release mode)
  2. Copy the binary to package/
  3. Update AppxManifest.xml with correct architecture and version
  4. Register the package with Add-AppxPackage -Register

Unregister Development Package

Get-AppxPackage *Cloudreve* | Remove-AppxPackage

Building MSIX Packages

For distribution, use build-msix.ps1 to create signed MSIX packages.

# Build for both x64 and ARM64, create bundle
.\build-msix.ps1

# Build for specific architecture
.\build-msix.ps1 -Arch x64
.\build-msix.ps1 -Arch arm64

# Skip build (use existing binaries)
.\build-msix.ps1 -SkipBuild

# Custom version
.\build-msix.ps1 -Version "1.0.0"

Output files:

dist/
├── Cloudreve.x64.msix
├── Cloudreve.arm64.msix
└── Cloudreve.msixbundle

Requirements for MSIX Building

  • Windows SDK with makeappx.exe (automatically detected)
  • For Store submission, packages must be signed with a certificate

Project Structure

├── src-tauri/           # Tauri application shell
├── crates/
│   ├── cloudreve-sync/  # Core sync service
│   ├── cloudreve-api/   # REST client for Cloudreve server
│   └── win32_notif/     # Windows notification utilities
├── ui/                  # React frontend (Vite + MUI)
├── package/             # MSIX packaging assets
├── dev-install.ps1      # Dev build + register script
└── build-msix.ps1       # Production MSIX builder

License

MIT

About

Desktop sync client for Cloudreve.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages