Mount remote servers and cloud storage as native drives. A lightweight, open-source alternative to RaiDrive: no ads, no telemetry, credentials stay in the operating system keychain.
xDrives is a Tauri 2 desktop app. The backend is Rust (tokio + a shared VFS layer). The UI is TypeScript, Vite and Tailwind with a dark Slate/Zinc theme.
| Source | How it mounts |
|---|---|
| SFTP (password or SSH key) | Native drive: WinFsp (Windows, Cloud Files fallback), FUSE (Linux), FUSE-T (macOS, NFS fallback) |
| WebDAV | Same VFS path |
| FTP / FTPS | Same VFS path |
| SMB | Same VFS path (pure-Rust SMB2/3 client) |
| Google Drive, OneDrive, Dropbox | OAuth2 PKCE + local loopback, then VFS |
| Amazon S3, MinIO, Cloudflare R2 | Signed REST, then VFS |
Explorer / Finder / Nautilus see a normal disk. Metadata is cached in RAM; file blocks are cached on disk with LRU so directory browsing does not stall on every round trip. Dropped connections are retried with keep-alive, exponential backoff and a small in-flight write buffer.
Frontend (Vite + TypeScript)
│ Tauri IPC
▼
AppState ── ConfigStore (AES-256-GCM JSON)
│ secrets → OS keyring
▼
CachedBackend (RAM metadata + chunk LRU)
▼
KeepAliveBackend (reconnect + I/O counters)
▼
VfsBackend trait
SFTP | WebDAV | FTP | SMB | S3 | Drive | OneDrive | Dropbox
▼
WinVfs (Windows Cloud Files + drive letter)
FUSE (Linux) / FUSE-T (macOS, NFS fallback)
Passwords, private keys and OAuth tokens are never written to the config file. Connection metadata is encrypted at rest. Tokens refresh in the background.
Languages: English (default) and Polish, with automatic OS locale detection.
- Rust 1.85+ (stable)
- Node.js 20+
- OS filesystem driver: none extra
- Windows: WinFsp is bundled (correct disk size in Explorer); Cloud Files API is the fallback
- Linux: FUSE userspace is compiled in; talks to the in-kernel
/dev/fuse(no libfuse package) - macOS: FUSE-T is installed on first mount (Finder shows remote disk size); built-in NFSv3 is the fallback
Linux extra packages for a Tauri build: libwebkit2gtk-4.1-dev, libayatana-appindicator3-dev, librsvg2-dev.
OAuth providers (Google, Microsoft, Dropbox) require your own application client ID. Paste it in the connection wizard. xDrives does not ship third-party secrets.
npm install
npm run tauri devRelease installers:
npm run tauri buildOutputs:
- Windows:
.msi/.exe(NSIS) - Linux:
.deb/.AppImage - macOS:
.dmg(aarch64= Apple Silicon,x64= Intel)
GitHub Actions builds are ad-hoc signed, not notarized (that needs a paid Apple Developer ID). After copying xDrives.app from the DMG into /Applications, Finder may block it.
Open it once with a right-click → Open, or:
xattr -cr /Applications/xDrives.app
open /Applications/xDrives.appOn macOS Sequoia and later you can also allow it under System Settings → Privacy & Security.
Unit tests (no live servers required):
cd src-tauri
cargo testsrc/ frontend
src-tauri/src/
vfs/ trait, cache, keep-alive, inode map
protocols/ SFTP, WebDAV, FTP, SMB, S3, clouds
mount/ WinFsp + Cloud Files (Windows) / FUSE (Linux) / FUSE-T + NFS (macOS)
security/ keyring + encrypted config
oauth/ PKCE + loopback + refresh
platform/ tray, drivers, notifications
commands.rs Tauri IPC
MIT. See LICENSE.
xDrives is not affiliated with RaiDrive, Google, Microsoft, Dropbox or Amazon.