Download
Install it wherever it belongs
The same core, installed two ways: as the app on a phone, tablet, TV or headset, or as a background service on a computer, NAS or Docker host. Sign in with the same CloudDrive account.
App stores
Phones, tablets, TVs and headsets
Install from the store and sign in with the same CloudDrive account. Core membership and App Pro both live on the account, so they follow you across devices and platforms.
- App StoreiPhone · iPad · Mac · Apple TV · Vision Pro — available now
- Google PlayAndroid phones and Android TV — available now
- Meta HorizonQuest — in alpha
iPhone, iPad, Mac, Apple TV and Vision Pro are on the App Store, and Android phones, tablets and Android TV are on Google Play — the buttons above install them. On a device without Google Play, the universal APK below does the same job.
What each platform can do, what it requires and what it looks like is on the apps pages.
The app
Direct app downloads
The app and the core service are separate packages, released separately and versioned separately. These are the app builds that do not go through a store: a notarised dmg for macOS, signed installers for Windows and a universal APK for Android. They all check for their own updates in-app.
Current release 1.1.3 · GitHub release
- macOS Apple siliconCloudDrive2-1.1.3-24-macos-arm64.dmg
- macOS IntelCloudDrive2-1.1.3-24-macos-x64.dmg
- Windows x64CloudDrive2-1.1.3-3-windows-x64.exe
- Windows Arm64CloudDrive2-1.1.3-3-windows-arm64.exe
- Android universal APKCloudDrive2-1.1.3-346-android.apk
macOS 13 Ventura or later, with separate Apple silicon and Intel installers that are identical in features. If you are unsure which you need, check About This Mac: "Chip Apple M…" takes the Apple silicon build, "Processor Intel…" takes the Intel one. This build is notarised by Apple, so it opens without a security warning, and it runs outside the sandbox — local mounting (which needs macFUSE), Blu-ray BD-J disc menus and USB Native DSD exist only here. The full comparison is on the macOS page.
Windows 10 version 1809 (build 17763) or later, with separate x64 and Arm64 installers — pick the wrong one and the installer says so. Both are code-signed and timestamped. Installing needs administrator rights: it writes to Program Files and sets up the WinFSP driver that mounting uses. The Windows build number jumped from 1.0.14.9 to 1.0.16.x to line back up with macOS and Android.
Windows users should take this one: on machines whose graphics driver did not ship the Vulkan runtime, earlier builds could not play anything at all and reported "this build does not include the playback engine" every time. Current builds bundle their own implementation and the failure is gone.
Android 7.0 or later, one package for phones, tablets and Android TV. The universal APK covers arm64-v8a and armeabi-v7a (32-bit ARM); there is no x86_64 build.
iPhone, iPad, Apple TV, Vision Pro and Meta Quest install from their own stores — see above. If you only want mounting and browser management and no player, the core service is enough on its own.
The core service
Core service packages
The core service runs in the background on a computer, NAS or Android device, and does the actual
work: connecting clouds, mounting, cross-cloud copying, backup and WebDAV. Once it is installed, open
http://<host-ip>:19798 in a browser to reach the management interface. Step-by-step
instructions are on the help page.
Current release 1.1.3 · GitHub releases
Windows
Linux
- Linux x86_64clouddrive-2-linux-x86_64-1.1.3.tgz
- Linux aarch64clouddrive-2-linux-aarch64-1.1.3.tgz
- Linux armv7clouddrive-2-linux-armv7-1.1.3.tgz
macOS
Mounting clouds as local disks needs macFUSE installed first, and its kernel extension approved afterwards — see letting macFUSE through. You can also install through Homebrew — see the help page.
- macOS Intelclouddrive-2-macos-x86_64-1.1.3.tgz
- macOS Apple Siliconclouddrive-2-macos-aarch64-1.1.3.tgz
Android
The APK here wraps the core service as an Android app, with its own web management interface; the tgz archives run the core service inside an existing Android environment. The CloudDrive2 app with the player is a different package, in the section above. Local mounting on a phone requires root; browsing, playback, backup and WebDAV do not.
- Android APK (universal)clouddrive-2-android-universal-1.1.3-233.apk
- Android aarch64clouddrive-2-android-aarch64-1.1.3.tgz
- Android x86_64clouddrive-2-android-x86_64-1.1.3.tgz
- Android armv7clouddrive-2-android-armv7-1.1.3.tgz
fnOS
The listing in the official fnOS app centre is still under review. For now, download the fpk package for your architecture and install it manually.
Mirrors
Download from a cloud drive
The same packages as above, with a share for the app and one for the core service. Use these when GitHub is slow.
The app
- 115Access code i860
- 123 PanNo access code
- Baidu PanAccess code kfnp
- Aliyun DriveWindows build only, due to sharing limits
- Tianyi CloudAccess code 93ws
The core service
NAS and containers
Running it on a NAS
A NAS runs the same core service, by either of two routes: pull the Docker image, or install the package for its architecture from the list above.
-
Docker deployment guide
For mounts to be visible outside the container the host needs shared mount propagation — which many systems already have. How to check, how to enable it when needed, and the full compose setup are all on that page.
-
Docker Hub image
cloudnas/clouddrive2, covering amd64, arm64 and armv7, published alongside every release. -
Synology, QNAP, Unraid, fnOS
All the mainstream NAS platforms work, with packages for x86_64, arm64 and armv7.
Third-party NAS packages
These NAS packages come from third parties. Judge them for yourself before downloading — we cannot vouch for their security or stability.
Plugin
The Emby and Jellyfin companion plugin
This one installs on the media server, and makes Emby or Jellyfin work with the CloudDrive2 on the same host. One source tree, two builds.
Live library updates, with monitoring off
The plugin subscribes to CloudDrive2's file-change notifications and hands each one to the server's targeted-refresh entry point. A scraper — tinyMediaManager, MoviePilot — finishes in the mounted folder and the film turns up in the library on its own, with real-time monitoring switched off. No recursive walk at startup, no burst of cloud listings, and no reliance on full scans, which are the single biggest cause of cloud-provider rate limiting.
Playback-aware prefetch
At playback start it warms the head and tail of the file — the moov atom or EBML header a player needs for the first frame, and the MKV cues a seek reaches for. Near the end it warms the next file in the same folder, and on stop it closes the reader straight away. Every client benefits, not just the CloudDrive2 App.
Zero-config path mapping
Direct play needs to know which local cloud folder a server's media path corresponds to, and that used to be a hand-written rule. The plugin exposes the mounts and cloud-account identities, and the App works the mapping out itself — matching on account identity rather than folder name, because the same 115 account is rarely named the same on both machines.
Download
Jellyfin takes the DLL, meta.json and thumb.png together in a CloudDrive subfolder of its plugin directory; Emby takes the DLL on its own, no subfolder. Replacing the DLL inside a container needs the container restarted — the server's own restart button is not enough. Full install and configuration notes are in the plugin repository.
Server minimum: Emby 4.8.0.80 or Jellyfin 10.11. Verified on Emby 4.9.5 and Jellyfin 10.11.11.
The first two features are server-side only — install the plugin, point it at CloudDrive2, done, with no CloudDrive2 App involved. Live library updates rely on file-change notification, which is a membership (Pro) feature. Zero-config path mapping needs CloudDrive2 App 1.0.14 or later.
The plugin connects to CloudDrive2 with an API token. When you create one, Push Messages and Get Mounts are off by default and have to be ticked by hand — without them the plugin connects, reports healthy, and never updates the library. It never writes, deletes or modifies a file.
Changelog
What changed in each release
Release notes for the core service and the web interface, newest first. Older releases are on the GitHub releases page.
1.1.3(Web3.1.3)
- The share name on an SMB storage can be left empty (#630). Leaving it empty adds the whole server, and every share on it appears as a folder — administrative shares such as IPC$, C$ and ADMIN$ are excluded. The shares themselves cannot be deleted or renamed, and you cannot create a folder or upload a file at the share level; files cannot be moved directly between shares. A storage with a share name filled in behaves as before. When adding an SMB storage in the web interface, the share list has a new All shares (each share appears as a folder) option, and Discover shares no longer selects the first share automatically
- Fixed copying or reading a file over SMB from some NAS devices stalling at 0 B (#619). A read larger than the server allows is now split into several reads. The port set on an SMB storage previously had no effect — 445 was always used — and is now honoured
- Fixed individual files staying at "Preprocessing" during a copy or upload, stopping every transfer until the service was restarted (#634). Preprocessing that makes no progress for 30 minutes now ends and retries automatically, and pausing then resuming an item stuck at "Preprocessing" starts its preprocessing over
- Fixed some files failing to download (403 Forbidden) on WebDAV storages such as 123 Pan after the mount had been up for a while, recoverable only by removing and re-adding the storage (#627). A download link from a WebDAV server is now used for at most 10 minutes, and a failed download asks the server for a fresh link
- Fixed "Do not sync these settings to the cloud" having no effect when adding an S3 storage (#629). S3 storages were always synced to your other devices. An S3 storage that has already been synced needs to be removed and re-added with this option selected
- Fixed S3 storages returning 400 Bad Request behind an NGINX reverse proxy with HTTP/2 enabled (1.26 and earlier) or behind Chaitin SafeLine WAF (#629). A failed S3 request now says what actually went wrong
- Fixed connecting to a CloudDrive storage (another CloudDrive2) still failing for servers with certain certificate types even with insecure TLS — skip certificate verification — enabled (#631). A failed connection now says what went wrong instead of only
transport error - Fixed uploading the same file again through the remote upload API returning no messages at all, with the upload never starting (#633). The earlier upload task is now replaced, and that upload receives a "cancelled" status
- Fixed the Aliyun Drive open-platform token being refreshed over and over in a short period once the access token expired. The token is now refreshed when the server rejects the access token, and after two consecutive refreshes are still rejected it stops retrying
- Security update
Known issue (present in 1.1.0, not yet fixed): in a one-way backup with both Sync deletions from the destination enabled and the delete rule set to Move to the history folder, the .clfs_history folder in the destination is itself treated as surplus and moved into the history folder again, nesting one level deeper on every scan. Please do not use these two options together until this is fixed.
1.1.2(Web3.1.2)
- Two new backup filter rules: Path Prefixes and Path Regex (#608). The extension, file name and regex rules only match the name of a single file or folder, so they could not exclude a folder in one place only (for example, exclude
Users/x/AppData/Local/Tempwithout excluding every other folder named Temp). The new rules match the path from the source folder: Path Prefixes takes one path per line and matches that path and everything under it; Path Regex matches the relative path, with a "/" at the end of folder paths. The rule editor has a new Test the Rules section: enter a path to see whether it will be backed up, and which rule excludes it. Each rule now says below it how it matches. See backup in the help - Read e-books in the web interface. EPUB, MOBI, AZW3 and CBZ files open with a click, with a table of contents, font size, line spacing, margins, themes, continuous scrolling and two-page view. The reading position is saved in the current browser, and the file list and recent files show how much of each book has been read. Books with copy protection (DRM) and Kindle KFX books cannot be read
- File change notifications have a new type: modify. When an existing file is changed through a mount or WebDAV, the Webhook sends the action
modify(before, there were only create, delete and rename), and Windows File Explorer is told that the file changed. Writes through a mount or WebDAV to local folders, SMB, SFTP and encrypted folders used to send no change notifications at all; they now do - Removing a cloud on the cloud management page of the web interface can now be permanent. Check Remove permanently, the same as removing a cloud from the root of the Files page. Unchecked, the cloud comes back after the service restarts; checked, the cloud's configuration is deleted. Neither way deletes the files in the cloud
- Fixed: a file uploaded to WebDAV storage could get the wrong name (#595). Uploads now write straight to the final file name instead of writing a
.clfstmptemporary file and renaming it. Before, with 115 mounted through OpenList, an uploadedmovie.nfobecamemovie.clfstmp - Fixed: opening the root folder took a long time when an added remote CloudDrive could not be reached (#596). It now waits at most 3 seconds, keeps connecting in the background, and updates once connected
- Fixed: a Baidu upload that was refused only showed "PermissionDenied: unknown error message" (#614). The error now includes the HTTP status code and Baidu's error code, and rate limits and server errors are retried automatically. A failed transfer is now retried after longer and longer waits (5 seconds, 15 seconds, 45 seconds, 2 minutes) instead of every 5 seconds at full concurrency
- Fixed: a file just uploaded to 115 sometimes disappeared from the file list and was reported as deleted
- On a new installation, the default device name is the device's own name. For example the phone's name or the Mac's computer name, instead of the host name (which was localhost on Android, ended in .local on a Mac, and was the container ID in Docker). A device name already saved does not change. If the current name is localhost or ends in .local, changing the device name suggests the system's name, which takes effect only when you click Save
- Web interface: fixed "JS API error: TypeError: Failed to fetch" shown while the service restarts
- Web interface: fixed opening a folder while the previous one was still loading, which could show the previous folder's files. A folder list that is still loading also no longer replaces search results
- Web interface: fixed the disk cache eviction policy always showing LRU after the page was refreshed (#617). The saved setting always took effect; only the display was wrong
- Web interface: DTS music files (WAV files that contain DTS audio) no longer play as noise. A message is shown instead
Known issue (already in 1.1.0, not fixed yet): in a one-way backup with Sync delete from destination on and the delete rule set to Move to history folder, the .clfs_history folder in the destination is itself treated as extra content and moved into the history folder again, one level deeper on every scan. Until it is fixed, do not use these two options together.
1.1.1(Web3.1.1)
- Archive folders. ISO, zip, 7z, RAR, tar and SACD ISO files open without downloading: right-click one and choose Open as Folder to browse it, and play the videos and music inside directly. A SACD ISO shows as DSF files. Archive folders are read-only. The feature is off by default; turn it on in Settings → Archive Folders. It is a Core Pro feature, and Lifetime Lite members can use it too. See archive folders
- Download links can require a signature. A new system setting, Require signed download links, off by default. While it is on, a download link opened on another device must carry a signature, so someone who knows only a file's path cannot download the file. Download links that CloudDrive gives out carry the signature automatically, and links opened on this device are not affected. Links saved before it was turned on (for example, links in
.strmfiles) stop working on other devices and need to be copied again - Help links in the web interface. Each page can open its guide on the website
- Fixed: a WebDAV upload that failed left a
.clfstmptemporary file on the server (#592). When the WebDAV service has a temporary error, the upload is now tried again; after the upload is given up, deleting the temporary file is tried again - Fixed: overwriting an existing file on Baidu left both the old file and a copy with a timestamp in its name (#593). Copies made before this fix need to be deleted by hand
- Fixed: a Webhook configuration with errors. A configuration with errors is no longer saved, and the existing Webhook keeps working
- Security updates
Known issue (already in 1.1.0, not fixed yet): in a one-way backup with Sync delete from destination on and the delete rule set to Move to history folder, the .clfs_history folder in the destination is itself treated as extra content and moved into the history folder again, one level deeper on every scan. Until it is fixed, do not use these two options together.
1.1.0(Web3.1.0)
- Backups can now sync in both directions. A backup used to copy only from the source folder to the destination folders: changes made in a destination never reached the source and could be overwritten on the next scan. Set Backup mode to Two-way sync, and a file added, changed, renamed or deleted in any of the folders is changed the same way in all the others; local and cloud folders can both take part. When the same file is changed in two places, both versions are kept by default (one is named as a conflict copy and synced to every location), and replaced and deleted files are kept in a
.clfs_historyfolder next to where they were. Deletions are not synced unless you turn on Sync deletions, and even then a large deletion or change made at once is held for confirmation, where you can apply it or restore the files from the other locations. Cloud folders are checked on the scan schedule: changes made in a provider's official app or website are synced after the next scan, and right away when you browse that folder in CloudDrive. With cloud folders taking part, a scan interval of 15 minutes or longer is recommended. Two-way sync is off by default; existing backups stay one-way after the upgrade and behave as in 1.0.20. See Two-way sync for details - Account sync with the cloud can be turned on and off at any time. Sync with cloud could only be chosen at login. Turning it on later could overwrite the cloud copy with this device's account list (losing accounts added on other devices), or the other way round. Before switching it now, CloudDrive shows the cloud and local accounts side by side (same, different, only on this device, only in the cloud), and when turning it on you choose whether the cloud copy (the default) or this device wins. If another device changes the cloud copy between viewing the comparison and confirming, the operation stops and asks you to confirm again instead of overwriting it without your knowledge. When turning it off you can choose whether to also remove the copy on the server; accounts marked "do not sync to cloud" always stay on this device. 115 tokens are now handled per account, so accounts added while sync was on keep working after it is turned off
- Google Drive can be added with your own Google client. CloudDrive's own Google client is going through Google's review, which can take a long time; until it is complete, only Google accounts on its test user list can sign in with it. Adding Google Drive now uses, by default, an OAuth client of type "Desktop app" that you create in your own Google Cloud project (free, and only once): choose the
client_secret_….jsonfile downloaded when you created the client, and the client ID and secret are filled in. The file can be chosen from this device or from a cloud already added to CloudDrive. Then sign in to Google in the browser and allow access to finish. If the browser and CloudDrive are on different devices, copy back the address starting withhttp://127.0.0.1from the browser's address bar after signing in. The two earlier methods (CloudDrive's client, and a refresh token) are still available. With a refresh token, the proxy you set now applies from the first request, and a wrong token or a disabled Google Drive API is reported with the reason instead of adding an account that cannot be used. The steps for creating a client are in Create your own OAuth client for Google Drive - GuangYaPan supports uploads and file management. New: uploads (resumable, and instant when the file is already on the server), creating folders, renaming, moving, and showing the drive's capacity and used space. The open platform does not yet offer delete or copy, so those two operations are not available for now. Uploading and writing need the open platform to grant the app those permissions, and the account must be an active member
- The WebDAV page shows the server's address. The page used to show localhost or [server-ip], which you had to replace with the server's address yourself. It now lists the server's LAN IP addresses and port (for example
http://192.168.1.10:19798/dav), and explains how to connect from outside the network, over HTTPS or through a reverse proxy, and when CloudDrive runs in a Docker container. With anonymous access on, leaving the user name empty and entering anonymous work the same, and the page explains how to sign in anonymously - Fixed moving or copying onto an existing file failing in the WebDAV server. Some WebDAV clients save a file by uploading a temporary file and then moving it over the original. When the target already existed, CloudDrive's WebDAV server returned error 405, so only the first save succeeded. Moving onto an existing file now replaces it; the original is kept until the replacement is complete and is left untouched if the replacement fails. Copying onto an existing file used to report success without copying anything, and now replaces it as well; copying to another name in the same folder used to be refused, and now works. When the client asks not to overwrite, an existing file is still not replaced
- SFTP, WebDAV and SMB uploads no longer leave partial files. An upload is written under a temporary name first and renamed when it is complete, so a dropped connection or a cancelled upload no longer leaves a file of the wrong size in place of the original. A failed WebDAV upload is now reported as an error instead of being ignored
- Fixed the capacity shown for 123 Cloud Drive. 123 Cloud Drive now splits space into pro space and standard space. Only part of it was counted before, and temporary space was added to the total, so the figures did not match 123's own page: an account with 1 TB of pro space and 42.66 TB of standard space showed 62.6 TB, for example. The total and used space now match the official page
- Fixed Xunlei upload slots staying taken. Xunlei creates a task record for each upload and counts it as an upload in progress until it finishes or the task is deleted. CloudDrive did not delete abandoned tasks (a failed retry, a cancelled transfer or a lost upload session each left one behind), and once enough built up, the Xunlei client reported that the number of simultaneous tasks was limited. Abandoned tasks are now deleted promptly
- Accessibility improvements in the web UI. Items in the folder picker can be selected with the keyboard; in full-screen image or video view, moving to the controls with the keyboard or a screen reader shows the hidden control bar again; and the buttons, tabs and menus on the Backups page are read out correctly by screen readers
- fnOS: fixed the desktop icon still opening the default port 19798 after the port was changed during installation. The HTTP port entered in the installation wizard was written to CloudDrive's configuration, but the desktop icon always opened 19798, so CloudDrive could not be opened. The desktop icon now opens the port entered during installation. When reinstalling and keeping the old data, the port entered in the wizard replaces the one in the old configuration and other settings stay as they were. After installation, open this app's settings in the App Center to change the HTTP and HTTPS ports; saving restarts CloudDrive and the desktop icon uses the new port. If you changed the port in CloudDrive's web page, save once here to update the desktop icon
Notes: two-way sync is a new feature. Try it on folders that do not matter for a while, and use it for important data once it behaves as you expect. To go back to 1.0.20, first disable the backups set to two-way sync: the older version can read the configuration, but it does not know two-way sync and runs those backups as one-way backups, only copying the source folder to the destinations.
Known issue: in a one-way backup with Sync delete from destination on and the delete rule set to Move to history folder, the .clfs_history folder in the destination is itself treated as extra content and moved into the history folder again, one level deeper on every scan (1.0.20 has the same issue). Until it is fixed, do not use these two options together.
1.0.20(Web3.0.17)
- Fixed a small number of files in an encrypted folder failing to decrypt. When backing up a large number of files into an encrypted folder, roughly one in a thousand could not be decrypted and reported "invalid file name or password". This was an edge case in the file-name decryption algorithm only — the file contents were never damaged. After upgrading, those files show up and open normally with nothing to do on your side. The open-source decryption project has been updated to match
1.0.19(Web3.0.17)
- Fixed copying a folder to a local folder exhausting the system's file handles. Copying a large cloud folder to a local folder used to create thousands of empty
.clfstmpfiles up front and keep every one open until its turn came; once the handles ran out the copy stalled. The temporary file is now created only when that file actually starts copying, and closed as soon as it finishes - Fixed
rmdiron a mounted drive deleting non-empty folders. FUSErmdiron Linux and macOS was wired to a recursive delete, sormdiron a cloud folder with contents wiped the whole folder. It now followsrmdir(2)semantics: a non-empty directory is refused (ENOTEMPTY) and a file returns ENOTDIR; explicit recursive deletes from the web interface and the API are unaffected - Windows: fixed network drives losing their name and icon after every restart. Since 0.9.17 the WinFsp UNC prefix carried a timestamp, so Explorer treated each mount as a new drive: renames were lost, the long default name hid the capacity bar, and MountPoints2 filled up with stale registry entries. The prefix is back to
\CloudDrive\<name>;-<letter>is appended only on a real conflict (the same name mounted to a second drive letter) - Windows: fixed files on a mounted drive that could no longer be opened after their permissions were changed in some cases
- A failed sign-in now says why the account server could not be reached. Instead of a plain timeout, failures are classified: DNS, connection, timeout, TLS, proxy, HTTP 5xx, or a hijacked captive-portal page
1.0.18(Web3.0.17)
- Fixed backup file filters in whitelist mode ignoring some of the rules
- Fixed a folder staying unbrowsable and unreadable after it was deleted and then recreated under the same name from elsewhere (on another device, or after emptying the recycle bin)
- Windows: fixed Explorer reporting a corrupted Recycle Bin when deleting files on a mounted drive whose root is writable. Local mounts with a writable root now support Explorer's delete-to-Recycle-Bin and restore-from-Recycle-Bin
- Windows: fixed changes made from the web interface or another device not being reported to the operating system as file-change notifications on the mounted drive
1.0.17(Web3.0.17)
- Fixed "file not found" (
os error 2) when writing a large file to a mounted drive. If a second program (Cryptomator, a backup tool) opens and then closes the same file during the write, the write would fail at the end. 1.0.16 fixed the delete-and-recreate case; this release fixes the access-during-write case - Cancelling an upload no longer restarts it on its own. Cancels used to expire as soon as a player or indexer that had the file open closed it, and the upload would come back
- Android: USB drives, SD cards, and other external storage can now be added as local-folder accounts. Only internal storage was accepted before
- Windows: fixed shutdown and sign-out producing a crash report and taking several minutes when CloudDrive2 is installed as a Windows service. Applying this fix requires running the installer again — in-app updates do not replace the Windows service
- WebUI: after filtering files, Ctrl-A / Cmd-A selects only the visible results, not the filtered-out files. This matches the macOS and Windows clients
- Other bug fixes and performance improvements
1.0.16(Web3.0.16)
- Fixed cross-cloud copies stuck at "Preprocessing": when copying to a cloud that supports instant upload, the hashing stage could in rare cases crash the service into a restart loop, so the task never started
- Fixed cross-cloud copies waiting forever with no error at all when the source cloud (Baidu, for one) stopped responding after connecting, or the destination cloud left a chunked upload unanswered
- A copy or backup task whose source is a local folder is no longer cancelled outright after a restart when the disk holding it is not ready. Following a NAS or container reboot the task waits for the source storage — up to 10 minutes — instead of being skipped or cancelled, and a source file that genuinely does not exist has the reason recorded and shown on the task
- Fixed backups and copies into an encrypted folder occasionally creating a second, unencrypted folder of the same name after a restart, which showed up as a folder with a "(1)" suffix. Membership status was not being read in time
- Fixed in-flight cross-cloud copies into an encrypted folder failing on a hash mismatch and re-transferring after a restart
- SMB: fixed the server returning 0xC000011F while backing up very large numbers of files — hundreds of thousands — after which no directory would open at all; client handles no longer accumulate without limit. Also fixed the long stall at the start of reading an uncached file over SMB
- Fixed "file not found" errors when writing to a mounted drive. A file deleted and recreated, or overwritten by one of the same name, before its upload had finished — common when backup software finishes a run, and with Cryptomator — had the new file wrongly cleaned up, and the application then reported
os error 2 - Windows: mounted drives are case-insensitive again, like every other Windows disk. Software that lowercases paths, such as Czkawka, can reach folders on a mounted drive again, and case-insensitive wildcards such as
dir *.TXTmatch - Windows: every file on a mounted drive now carries a unique identifier. Java-based scanners such as Komga no longer mistake a subfolder for a loop and skip the whole directory
- macOS: mounted drives resolve paths case-insensitively, as macOS itself does. Linux mounts stay case-sensitive and are unaffected
- "Add backup" now explains why when your plan does not allow another one — how many it allows, how many you have — and offers an "Upgrade plan" button, instead of an empty red alert
- Other performance improvements, bug fixes and interface polish
1.0.15(Web3.0.14)
- Faster background multi-threaded downloads from cloud storages — playback of high-bitrate video is smoother
- Backups now report a clear error when real-time file-change monitoring fails to start. Previously, when monitoring wasn't actually running the UI still showed "Idle," indistinguishable from a healthy backup, while file changes were silently going unbacked. On Linux, if the number of watched directories exceeds the system limit (Synology's default is 8192), the entire watcher used to fail silently; CloudDrive now surfaces the reason and tells you how to raise the limit, keeping whatever watches did fit in place
- Fixed disk space not being reclaimed after a backup — space freed when a source file was deleted was not returned to the OS until the service was restarted
- Fixed a cache error, and repeated log spam, when renaming a file or folder to a name that already exists
- Fixed the device name change requiring a fresh login
- Other bug fixes and performance improvements
1.0.14(Web3.0.14)
- Added account deletion. You can delete your account from the profile page: a confirmation code is emailed to your registered address, and the deletion only goes through once you enter that code. Accounts that were registered automatically by a partner device, and accounts signed in through Xunlei, must first set an email address and password on the profile page before they can be deleted. Deleting an account cancels its remaining balance and all membership entitlements; refunds are not available
- Fixed mounted drives hanging under heavy load — when transfers were busy and many requests arrived at once, a mounted cloud drive could stop responding for a long time (hours in extreme cases). This is now properly fixed: requests queue smoothly instead of hanging when the system is busy, and a single failing request returns an error promptly and the system recovers on its own
- Smoother rate limiting, less likely to trip the risk controls of 115 and other clouds; raising the rate limit now takes effect immediately
- Fixed intermittent "file does not exist" / duplicate-name errors after creating a folder on 115 — a freshly created folder could be misjudged because the cloud's index takes a few seconds to catch up. CloudDrive now detects that delay and retries briefly, so the operation completes normally
- More reliable backups — temporary problems such as network hiccups are now retried automatically instead of being skipped, so fewer files are missed
- Fixed backups treating a folder as a file, and added automatic cleanup of the invalid tasks left behind by that bug
- The membership page now explains what CloudDrive2 App Pro unlocks, and links to it
- Other bug fixes and performance improvements
1.0.13(Web3.0.13)
- Added resource-usage controls for full scans in multi-cloud backup:
- The default number of concurrent backup scans is 1. You can change the maximum concurrency on the backup page; full scans beyond that limit are queued and wait their turn
- You can set upper and lower thresholds for the upload task queue. When the number of upload tasks exceeds the upper threshold, scan tasks pause and wait; when it falls back to the lower threshold, scan tasks resume automatically. This prevents too many upload tasks from piling up when scanning large files. Unlimited by default; configurable on the backup page
- For cross-cloud copies, you can choose on the Download/Upload page in system settings whether to save the downloaded data to a temporary file during the hash-computation stage, so the source file does not need to be downloaded again for the upload. The temporary file is deleted automatically once the copy completes. This option is off by default
- Windows: fixed errors that could occur when editing images on a mounted drive in the system file manager, and fixed thumbnails not refreshing automatically after rotating an image
- Fixed the task count shown in real time in the web UI possibly being inaccurate
- Web UI: fixed dragging a local file to the root directory creating an upload task that could never complete, along with a file that could not be deleted
1.0.12(Web3.0.12)
- Fixed memory growth after a fuse mount: memory no longer grows without bound when media servers such as Emby scan millions of files
- Fixed multiple S3 accounts on the same endpoint overwriting each other
- Improved performance when accessing files over http, lowering CPU and memory usage
- Web UI: added Select All and Deselect All options after entering multi-select mode on mobile
- Fixed read-only folders (Guangya Cloud) not being usable as the source directory for a mounted drive or a backup
- Other performance improvements and bug fixes
1.0.11(Web3.0.11)
- Added support for adding Guangya Cloud. Currently read-only: you can browse directories and read files, but cannot create folders, delete files, rename, move or upload. Login by scanning a QR code with the Guangya Cloud app is supported. A fully functional Guangya Cloud integration will come in a later release
- For S3, when no bucket name is specified, all buckets in the account are browsable: ListBuckets (GET /) is used automatically and each bucket is shown as a top-level folder. Both path-style and virtual-hosted-style addressing, and V2/V4 signatures, are supported. The bucket-list root directory is read-only (creating/deleting buckets is not supported)
- Fixed file reads possibly failing when connecting to some WebDAV servers that do not support http range requests
- Web: added multi-server support. You can connect to the grpc service of another CloudDrive2, which makes it convenient to manage a mobile device's CloudDrive remotely from a desktop browser
- Other bug fixes and UI improvements
1.0.10(Web3.0.10)
- When purchasing a lifetime membership, if the account still has an unexpired annual or monthly membership, the remaining unexpired portion is automatically credited at the annual rate against part of the lifetime membership price
- Fixed authorization failing in 1.0.9 when adding Xunlei and when signing in with a Xunlei account
1.0.9(Web3.0.9)
- Added fnOS installation package downloads. The listing in the official fnOS app center is under review; for now you can download the fpk package for your architecture and install it manually
- The web file browser now supports media scraper files (.nfo): it recognizes NFO files and posters inside a folder (Kodi/Emby/Jellyfin/Plex compatible) and shows movie information in the file properties panel. This feature only displays already-scraped directories; it does not scrape anything from the internet on its own
- With 2FA enabled, if you lose both your recovery codes and your phone app and cannot sign in, you can have a reset code sent to the account email to disable two-factor authentication and sign in with just the account password
- Accounts registered automatically by a partner device can be unbound from the original device after changing the email and password, so that a lost or sold bound device does not lead to account exposure
- Added a "use multi-threaded download when copying" option in the cloud storage account configuration. When enabled, cross-cloud transfers and backups use the old multi-threaded download behavior
- Added a confirmation dialog when locking an already-decrypted folder, to avoid making files unusable by mistake
- Fixed directory listing failing in edge cases on macOS when there are multiple mount points, which required remounting
- Fixed slow copying of files into encrypted directories
- Fixed uploads possibly failing on Windows when editing files directly inside an encrypted folder with editors such as Visual Studio Code
- Fixed temporary files being left behind when editing a docx file directly with Word in an encrypted directory on 115
- Fixed downloads possibly failing on 32-bit armv7 when accessing large files directly over http
- Other performance improvements and bug fixes
1.0.8(Web3.0.8)
- Cross-cloud copy performance improvements:
- Memory usage during the preprocessing and upload stages of cross-cloud copies is greatly reduced
- Cross-cloud copies to a local folder now use multi-threaded download for higher download speed
- Fixed editing files directly inside an encrypted folder through a mounted drive possibly failing
- Fixed the Update button being unclickable in some cases when editing a mount point on Windows
- Fixed CPU spikes and memory blowup in isolated cases after the service had been running for a long time
- Other performance improvements, bug fixes and UI improvements
1.0.7(Web3.0.7)
⚠️ Important security notice (required reading for Windows users)
This release upgrades WinFSP to 2026 beta1 in order to fix the security vulnerability CVE-2026-3006 found in older versions of WinFSP.
- You must download the full installation package and run the installer again, and restart your system when the installation wizard prompts you to.
- Do not use the in-app OTA update: OTA only replaces the CloudDrive2 program files and will not reinstall the WinFSP driver, so you will not receive this security fix.
- In the 115 configuration screen, the maximum number of download threads is limited to 2; the value set cannot exceed 2
- Added a maximum requests-per-second limit in the 115 configuration screen, which cannot exceed 5.0
- SMB/SFTP/FTP now support reporting disk space (only on some FTP servers; Pure-FTPd and ProFTPD with mod_facts enabled are currently known to return it correctly, other servers fall back to placeholder values. Due to protocol limitations, AVBL only returns the number of available bytes, so total capacity equals available and used is shown as 0)
- Improved the SMB server and share discovery algorithm to work in more scenarios
- Improved handling of file rename conflicts:
- At the core layer (webdav/http/CloudDrive sharing, etc.), a rename conflict now returns a rename failure instead of directly overwriting the old file (which followed POSIX rename behavior)
- Linux and macOS keep the original Unix rename-overwrite semantics: the old file is deleted first and then the rename is performed; if the old file is a non-empty directory, the error ENOTEMPTY is returned, matching POSIX rename(2) behavior
- Windows switches from the previous POSIX behavior to the default Win32 MoveFile behavior, i.e. a rename conflict returns the ERROR_ALREADY_EXISTS error and Explorer shows a "destination already exists" prompt
- For accounts signed in directly through Xunlei and accounts signed in directly through a partner device, the change-password option is hidden on the profile page, leaving only the change email and password options
- Fixed the "copy to clipboard" button in the web UI not working correctly in a non-secure context (when the cd2 URL is http:// and not localhost)
- Other performance improvements and bug fixes
1.0.6(Web3.0.6)
- Added support for adding three network file system types: SFTP/FTP (FTPS)/SMB, with automatic discovery of SMB servers and automatic discovery of SMB shared directories
- When adding a backup, you can now choose not to run a full scan immediately; the default is to run a full scan right after the backup is added
- Fixed 1.0.5 possibly hanging while running on some systems
- When removing a cloud storage from the root directory of the file browser, you can choose whether to remove it permanently. If not removed permanently, the cloud storage is only removed for the current run and is restored after a restart
- Other performance optimizations and bug fixes
1.0.5(Web3.0.5)
- Brand-new asynchronous mount engine for macOS: it communicates directly with the macfuse kernel extension and supports fully asynchronous concurrency, so file reads no longer block directory browsing and multiple files can be read and written at the same time. Multiple threads receive kernel requests from the FUSE device simultaneously, avoiding the request backlog caused by a single-threaded bottleneck, which greatly improves how smoothly Finder handles large numbers of file operations. macfuse is detected dynamically at runtime, and when it is not installed an error message is shown instead of the program failing to start
- Migrated the upload task database from PickleDB to SQLite, so upload task ordering is preserved after a restart
- Fixed an issue where, in some cases, multiple backup tasks were disabled after restarting the machine and could only be re-enabled by restarting the service
- Offline download now supports .torrent files: you can drag in or upload a .torrent file directly, and it will be parsed into a magnet link before being added
- Added shortcuts for cloud drive configuration and folder disk cache to the context menu, so you no longer have to open the properties panel first to configure them
- Local folders no longer show cloud drive configuration or disk cache configuration
- Other performance improvements, bug fixes and UI improvements