Español · English
One drive. Many clouds.
MultiDrive aggregates several cloud storage services —S3, Backblaze B2, Cloudflare R2, Storj, Nextcloud/WebDAV, Google Drive, OneDrive— into a single volume with RAID-like semantics and zero-knowledge encryption. The goal was for it to mount as just another system drive on Windows and Linux, and it already does. On Android there is an app, and the volume shows up inside the phone's Files app: below is exactly what has been tested and what hasn't.
If RAID turned several unreliable disks into a reliable volume, MultiDrive does the same with several cloud accounts: no provider holds your complete data, none of them can read it, and one of them going down doesn't leave you without a volume.
The Android app is in Google Play internal testing: you don't find it in the store, you get in by invitation. Leave your address and we'll add you to the list.
The invitation is not instant: the list is added by hand.
When it arrives, open it on the phone and accept from there. You need Android 8 or later and
an arm64 phone, which is what they all have had for years. The
interface is in Spanish only.
Your address is used only to add you to that list. It is kept on this same server, given to nobody, and there is no newsletter. To come off it, write to gerencia@jlsoltech.com. It is spelled out in the privacy policy.
No waiting list there: you download it and install it.
Download for Windows 15 MB · 64-bit Windows · bundles WinFsp, which is what makes the volume show up as a system drive
It is unsigned, so Windows will warn that it doesn't
recognise the publisher: More info → Run anyway. So you don't have to take
our word for it, the sha256 is in the release
notes, along with a plain .msi for people who already have WinFsp.
Would you rather build it yourself? The whole source is in the repository, with instructions.
It has background music, but it reads fine without sound: it tells the story with on-screen text, so you miss nothing watching it in silence and no captions are needed. It doesn't play by itself either: until you hit play, only the file's header travels, not the video. And if you'd rather read, everything below is written out in more detail than fits in half a minute.
Real screenshots, taken on a handset running the published build. Not mocked up and not retouched: what you see there is what you get.
Your accounts, the ones you already have. MultiDrive hosts nothing: it talks to them directly and turns them into a volume.
Mixing types is normal, and it is the whole point: one volume can live on a Drive, a OneDrive and an S3 bucket at the same time. The names and logos are trademarks of their owners and appear here only to say what MultiDrive talks to; none of them sponsors it or is affiliated with it.
k+m, mirror, union, concatenation
and linear, the only one that adds up uneven capacitieslineal volume costs what the new account contributes.
Adding a 15 GB account to a 1 TB volume moves about 15 GB, not the terabyte: only the
newcomer's share changes place, and the volume stays readable throughoutlineal volume grows
when you add an account; in the others what you gain is surviving one more failurearm64 only, which is what phones have carried for years, but not
all of themThis project leans on measurements against real accounts, not estimates. And also on what did not reproduce when the measurements were repeated:
| On Google Drive, asking for an object that does not exist costs 2.6 times a normal operation | That is its worst case, and it is exactly what checking a volume does. Which is why the check enumerates instead of asking, and goes from weeks to minutes |
| Enumerating costs one request per directory, not one in total | Drive and OneDrive are hierarchical. How chunks are spread across folders has a price that has to be measured before it is fixed |
| No ratio between the two clouds has survived three rounds of measurements | One came out 4.7×, 1.6× and 2.5×; another changed direction. We measure ratios within a single provider, which do reproduce, and distrust the ones comparing two |
The test that matters, run against real accounts: an rs(2,1)
volume spread across Google Drive, OneDrive and a local disk. A file is uploaded, an
entire provider is destroyed, the file still reads back byte-for-byte identical, and
rebuild regenerates the missing shards in 34 seconds. With one honest caveat: it
was 1 MB, not 10 GB.
| My accounts are scattered across several services | A single volume over all of them, encrypted and with RAID |
| If a provider suspends my account, I lose everything | k of n parity: survives losing m providers |
| The provider can read my files | Client-side encryption, filenames included |
| Vendor lock-in | Add or remove providers and the volume rebalances |
About space, choose your topology knowing this. The ones that
spread every chunk across all providers —mirror, parity, union— are limited by the provider
with the least room: the shards are equal in size, so once the smallest fills up nothing more
fits even if the others have room to spare. With 15 GB, 5 GB and 1 TB you get
5 GB mirrored and 15 GB in union. Only
lineal adds up: it puts each whole chunk on one provider, chosen in
proportion to what each one contributes, and with those same numbers gives
1.02 TB. In exchange it adds no margin for failure at all, same as union.
Every file is cut into 16 MiB chunks addressed by their BLAKE3 hash. Copy-on-write: nothing is ever overwritten.
Reed-Solomon k+m. With rs(4,2) over 6 providers you survive 2 failures at 1.5× overhead.
XChaCha20-Poly1305 per chunk, key derived with Argon2id. The provider sees opaque blobs.
WinFsp on Windows, FUSE on Linux. Read-write, with caching and background upload.
On Android there is no mounting: a DocumentsProvider makes the volume appear in the Files app, with its own browser alongside.
mode formula survives overhead
concat 1 of 1 nothing 1.0×
union:n n of n nothing 1.0×
lineal:n 1 of 1, wherever it goes nothing 1.0×
espejo:n 1 of n n−1 failures n×
rs(k,m) k of k+m m failures (k+m)/k ×
lineal is the only one that adds up uneven
capacities: it puts each whole chunk on one provider, chosen in proportion to what it
contributes. The others cut every chunk into equal parts, so the smallest one decides. Reading
costs one request instead of n, and adding a provider moves only its own share rather
than the whole volume. It adds no margin for failure.
Those mode names are the ones the program itself takes, and the program is in
Spanish: espejo is mirror and lineal is linear.
MultiDrive is free software under AGPL-3.0: there is no paid tier, no features held back behind a subscription, and no ads. If you find it useful and want it to keep growing, you can chip in.
LuisMora78.
426WwUxyLAbEAvzxcaLgofXf9xu4E7qEagGGdqPHkbDddHk36XdpGFf9U1Kc8N5DuAAzAYN5PStwtLj2zhKcuNm1KLH2bxcChipping in is entirely optional and unlocks nothing: what exists, exists for everyone alike. What it does do is pay for the server and buy time to keep going.