This release is mostly about safety. Cloud drives now mount in a way no account can abuse, a paused drive can no longer freeze your server, download folders respect every account's walls, and SSL certificates and qb help got a long overdue cleanup. Here is everything, in plain terms.
How to update
Go to System > Changelog in your dashboard and click Update QuickBox, or run:
qb update quickboxEverything below happens on its own during the update. You don't need to touch your cloud drives, your accounts or your download folders.
Cloud drives: safer mounts, and switching providers without the pain
If you use rclone for Google Drive, Dropbox or Uloz.to, your drive now mounts as root in a root-owned folder outside your home, at /run/qbrclone/username. Your ~/rclone folder holds links to it, so every path you use today keeps working. Your apps, your media server and your scripts see the same files in the same place.
Why the move? A shared server needs every account to stay in its own lane. Before this release, setting up a cloud drive also turned on a system-wide FUSE option that let any account make its own mounts that the web server would read. One account could then freeze such a mount and hang the web server for every account on the box. That option is now off, the update turns it off on servers that already had it, and QuickBox also locks down system tools that could make the same kind of mount on their own. Your rclone drive keeps working because QuickBox mounts it for you, as root.
Switching cloud providers got a proper rework too:
- QuickBox writes and checks the new provider first, while your current setup keeps running.
- If your drive is encrypted, the encryption is kept and pointed at the new provider.
- If anything fails along the way, your old setup is put back and started again, and you are told the switch was rolled back.
- Your files are not moved. Anything stored with the old provider stays there, and the new provider shows what it already holds.
Admins can now switch from the dashboard. On the App Dashboard, open the Cloud Sync row of the Storage card, click Manage, then Switch provider. Pick the new provider, paste the token (or the Uloz.to login), and confirm. From the CLI it works for any account:
qb user rclone -o switch-provider -u username --gdrive --token '<token JSON>'The Cloud Sync row also shows how much of your cloud drive is used and how big it is, read from your provider. When a dashboard rclone action fails, it now says so instead of reporting success.
A paused or slow cloud drive no longer holds anything up
Cloud mounts can stall: a provider hiccup, an expired token, a network blip. Before, a stalled mount could hang the download index, the dashboard's disk checks and some qb commands that measure disks. Now:
- The dashboard never measures a cloud mount directly, and any check that touches one runs on a timer and gives up cleanly.
- The download index never reads an account's own cloud mount, and every ownership check it runs has a time limit, so a stalled mount can't hold up a refresh.
qb generate,qb manage mountand the rclone status leave cloud mounts out of disk size scans.
Stronger walls between accounts
- Web login files in
/etc/htpasswd.dare written asroot:www-datawith mode 0640, whatever your server's defaults are. The update fixes existing files too. - Removing an app for an account that doesn't have it is refused before anything runs, so it can no longer touch the shared parts other accounts rely on.
- noVNC stays up for everyone else when one account removes or reinstalls it, and removing it leaves no failed service behind.
Download folders: moved homes work, and nobody sees anyone else's files
- Moved a home to another disk? If you moved an account's home (or its
~/torrentsfolder) to other storage and linked it back into/home, its download folders are now served from the real location. QuickBox checks that the account owns the folder and that only root can change the folders above it. If something is off,qb fix user-permstells you what and leaves it alone. - Shared disks under
/mntand/mediaare only served to the account that owns them. A folder that holds another account's files is refused, and the account gets its default download folder instead. - Clearer reasons. When a download folder can't be served, you now get the real reason instead of a generic one.
- Shares that show one owner for everything (Samba, FAT, exFAT, NTFS) are served as before.
Fail2Ban app jails turn on at the right time
If you use Auto-protect for apps, an app's jail is now turned on only once the app has started and written its log. Fail2Ban refuses to start any jail at all while an enabled jail has no log file, so this keeps your other jails running. If the log never shows up, the install prints a warning that the jail is waiting for it, and QuickBox turns it on at the next update. Removing an app turns its jail off only when no other account still has the app. Sonarr, Radarr and Lidarr updates no longer turn on a jail you opted out of.
SSL certificates (lecert) do what you tell them
- One domain per app. Each app flag now takes the
-dthat follows it, so you can issue several certificates in one go:
qb install lecert --dash -d domain.com --emby -d emby.domain.com -u username- A
-dwith no app flag, a flag with no domain, or the same domain on two apps is refused with a clear message. qb renew lecert -d a.example.com -d b.example.comrenews both domains, not just the last one.- A
--dry-runnow fails when a challenge fails, and cleans up after itself. - An install that leaves a domain without a certificate now exits with an error instead of looking like it worked.
- The old
qb sslcommands point you toqb install lecertandqb remove lecert. - Every lecert message is translated in all seven CLI languages.
A qb help that actually helps
Type qb help with nothing after it and you get the full command list with links to the docs. The DNS commands have their own section, qb help software lists one app per line, and the whole help screen is translated into all seven CLI languages.
ruTorrent updates check before they touch anything
An install, update or reinstall of ruTorrent now downloads and checks the release first. If the download fails or the release looks wrong, the run stops and your current ruTorrent is left exactly as it was.
Under the hood
- Safer updates. The core QuickBox library is now replaced in one step during an update, so a
qbcommand that runs mid-update sees either the old version or the new one, never half of each. A rollback puts the old one back as a whole. - Dashboard dependency fixes. The dashboard picks up patched dependencies, including a fix so login details are no longer passed along when a request is redirected to another site.
- Autoscan is deprecated. Its upstream project is archived, so new installs are refused. If you already run it, update, reinstall and remove keep working.
That's the release. Update when you're ready, and as always, holler in Discord if anything looks off.
