Skip to content
 
 

Repository files navigation

RcloneTray RcloneTray

GitHub release CI GitHub Sponsors

A simple desktop app that lives in your system tray and gives Rclone a graphical interface. Mount, sync, and serve your cloud storage without touching the command line — a free alternative to Mountain Duck.

Platform support: RcloneTray is developed and tested primarily on macOS. Windows and Linux builds are provided and should work, but are not actively tested — if something breaks there, please open an issue. Pull requests are welcome.

Screenshot

Contents

Features

  • Mount remote storage as a local drive.
  • Sync safely between local folders and remotes (upload and download) with root-path guards and a dry-run confirmation.
  • Serve remotes over HTTP, FTP, WebDAV, or Restic.
  • Activity view — see active and recent mounts, transfers, servers, logs, and failures.
  • Bundled Rclone — works out of the box, no separate install.
  • Cross-platform — Windows, macOS, and Linux.
  • Automatic dark mode — follows your system theme.
  • Secure by default — sandboxed renderer with context isolation.

Install

Download the latest release for your platform:

Platform Architecture Files
Windows x64, ia32, arm64 .exe installer
macOS Intel & Apple Silicon .dmg, .zip
Linux x64 .AppImage, .deb

New to RcloneTray? The Getting Started guide walks through installation in plain English.

To build from source instead, see Development.

First launch

The app is not code-signed (an Apple Developer ID and a Windows certificate both cost money — this app is free), so each OS shows a one-time warning for unknown apps. This is expected.

macOS — after installing from the .dmg, run this once in Terminal:

xattr -d com.apple.quarantine /Applications/RcloneTray.app

(Alternatively: right-click the app, choose Open, then Open again. The Terminal command is the most reliable.)

Windows — if SmartScreen warns about an unknown publisher, click More info → Run anyway.

Linux — make the AppImage executable, then run it:

chmod +x RcloneTray-*.AppImage
./RcloneTray-*.AppImage

Requirements

Operating systems

  • Windows 7/8/10/11 (x64, arm64)
  • macOS 10.10 or later (Intel and Apple Silicon)
  • Linux (x64) with a desktop environment that supports tray icons

Mounting (optional)

The mount feature needs a FUSE driver for your OS:

OS Required package
Windows WinFsp
macOS macFUSE
Linux fuse (e.g. sudo apt install fuse on Debian/Ubuntu)

If you would rather not install a FUSE driver, use the WebDAV serve feature instead.

Usage

  1. Launch RcloneTray — it starts in your system tray.
  2. Open the tray menu and choose New Remote.
  3. Pick a provider (Amazon S3, Google Drive, Dropbox, and so on).
  4. Enter your credentials and settings (only the Name is required up front; the provider-specific fields like bucket, access key, region, and so on appear once you pick a provider).
  5. Mount, sync, or serve the remote from the tray menu. Use Activity to see running jobs and recent rclone output.

Prefer the terminal? You don't have to use the dialog at all. Run rclone config in your terminal to create or edit remotes — RcloneTray reads the same rclone.conf, so anything you configure there shows up in the tray automatically (and vice-versa). Advanced and provider-specific flags are also available under Advanced in the remote dialog, and global flags under Preferences → Rclone → Custom args.

FAQ

How do I use my own Rclone installation?

Open Preferences → Rclone and uncheck Use bundled Rclone.

My drive mounts, but files won't save or editing fails.

Open Preferences → Rclone → Mounting and set VFS cache mode to Writes (the default) or Full, then re-mount the remote. This lets apps open, edit, and save files on the mounted drive.

Why can't I mount my remote?

Make sure the FUSE driver for your OS is installed — see Requirements.

How do I add authentication to serving?

Open Preferences → Serving and set a username and password.

Where is the config file stored?

RcloneTray uses the default Rclone location:

  • Windows: %APPDATA%\rclone\rclone.conf
  • macOS: ~/.config/rclone/rclone.conf
  • Linux: ~/.config/rclone/rclone.conf

Troubleshooting

I picked S3 (or another provider) but only see the Name field.

This was a bug fixed in v1.6.0 — update to the latest release. The provider-specific fields (bucket, access key, region, etc.) now render as soon as you select a provider. If a field still seems missing, it's likely hidden because it only applies to a specific sub-provider; choose the matching Provider value and it will appear.

macOS: "RcloneTray can't be opened" / "Apple could not verify…"

RcloneTray is free and unsigned (an Apple Developer ID costs $99/year). macOS quarantines unsigned apps. Either right-click the app → OpenOpen, or run once in Terminal:

xattr -dr com.apple.quarantine /Applications/RcloneTray.app
The bundled Rclone won't start (macOS).

The same Gatekeeper quarantine can block the bundled rclone helper. RcloneTray now tries to clear the quarantine attribute automatically on first run. If it still fails, either run the xattr command above, or open Preferences → Rclone, uncheck Use bundled Rclone, and install Rclone yourself:

brew install rclone   # macOS (Homebrew)
Nothing happens / an error pops up when I create a remote.

Errors from Rclone are now surfaced in the dialog instead of being swallowed. Read the message — it usually points at a missing required field. You can always fall back to rclone config in the terminal to create the remote, then it appears in the tray.

Development

Prerequisites: Node.js v20+ and npm.

git clone https://github.com/ysalitrynskyi/RcloneTray
cd RcloneTray
npm install
npm start

Scripts

Script Description
npm start Build and start the app
npm run build Compile TypeScript
npm run typecheck Type-check without emitting
npm run lint Run ESLint
npm run test Run unit and integration tests (Vitest)
npm run test:coverage Run tests with a coverage report
npm run test:e2e Run E2E smoke tests (Playwright + Electron)
npm run dist Build distribution packages

Project structure

src/                  TypeScript source
  main.ts             Main Electron process
  tray.ts             System tray menu
  rclone.ts           Rclone integration
  settings.ts         Settings storage
  dialogs.ts          Dialog windows
  dialogs-preload.ts  Preload (context bridge)
  types.ts            Shared types
  ui/                 HTML, CSS, icons
dist/                 Compiled JavaScript
tests/                Unit, integration, E2E tests
rclone/               Bundled rclone binaries

Changelog

Recent highlights — see CHANGELOG.md for the full history.

  • v1.7.0 — Safety/release hardening: sync now blocks root/relative local paths and shows a dry-run preview before destructive runs; automatic upload copies changes without mirroring deletes; Activity shows rclone job state/logs; IPC/external links/terminal launch paths hardened; CI/release gates now verify tests, coverage, pinned rclone, and artifacts.
  • v1.6.0 — Fixed provider forms showing only the Name field (S3 and others now render all fields); provider-specific options correctly show/hide per sub-provider; bundled Rclone auto-repairs macOS quarantine; cleaner dialog header; terminal/rclone config guidance in-app and in the docs. macOS is the primary tested platform.
  • v1.5.1 — Fixed bookmark creation silently failing: errors (like a missing required S3 bucket) are now shown in the dialog instead of the window just closing.
  • v1.5.0 — Reliability pass (clearer errors, safer add/update/delete, native file-manager open); unified ui.css design system with form-field fixes; platform-aware "Show in Finder/Explorer/Files" labels.
  • v1.4.2 — Adding a remote now appears in the tray immediately; brand icon restored and modernized; larger Preferences window; working About buttons.
  • v1.4.0 — Working mounts (--vfs-cache-mode writes by default); searchable provider picker; custom app icon; in-app guidance.
  • v1.3.0execFile for rclone commands, real test suite, and a tag-triggered release pipeline for all three platforms.

Contributing

Contributions are welcome.

  1. Fork the repository.
  2. Create a feature branch: git checkout -b feature/my-change.
  3. Make your change and run npm run test.
  4. Commit and push, then open a Pull Request.

Support

If RcloneTray is useful to you, consider sponsoring its development:

Sponsor on GitHub

License

Released under the MIT License.

Credits

About

Rclone GUI. Fork of dimitrov-adrian/RcloneTray.

Resources

Contributing

Security policy

Stars

14 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages