Desktop sync client for Cloudreve. https://cloudreve.org/desktop
  • Rust 89.9%
  • TypeScript 8.5%
  • PowerShell 1%
  • QMake 0.5%
Find a file
2026-04-14 11:11:26 +08:00
crates release: 0.2.0 2026-04-14 11:11:26 +08:00
docs chore: readme and build script 2026-01-28 14:30:13 +08:00
locales feat: give a toast after manual sync comlete 2026-04-14 11:10:29 +08:00
package fix: auto startup toggle not working (close #8) 2026-02-03 14:44:13 +08:00
src-tauri release: 0.2.0 2026-04-14 11:11:26 +08:00
ui feat: set ignored pattern to skip files for syncing 2026-04-14 11:01:30 +08:00
.gitignore chore: readme and build script 2026-01-28 14:30:13 +08:00
build-msix.ps1 chore: readme and build script 2026-01-28 14:30:13 +08:00
Cargo.toml refactor: improve project structure 2026-01-16 10:53:37 +08:00
CLAUDE.md feat(ui): settings 2026-01-21 11:14:37 +08:00
dev-install.ps1 chore: readme and build script 2026-01-28 14:30:13 +08:00
LICENSE Initial commit 2025-10-31 21:10:01 +08:00
README.md Update README.md 2026-01-28 15:22:19 +08:00

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