Show HN: Bucket – Encrypted file sharing for people who live in the terminal
by bucket_ | 2026-01-25 15:56:53+00:00
I built this because I am perpetually drowning in file transfer hell.

As a systems engineer, I am constantly moving massive files. Whether it's getting new releases of custom ISOs to clients, downloading entire filesystems to spin up clones, or uploading massive support packages to L3... I always have to get something to somebody. Usually, it's something large that lives on a headless server. I can't tell you how many times I've modified my 'clone' script to tar most of a filesystem over ssh ("hello --exclude, my old friend...") just to get 10GB that someone will need for two days.

Tedious is an understatement.

And the truth is, whatever I am sending, it is ephemeral. I download it, I upload it, I delete it. They download it only to delete soon after.

I kept wondering - why isn't there a simpler tool that works where I spend 90% of my time -- the terminal? I wanted something that I could install quickly on whatever server I was currently connected to, and run a simple command to push to the cloud.

Enter Bucket – a secure, encrypted file sharing platform that works the way I do. I upload from the CLI, share with a link and unique secret, done. No browser required (unless you want it). The people you're sharing with can simply click the link you share to download, no need for them to make an account (unless they want it).

What makes it different:

- CLI-first: Built for terminal workflows first, web UI second
- Encryption: End-to-end AES-256 encryption. We never see your files or your secrets. The secret generated during a push is required for the pull, keeping your data private even from us. If you lose the secret, you can't access the file.
- Simple scalability: Free tier for trying it out, plans up to 250GB for serious use, enterprise coming soon.
- File retention: Bucket is designed for ephemeral storage. Upload things that people need now. Free tier keeps files for 3 days (email notifications are sent to you before they are deleted, in case you need to upload again)

Colleagues I have introduced this to tell me they use it every day. I know that I do.

Free tier gives you 3 GB to try it out - enough for most one-off transfers.

Here's the workflow:

```
$ bucket push api.bin
Verifying upload...
Upload complete!

bID: bkdf1e848ea23e
bURL: api.bucketlabs.org/d/bkdf1e848ea23e
Secret: 9b1e15167403a88cadb7d0f4d2890856
Expires: 2026-01-28T03:15:18.277988Z

# Now you have a link for your browser-dwellers to simply click, paste the Secret and download.
# (go ahead, try on the link above to download the readme.md)
# ... but if the person you're sharing with has bucket installed they simply run:

$ bucket pull bkdf1e848ea23e
Enter secret:
⠇ Downloading...
Downloaded: api.bin

Check your file:

$ bucket list
ID Filename Size Expires
----------------------------------------------------------------------
bkdf1e848ea23e api.bin 204.2 MB 2026-01-28T03:15:18.277988Z

$ bucket account
Account Info
------------
Subscription: free
Used: 204.2 MB
Quota: 3.00 GB

To increase storage limits, visit:
https://bucketlabs.org/auth

# Everyone you needed to pull have the file? Go ahead and delete:

$ bucket del bkdf1e848ea23e
Deleted: bkdf1e848ea23e
```

Built in Go. Single static binary, works anywhere.
Download at bucketlabs.org