viperadnan-git/rspace

A fast, native desktop app to manage and sync all your cloud storage. Powered by rclone.

★ 4Forks 0RustGitHub ↗Compare

README

rspace

rspace

Release Downloads Build Code size Platform Rust version Powered by rclone License

rspace is a fast, native desktop app for your cloud storage. Connect Drive, S3, Dropbox, and 70+ more providers, then browse, move, and sync files across all of them from one window — no command line required. Built on rclone, with a clean native UI on top.

▶ See it in action — 90 seconds

Features

  • Every remote in one window — Drive, S3, Dropbox, OneDrive, Backblaze B2, Azure, SFTP, WebDAV and the rest of rclone's 70+ backends, side by side.
  • Real transfers — copies, moves and syncs run in the background with live progress, throughput and ETA.
  • Built-in previews — read documents, code and images without downloading them first.
  • Search that reaches into subfolders — filter a deep tree, then act on the results.
  • Keyboard-driven — a command palette and shortcuts for every action.
  • rclone stays visible — daemon status, version and logs are one click away, never hidden behind the UI.

Download

Download the latest build for your platform from the Releases page:

  • macOS — .dmg (Apple Silicon or Intel); open it and drag rspace to Applications.
  • Windows — .exe installer (or .msi).
  • Linux — .AppImage (chmod +x and run) or .deb.

rspace drives rclone, so rclone must be installed — it is the only thing rspace needs to run. rspace finds it automatically and offers to install it if it's missing, and it reads the rclone config you already have, so configured remotes show up on first launch.

The app is not notarized (no paid developer certificates), so each OS shows a one-time prompt:

  • macOS — launch rspace once, then System Settings → Privacy & Security → Open Anyway (or xattr -dr com.apple.quarantine /Applications/rspace.app).
  • Windows — SmartScreen → More info → Run anyway.

To uninstall, use rspace → Uninstall rspace — it wipes all app data and moves the app to the Trash. Your rclone config and cloud files are left untouched.

Screenshots

Browsing a remote, with 45 configured remotes in the sidebar Live transfers with progress, speed and ETA
Every remote in one window Transfers, with live speed and ETA
A file open in the preview pane Searching for .png across subfolders
Built-in previews Search across subfolders
The keyboard shortcuts sheet The rclone daemon status popover, showing the connected version and log path
Keyboard shortcuts for everything rclone status, version and logs

Building from source

Only needed if you're contributing or building yourself — the Releases page has prebuilt installers.

  • Rust — current stable (edition 2024; rustc ≥ 1.85).
  • macOS only — full Xcode (not just Command Line Tools) plus the Metal Toolchain, required to compile gpui's shaders:
    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
    sudo xcodebuild -license accept
    xcodebuild -downloadComponent MetalToolchain
cargo build --workspace      # build everything
cargo test --workspace       # run tests
cargo run -p rspace          # launch the app

Layout

Cargo workspace under crates/:

  • core — storage, manifest, accounting
  • rclone_rc — rclone detection, daemon lifecycle, RC API client
  • ui — the gpui shell
  • app — the binary

Releasing

The tag is the source of truth — pushing one is the release. One command (cargo-release, cargo install cargo-release):

cargo release patch   # or minor / major

It bumps the shared workspace version, commits, and pushes a vX.Y.Z tag. That tag push triggers package.yml, which builds the macOS/Linux/Windows installers with cargo-packager, signs the auto-update artifacts, and publishes the GitHub Release — with release notes generated automatically from the commits in the tag range. (Add --execute once you've confirmed the dry-run plan; cargo-release dry-runs by default.)

One-time repo secret:

  • CARGO_PACKAGER_SIGN_PRIVATE_KEY / CARGO_PACKAGER_SIGN_PRIVATE_KEY_PASSWORD — the updater signing key + password (generated via cargo packager signer generate) so package.yml can sign the auto-update artifacts. The public half is embedded in crates/ui/src/update.rs; in-app self-update verifies against it.

License

GPL-3.0-or-later. rspace is free software — you may use, study, share, and modify it, but any distributed derivative must also be released under the GPL; it cannot be taken closed-source. (gpui, which rspace builds on, is Apache-2.0 — compatible with the GPL.)

Contributors

viperadnan-git

Issues