
Rclone
Cloud storage sync and mount — Dropbox, Google Drive, or Uloz.to with optional encryption
The dashboard installer is the preferred way to install rclone. It handles provider selection, OAuth authorization, and encryption setup in one dialog. After install, the Storage widget on the App Dashboard shows your cloud usage and gives you a Manage button for everyday operations — no terminal needed. The CLI path remains available for scripted or advanced use.
Overview
Rclone is a command-line program for syncing files and directories between local storage and cloud providers. QuickBox installs it per user and builds a working directory that includes cache, mount points, and scheduled upload scripts.
The dashboard installer is the recommended path for new installs. It guides you through provider selection, OAuth authorization (for Dropbox and Google Drive), and encryption setup in a single dialog. The CLI remains fully supported for scripted or advanced use cases.
Rclone is not a media server or download client — it focuses on syncing, mounting, and optionally encrypting storage paths.
Key features
Three providers
Install with --dropbox, --gdrive, or --uloz. QuickBox creates the remote and builds the Media tree.
Optional encryption
Add --encrypted to create a crypt remote with a separate encryption password and salt.
Managed mounts
Systemd unit rclone@username mounts the remote with a mergerfs overlay at gmedia, dmedia, or umedia.
Scheduled uploads
A nightly cron entry runs move.sh at 03:12 server time and writes results to move.log.
When to use it
Prerequisites
- You need a per-user cloud mount (Dropbox, Google Drive, or Uloz.to) managed by QuickBox.
- You have OAuth app credentials ready (Client ID + Client Secret) or Uloz.to account details.
- You want optional server-side encryption with rclone crypt.
- You prefer uploads handled by
systemdandcronrather than custom scripts.
What you get
- Install via the dashboard (recommended) — provider, credentials, and encryption in one dialog.
- Or use the CLI:
qb install rclone --dropbox -u username. - Mount points are created under
/home/username/rclonewith cache, remote, and mergerfs paths. - Eight per-user control operations are available after install via
qb user rclone.
Quick start — Dashboard
The dashboard installer is the recommended path. It handles OAuth authorization in the browser without any manual token copying.
Steps:
- Open the QuickBox dashboard and go to System → Packages.
- Search for rclone and open the install dialog.
- Select your Cloud Provider:
- Dropbox — OAuth-based. Enter your App Key (Client ID) and App Secret (Client Secret), then click Authorize Dropbox. Your browser navigates to Dropbox’s consent page. After you approve, the dashboard redirects back and shows Authorized ✓. See Creating OAuth apps below.
- Google Drive — Same OAuth flow. Enter Client ID and Client Secret, click Authorize Google Drive. See Creating OAuth apps below.
- Uloz.to — Direct credentials (no OAuth). Enter your Uloz.to username, account password, and app token. See Generating a Uloz.to app token below.
- Toggle Encrypt remote contents if you want server-side encryption. When enabled, enter an encryption password and a separate salt (both must be remembered — there is no recovery).
- Click Install. The dashboard streams progress. When complete, rclone appears in your service control panel.
When you click Authorize, your browser navigates away from the dashboard to the provider’s consent page — this is not a popup. After you grant access, the provider sends your browser back to the dashboard automatically and the “Authorized ✓” badge appears. Only then does the Install button become active.
Before clicking Authorize, you must register the dashboard’s callback URL in your Dropbox or Google OAuth app settings. The Creating OAuth apps section below covers this step. Skipping it will cause the OAuth flow to fail with a redirect_uri mismatch error.
Quick start — CLI
The CLI path is available for advanced users or scripting. The flag-driven form (new) passes credentials non-interactively and is what the dashboard uses internally.
For Dropbox and Google Drive on servers with no attached browser session, the dashboard install path is recommended. The CLI’s interactive fallback uses rclone config reconnect which needs to open a browser to complete OAuth — that does not work over plain SSH. Either use the dashboard install dialog (it runs OAuth in your local browser and passes the token back automatically), or pre-generate a —token JSON blob and pass it on the CLI command line as shown in the flag-driven examples below.
Google Drive
# Interactive (prompts for client ID, client secret, and token)
qb install rclone --gdrive -u username
# Flag-driven non-interactive
qb install rclone --gdrive \
--client-id <client_id> \
--client-secret <client_secret> \
--token '{"access_token":"...","token_type":"Bearer","refresh_token":"...","expiry":"2026-06-01T00:00:00Z"}' \
-u usernameDropbox
# Interactive
qb install rclone --dropbox -u username
# Flag-driven non-interactive
qb install rclone --dropbox \
--client-id <app_key> \
--client-secret <app_secret> \
--token '{"access_token":"...","token_type":"Bearer","refresh_token":"...","expiry":"2026-06-01T00:00:00Z"}' \
-u usernameUloz.to
qb install rclone --uloz \
--uloz-user <username> \
--uloz-pass <password> \
--uloz-app-token <token> \
-u usernameEncrypted variant (any provider)
# Add --encrypted with enc-pass and salt-pass to any provider install
qb install rclone --dropbox \
--client-id <id> --client-secret <secret> \
--token '...' \
--encrypted \
--enc-pass <encryption-password> \
--salt-pass <salt-password> \
-u usernameBeta channel
# Installs from https://beta.rclone.org
qb install rclone --dropbox --beta -u username
# Update on the beta channel
qb update rclone --beta -u usernameInstall flags
-u, --usernameRequiredTarget QuickBox username (required).
--dropboxInstall with Dropbox as the cloud provider.
--gdriveInstall with Google Drive as the cloud provider.
--ulozInstall with Uloz.to as the cloud provider (direct credentials, no OAuth).
--client-idOAuth App Key / Client ID (Dropbox or Google Drive only). Non-interactive install.
--client-secretOAuth App Secret / Client Secret (Dropbox or Google Drive only). Non-interactive install.
--tokenPre-authorized OAuth token JSON blob. When present, QuickBox writes it directly to rclone.conf and skips the interactive rclone config reconnect step.
--uloz-userUloz.to account username.
--uloz-passUloz.to account password. Stored obscured in rclone.conf.
--uloz-app-tokenUloz.to app token (separate from account password). Generate at https://uloz.to/in-settings.
--encryptedCreate a crypt remote over the provider remote. Requires --enc-pass and --salt-pass.
--enc-passEncryption password for the crypt remote. Only valid with --encrypted.
--salt-passEncryption salt for the crypt remote. Only valid with --encrypted.
--betaInstall or update from the beta release channel.
Creating OAuth apps
Dropbox and Google Drive require you to create a developer app to get your Client ID and Client Secret. This is a one-time setup per QuickBox installation.
The redirect URI must be registered in your OAuth app settings before you click Authorize in the QuickBox dashboard. If the URI is missing or mistyped, the provider will reject the redirect with an error and the install will not complete.
Dropbox
-
Go to https://www.dropbox.com/developers/apps and click Create app.
-
Choose Scoped access, then Full Dropbox access. Give the app a unique name — Dropbox app names are globally unique across the entire Dropbox platform, so common names like
rcloneare already taken. Use something likeQuickBox-rclone-yourname. -
On the app’s Settings tab, find OAuth 2 → Redirect URIs and add:
https://<your-dashboard-domain>/api/packages/rclone/oauth/dropbox/callbackReplace
<your-dashboard-domain>with the actual domain your QuickBox dashboard is reachable at — the same domain you open in your browser to access the dashboard. -
Open the Permissions tab on the same app settings page and enable the following scopes (these are what rclone needs to read/write files and metadata):
account_info.readfiles.metadata.writefiles.content.writefiles.content.readsharing.write
Click Submit at the bottom of the Permissions tab. Without these scopes enabled, rclone will fail with permission errors when you try to upload or list files even though the OAuth handshake completes successfully.
-
Copy the App key (this is your
client_id) and App secret (this is yourclient_secret) from the Settings tab. -
Paste both values into the dashboard install dialog, then click Authorize Dropbox.
Google Drive
- Go to https://console.cloud.google.com/apis/credentials — create or select a project for your QuickBox install.
- Enable the Google Drive API first. Navigate to APIs & Services → Library, search for Google Drive API, and click Enable. Without this step the OAuth handshake will succeed but every rclone API call returns a 403.
- Configure the OAuth consent screen at APIs & Services → OAuth consent screen:
- User type: Select External for most QuickBox installs (any Google account can authorize). Choose Internal only if you are a Google Workspace admin and want to restrict the app to users in your own organization.
- App information: Provide an app name (e.g.,
QuickBox-rclone), a User support email, and Developer contact information. These values appear on the consent screen users see during authorize. - Scopes: Click Add or Remove Scopes and add the three scopes rclone uses:
https://www.googleapis.com/auth/docshttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.metadata.readonly
- Publishing status — choose one path BEFORE you connect:
- Option A — Publish to production (recommended for QuickBox installs). Click Publish app. Google will warn that the
auth/drivescope is “sensitive” and may require verification — for a private personal-use install you can ignore the verification request. Your refresh tokens will not expire and rclone will work indefinitely. The trade-off is that during authorize the user sees an “unverified app” warning screen — proceed via Advanced → Go to (your-app-name) (unsafe). - Option B — Keep in Testing mode. Add yourself (and any other authorized users) under Test users. No unverified-app warning during authorize, BUT every grant expires after 7 days, after which you must run
qb user rclone -o reauth -u username(or click Re-authorize on the dashboard control card).
- Option A — Publish to production (recommended for QuickBox installs). Click Publish app. Google will warn that the
- Create the OAuth client at APIs & Services → Credentials → Create Credentials → OAuth client ID:
- Application type: Select Web application (NOT Desktop — rclone.org’s general docs mention Desktop because rclone runs its own local listener, but QuickBox uses the dashboard as the OAuth redirect target which requires a Web application client).
- Name: any identifier you choose (e.g.,
QuickBox-rclone). - Authorized redirect URIs: click Add URI and enter:
https://<your-dashboard-domain>/api/packages/rclone/oauth/gdrive/callback - Click Create.
- Copy the Client ID and Client Secret from the confirmation dialog and paste both into the dashboard install dialog, then click Authorize Google Drive.
If you chose Option A (Publish to production) above, the Google consent screen will show “Google hasn’t verified this app” during authorize. This is expected behavior for personal-use OAuth apps and does NOT mean QuickBox or rclone is unsafe — Google is warning you about YOUR OWN app, which it has no way to verify is benign without a paid review process. Click Advanced, then Go to (your-app-name) (unsafe) to proceed. After completing the authorization once, this screen will not appear again on the same browser unless you revoke access.
Both providers require HTTPS redirect URIs. Every QuickBox installation has lecert-managed SSL on its dashboard domain, so this works without any extra configuration. If you are running a local development install over HTTP, use Google’s “Testing” OAuth mode or Dropbox’s localhost exception.
Generating a Uloz.to app token
Uloz.to uses direct credentials — no OAuth flow. You need three values:
- Username — your Uloz.to account login name
- Password — your Uloz.to account password
- App token — a separate per-application token, distinct from your password
To generate an app token, log in to Uloz.to and go to https://uloz.to/in-settings (the Application tokens section). Create a new token and copy it into the dashboard install dialog or the --uloz-app-token CLI flag.
The app token and account password are separate credentials. The app token is what rclone uses to authenticate. Your account password is also required during install because rclone needs both to set up the remote correctly.
Configuration and files
QuickBox creates a per-user config directory and a working folder with cache, mounts, and upload scripts.
Common tasks — qb user rclone
Eight per-user operations are available after install. Run them with -u username to target a specific user. Two operations (config-edit and switch-provider) require admin privileges; the other six can be run by the user themselves.
The config-edit and switch-provider operations require admin privileges. Regular users can run status, upload, logs, remove_lock, reauth, and schedule.
Switching providers with switch-provider
To move a user from one cloud provider to another without reinstalling:
# Switch to Dropbox (OAuth — requires pre-authorized token)
qb user rclone -o switch-provider -u username \
--dropbox \
--client-id <app_key> \
--client-secret <app_secret> \
--token '{"access_token":"...","refresh_token":"...","token_type":"Bearer","expiry":"..."}'
# Switch to Uloz.to (direct credentials)
qb user rclone -o switch-provider -u username \
--uloz \
--uloz-user <username> \
--uloz-pass <password> \
--uloz-app-token <token>This operation stops the current rclone service, backs up rclone.conf, removes the old remote, creates the new one, swaps the systemd unit templates, and restarts all services. A timestamped backup is saved to ~/.config/rclone/rclone.conf.bak.YYYYMMDDHHMMSS.
Service management
Most everyday operations (status, upload now, view logs, remove lock, re-authorize) are also available through the rclone control card in the QuickBox dashboard — no terminal required. After install, the App Dashboard Storage widget also shows a Cloud Sync row with your provider, last-upload time, and a Manage button. See App Management — Storage widget for details. The CLI commands below are for terminal-based administration when you need them.
# Restart the rclone mount service
systemctl restart rclone@username
# Check mount service status
systemctl status rclone@username
# Check the Google Drive mergerfs mount
systemctl status home-username-rclone-gmedia.mount
# Check the Dropbox mergerfs mount
systemctl status home-username-rclone-dmedia.mount
# Check the Uloz.to mergerfs mount
systemctl status home-username-rclone-umedia.mount
# Clear the upload log
qb clean rclone_logs -u usernameEncryption
The --encrypted flag creates a crypt remote layered over the main remote. Files stored in the cloud are encrypted; the local mount path shows them transparently decrypted.
Key facts:
- Encryption is configured at install time only. There is no upgrade path from a plaintext install to an encrypted install — you must reinstall.
- The Encryption password (
--enc-pass) and the Encryption salt (--salt-pass) must both be provided and must be different from each other. Store them safely — there is no recovery if they are lost. - All three providers (Dropbox, Google Drive, and Uloz.to) support encryption.
- The dashboard install dialog shows the encryption fields when Encrypt remote contents is set to Yes.
# Verify encryption is active for a user
qb user rclone -o status -u username
# Look for "encrypted: yes" in the outputTroubleshooting
Confirm that rclone@username is active: systemctl status rclone@username. Also check the mergerfs mount unit for your provider (home-username-rclone-gmedia.mount, home-username-rclone-dmedia.mount, or home-username-rclone-umedia.mount). If the service failed on start, check journalctl -u rclone@username for the reason.
Confirm the cron entry exists: crontab -l -u username | grep move.sh. The default schedule is 12 3 * * *. Also run qb user rclone -o status -u username — if “lock: held” appears without an active upload, run qb user rclone -o remove_lock -u username to clear the stale lock.
If the Dropbox or Google authorization page shows a redirect_uri mismatch error, the callback URL is not registered in your OAuth app. Open your app’s settings at the provider’s developer console and add the exact callback URL:
- Dropbox: https://<dashboard-domain>/api/packages/rclone/oauth/dropbox/callback
- Google: https://<dashboard-domain>/api/packages/rclone/oauth/gdrive/callback
Double-check that you copied the full App Key and App Secret (Dropbox) or Client ID and Client Secret (Google) without trailing spaces. For Google, also confirm the Google Drive API is enabled in your project’s API Library.
If the Uloz.to remote fails to authenticate, check each credential separately. The app token and account password are different. Generate the app token at uloz.to/in-settings under Application tokens.
If you reinstall with —encrypted and the new passwords do not match the ones used originally, rclone will not be able to decrypt existing files in the cloud. The old files are not lost — reinstall again with the original passwords to restore access.
Best practices
Do
- Use only one provider flag per install:
--dropbox,--gdrive, or--uloz. - Register the callback redirect URI in your OAuth app settings before clicking Authorize.
- Store your encryption password and salt in a password manager — there is no recovery path.
- Run
qb user rclone -o status -u usernameafter install to confirm the mount is healthy. - Use
switch-providerto migrate between providers rather than reinstalling — it preserves the user's existing cron schedule.
Don't
- Do not edit systemd unit files under
/etc/systemd/systemby hand. - Do not remove
rclone.lockwhile an upload is actively running — useqb user rclone -o statusfirst. - Do not attempt to add encryption to an existing plaintext install — a fresh install is required.
- Do not share the same OAuth app between multiple QuickBox users — create one app per install.
FAQ
12 3 * * * (03:12 server time). Each run invokes /home/username/rclone/move.sh, writes results to move.log, and uses rclone.lock to prevent overlapping runs. You can view or change the schedule with qb user rclone -o schedule -u username.rclone@username. Google Drive installs create /home/username/rclone/gdrive plus a mergerfs unit at home-username-rclone-gmedia.mount. Dropbox mirrors this with /home/username/rclone/dropbox and home-username-rclone-dmedia.mount. Uloz.to uses /home/username/rclone/uloz and home-username-rclone-umedia.mount.switch-provider operation: qb user rclone -o switch-provider -u username --gdrive --client-id <id> --client-secret <secret> --token '...'. This is an admin-only operation that stops the current service, backs up the config, removes the old Dropbox remote, and creates the new Google Drive remote. Alternatively, you can remove and reinstall rclone for the user.qb user rclone -o reauth -u username (interactive — uses rclone config reconnect which requires a browser). From the QuickBox dashboard: click the Re-authorize button on the rclone control card — it runs the same OAuth flow as the original install and updates the stored token without reinstalling.qb user rclone -o status -u username to check whether an upload is actually in progress ("lock: held" with a recent last-upload time) or whether the lock is stale. If the lock is stale (no active process), run qb user rclone -o remove_lock -u username to clear it, then trigger a fresh upload with qb user rclone -o upload -u username.qb remove rclone -u username) and reinstall with --encrypted. Files already in the cloud will remain unencrypted and are not affected by the reinstall.qb user rclone -o reauth -u username to refresh the token. rclone's built-in token refresh handles short-lived access tokens automatically using the stored refresh token; a manual reauth is only needed when the refresh token itself is revoked (e.g., the user resets their Dropbox or Google account password, or removes the authorized app)./home/username/rclone/move.log. You can view it via CLI with qb user rclone -o logs -u username (shows the last 20 lines) or in the QuickBox dashboard under the rclone service card.Resources
External resources
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.