Discord-gated.
Only members of the Nebulos Discord server can sign in. Authentication runs through Discord OAuth and verifies server membership at every login. No public signup; no email-and-password drama.
A small, ephemeral file share for the nebulos community. Sign in with Discord; everything expires by design.
Most file-sharing tools optimise for "more." This one optimises for "less." It is more comfortable to use than it sounds.
share.nebulos.net is a self-hosted, Discord-gated, auto-expiring file-sharing service. It provides ephemeral file transfer (up to 5 GB per share, 30-day maximum expiry) for members of the Nebulos Discord community, hosted in the EU on Cloudflare R2. It is a privacy-respecting alternative to public services like WeTransfer, Dropbox Transfer, and SwissTransfer.
Only members of the Nebulos Discord server can sign in. Authentication runs through Discord OAuth and verifies server membership at every login. No public signup; no email-and-password drama.
Every share has a deadline of at most thirty days. After that, files are deleted within twenty-four hours and the link returns 410 Gone. Nothing lingers.
Files live on Cloudflare R2 storage we control, in the EU. No third-party file processors. No advertising. No model-training. No tracking pixels. No newsletters.
The whole interaction is meant to take less time than reading this paragraph.
One click. Your server membership is the key. No password to remember; no confirmation email to wait for.
Drag, paste, or browse. Up to five gigabytes per share. Pick an expiry between five minutes and thirty days. Optionally add a password.
Recipients click and download — no account required on their side. The link dies on schedule. You can revoke earlier from your dashboard if you change your mind.
Six hops, none of them through a third party who profiles you.
A short defence of forgetting.
Most of the internet is built to remember. Cloud drives keep your files until the heat death of your billing relationship. Email attachments live in someone's archive forever. Photo backups grow until they collapse under the weight of their own retention policy. Forgetting is treated as failure.
This is fine for some things. It is terrible for ad-hoc file transfers — the rough draft you sent a friend, the build artefact you handed off, the photo that was meant for one specific person on one specific day. Those things were never meant to be infrastructure. They were meant to be finished with.
So this share auto-expires every file by default. Thirty days, maximum. The link returns 410 Gone. The bytes are unreachable. The conversation moves on. Forgetting, here, is the feature.
If you wanted permanence, you would not be on this page.
A side-by-side that takes about ten seconds to read.
| Service | Hosting | Expiry | Auth gate |
|---|---|---|---|
| ↗ share.nebulos.net | Self-hosted, EU (Cloudflare R2) | Up to 30 days; default 7 | Discord server membership |
| WeTransfer | Third-party (US) | 7 days free / 30 Pro | |
| Dropbox Transfer | Third-party (US) | 7 days free / 90 Pro | Dropbox account |
| SwissTransfer | Third-party (CH) | Up to 30 days | Anonymous or email |
All four solve the same job. The difference is whose infrastructure you trust with the bytes, and whether anyone gets to keep the metadata after you're done.
Pingvin's API is documented and stable. You can drive uploads from a shell.
# download a share by ID (no auth needed for password-less shares) $ curl -fsSL https://share.nebulos.net/api/shares/<id>/files/zip -o drop.zip # or pipe straight into bsdtar — it autodetects zip, no disk touch $ curl -sSL https://share.nebulos.net/api/shares/<id>/files/zip | bsdtar -xvf - # password-protected shares: exchange password for a token first $ TOKEN=$(curl -sSX POST https://share.nebulos.net/api/shares/<id>/token \ -H 'Content-Type: application/json' -d '{"password":"…"}' | jq -r .token) $ curl -fsSL -H "X-Share-Token: $TOKEN" \ https://share.nebulos.net/api/shares/<id>/files/zip -o drop.zip
Uploads from CLI require an authenticated session token. See Pingvin's API docs for the full surface.
Click to expand. Closed questions are still answers — they say "you don't need this one."
Members of the Nebulos Discord server. Authentication runs through Discord OAuth and checks server membership on every sign-in. Your Discord membership is the access control — no separate invite list, no whitelist.
Up to thirty days; default seven. The sender chooses at upload time. After expiry, files are deleted within twenty-four hours and the link returns 410 Gone.
Five gigabytes per file. If you regularly need more, talk to us on Discord — the limit is policy, not technical.
Files live on Cloudflare R2 (EU region) under credentials we control. They are not scanned for content, indexed by anyone, or used to train any model. They are accessible only via their unique share link. Read the full privacy policy.
Pingvin Share running on Proxmox + Cloudflare R2, fronted by Cloudflare and Caddy. All open source. The full stack and operator details are in the imprint.
Because the audience for this service is already in a Discord server. Adding a separate signup form would be friction without benefit. Discord OAuth + server membership turns "who is allowed in here" from a list we maintain into a community we already curate.
Yes. The application is Pingvin Share, fully open source. The infrastructure pattern (Caddy + R2 + Discord OAuth + custom landing) is documented in the imprint.