mirror of
https://github.com/cedev-1/desktop.git
synced 2026-09-16 17:32:06 +00:00
Desktop sync client for Cloudreve.
https://cloudreve.org/desktop
- Rust 89.9%
- TypeScript 8.5%
- PowerShell 1%
- QMake 0.5%
| crates | ||
| docs | ||
| locales | ||
| package | ||
| src-tauri | ||
| ui | ||
| .gitignore | ||
| build-msix.ps1 | ||
| Cargo.toml | ||
| CLAUDE.md | ||
| dev-install.ps1 | ||
| LICENSE | ||
| README.md | ||
Cloudreve Desktop
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
- Windows 10/11 with Developer Mode enabled
- Rust toolchain (install via rustup)
- Node.js 18+ and Yarn
- Windows SDK (for MSIX packaging)
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:
- Build the Tauri application (release mode)
- Copy the binary to
package/ - Update
AppxManifest.xmlwith correct architecture and version - 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
