Storage tooling
An rclone alternative for handing someone a code
Both put a file in your bucket from a terminal with credentials on the machine, and both are open source and MIT-licensed.
What rclone is
In its own terms.
The rsync of cloud storage: a command-line program that copies, syncs, moves and mounts files across seventy-odd storage backends, S3 included. It does bandwidth limits, checksums, filters, encryption and a great deal more. When the job is moving trees of files between a machine and a bucket, it is the standard tool.
Side by side
Where they part ways.
| s3nd | rclone | |
|---|---|---|
| What it is | A CLI, a library and React hooks over your own S3 bucket | Cloud storage CLI: copy, sync, mount |
| Where the data lives | Your bucket: S3, R2, MinIO, Scaleway, Wasabi | Your bucket, and seventy other backends |
| Both ends online at once | No. The code is redeemed later, until it expires | No |
| From inside your web app | Yes, through one route on your server | No |
| Accounts | None. The code is the whole handshake | Provider credentials on each machine |
| Hosting | Your bucket, plus your server when a browser takes part | None, it is a binary |
| Price | Free. You pay your storage provider for a few objects that expire | Free |
| License | MIT | MIT |
The differences
What actually changes.
A path versus a code
With rclone you name the destination and the other side has to know it. With s3nd the destination is a code the tool picked, that someone can read out loud, that expires, and that the other side can type sloppily.
Everything versus one thing
rclone is a toolbox for storage. s3nd does one thing: put something under a code, get it back, burn it, and check the bucket is set up to hold transfers.
Not only a CLI
The s3nd CLI is a thin layer over a library that also runs in your API and behind React hooks, so the same code works for a web app’s users.
The decision
Pick the one that fits.
Pick rclone when
- Syncing directories, mounting a bucket, bulk copies.
- Backends that are not S3.
- Bandwidth control, checksums, filters, and the rest of the toolbox.
Pick s3nd when
- Hand a code to someone rather than a path.
- Expiry, conditional writes and a doctor command, with one command to learn.
- The same primitive inside an application.
More comparisons
Tool by tool.
Put a file. Hand over the code.
Point it at the bucket you already pay for. Nothing to deploy, nothing to sign up for, nothing in the middle.
npm install -g @s3nd/clis3nd init --provider r2 --bucket drops3nd put ./anything.zip