A transfer.sh alternative: for command-line file transfer
transfer.sh is open-source software for sharing files from the command line with curl. Its maintainer's official position is that if you want to use it, you should host your own installation, and the repository does not advertise any public installation.
The Dropvi CLI encrypts files end to end, sends them to a hosted service and prints a share link. Your recipient opens the link in a browser, with no account and no software to install. Uploads resume after an interruption, and downloads made with the CLI are checked against each file's SHA-256. This page also covers croc and magic-wormhole, which send directly between two computers.
Checked on 28 September 2026. Each transfer.sh detail in the table links to its source, and all sources are listed at the foot of the page.
Command-line file transfer tools compared
Details for transfer.sh, croc and magic-wormhole come from their official repositories and documentation. The numbers link to the sources at the foot of the page.
| Feature | Dropvi CLI | transfer.sh | croc | magic-wormhole |
|---|---|---|---|---|
| Where files go | Dropvi's hosted service, stored in Cloudflare R2 | Your own server. The maintainer says to host your own installation.[1] | Directly to the other computer, with a relay as fallback. An opt-in stored mode uploads encrypted files instead.[2] | Directly to the other computer, falling back to a transit relay[4] |
| Does the recipient need to be online at the same time? | No. They open the link any time before it expires. | No, the file stays on the server[1] | Yes for a normal transfer. No in stored mode, which by default lasts one day and allows one download.[2] | Yes. Both clients must be left running until the transfer has finished.[4] |
| What the recipient needs | A web browser, or the Dropvi CLI | A web browser or curl[1] | croc and the code phrase. A stored transfer also gives a browser link.[2] | magic-wormhole and the wormhole code[3] |
| One-line upload with curl | No. Uploads are multipart, so you use the CLI or the browser. | Yes, with curl --upload-file[1] | No, it uses its own client[2] | No, it uses its own client[3] |
| Encryption | End-to-end, on your computer before upload, with the key only in the share link. Transfers sent from the Dropvi website are end-to-end encrypted in the same way. | Optional server-side AES-256 with a password you send in a header[1] | End-to-end, using a key agreed from the code phrase (PAKE)[2] | Uses SPAKE2 to turn a short code into a strong shared key[4] |
| Size and expiry | Up to 50 GB per transfer for up to 7 days on Free | Set by whoever runs the server, with max-upload-size and purge-days options[1] | Stored mode lifetime and download limit are subject to server policy[2] | Arbitrary-sized files and directories[3] |
Scroll sideways to see all columns.
The Dropvi CLI, croc and magic-wormhole all encrypt end to end. The difference is where the files wait: Dropvi stores them encrypted on a hosted service, so the recipient can download them later from a link, while croc and magic-wormhole normally send directly between two computers that are online at the same time.
Which should you use?
croc or magic-wormhole is the better fit if
- You and the recipient can both run the tool, and a normal transfer needs both of you online at the same time.
- You do not want the files stored on anyone else's service.
transfer.sh is the better fit if
- You want to run your own server and control storage, size limits and expiry.
- You want a one-line curl upload.
The Dropvi CLI is the better fit if
- You want a hosted service with nothing to run yourself.
- Your recipient should only have to open a link in a browser, days later if needed.
- You want files kept online for days, not only while both computers are connected.
What the Dropvi CLI does
- dropvi send encrypts files end to end before upload, and dropvi get decrypts them with the key in the link.
- dropvi send --resume continues an interrupted upload from the first part not yet stored. croc also resumes interrupted transfers.
- dropvi get compares each downloaded file with the SHA-256 the sender's client recorded, and deletes a file that does not match.
- With --json, each command prints one JSON object with a stable error code, and exit codes tell a script what to do next.
How to send a file with the Dropvi CLI
- Install Node.js 22.2 or later, then run pnpm add -g @zorinto/dropvi-cli, or run it once with pnpm dlx @zorinto/dropvi-cli.
- Run dropvi send followed by your files or a folder. No account is needed, and the share link is the only thing printed to standard output.
- If the upload stops, run dropvi send --resume with the transfer id. It carries on as long as the files have not changed.
- Send the link. Your recipient opens it in a browser, or runs dropvi get with the link to download every file and check each SHA-256.
Where the Dropvi CLI falls short
- There is no one-line curl upload. Uploads are multipart and need the CLI or the browser.
- It needs Node.js 22.2 or later.
- Emailing the link to recipients with --to needs a signed-in account.
- It is a hosted service, so you cannot run your own Dropvi server.
Frequently asked questions
Is transfer.sh still available?
transfer.sh is open-source software. Its maintainer's stated position is that you should host your own installation, and the repository does not advertise any public installation. If you want a hosted service instead, the Dropvi CLI sends files and prints a share link.
Can I upload to Dropvi with curl?
No. Dropvi uploads are multipart, so there is no single curl command for an upload. Use the Dropvi CLI, which works in scripts, or the browser. Recipients can still download in a browser without an account.
How is Dropvi different from croc and magic-wormhole?
croc and magic-wormhole send directly between two computers with end-to-end encryption, and a normal transfer needs both sides online at the same time. croc also has an opt-in stored mode. Dropvi stores the files on a hosted service, so the recipient can download them later from a link. Dropvi transfers are end-to-end encrypted too, whether sent from the CLI or the website.
Does the Dropvi CLI need an account?
No account is needed to send a link. Emailing the transfer to recipients with --to, and listing your transfers, need you to sign in with an emailed code.
What happens if a download is damaged?
dropvi get compares each downloaded file with the SHA-256 the sender's client recorded. A file that does not match is deleted and the command exits with code 9, so a damaged file is not left on disk.
Related pages
Send from your terminal
pnpm dlx @zorinto/dropvi-cli send, then share the link. Up to 50 GB per transfer on the free plan.
Sources
Checked on 28 September 2026.
- [1]transfer.sh repository (dutchcoders/transfer.sh on GitHub)github.com
- [2]croc repository (schollz/croc on GitHub)github.com
- [3]magic-wormhole repository (magic-wormhole/magic-wormhole on GitHub)github.com
- [4]magic-wormhole documentation: welcomemagic-wormhole.readthedocs.io
