Private, decentralized file sharing for Nostr and the web
One storage backend to rule them all — Drop into apps, screenshot tools, pastebin-style pastes, Nostr clients, Reddit posts, forum embeds. Durable, anonymous file hosting that keeps you private.
docker run -d --restart unless-stopped --name originless \
-p 3232:3232 \
-p 4001:4001/tcp \
-p 4001:4001/udp \
-v originlessd:/data \
-e STORAGE_MAX=200GB \
ghcr.io/besoeasy/originless| Gateway | URL |
|---|---|
| besoeasy | https://originless.besoeasy.com/ |
| gupt.app | https://originless.gupt.app/ |
| 0xchat | https://originless.0xchat.com/ |
- 🌍 Decentralized Apps — Build your frontend and upload the
distfolder to host your live DApp on IPFS - 🖼️ Screenshot Tools — Anonymous image hosting for screenshots and screen recordings
- 📝 Pastebin Alternative — Decentralized paste and snippet sharing
- 💬 Nostr Clients — Media attachments for decentralized social apps
- 🎨 Portfolio Hosting — Permanent galleries and portfolios that survive link rot
- 📦 Package Distribution — Resilient software and asset distribution
- 🎵 Podcast Hosting — Decentralized RSS feed media hosting
- 💾 Backup Storage — Self-healing backup infrastructure
- Upload — Files stream to your local IPFS node (unpinned by default)
- Propagate — Content spreads via IPFS as peers request it
- Self-Heal — If garbage collected, your node repopulates content when online
| Platform | Description |
|---|---|
| 0xchat | Private, decentralized Nostr chat |
| ZeroNote | Anonymous encrypted notes sharing |
| gupt.app | Private, anonymous file sharing |
| Variable | Default | Description |
|---|---|---|
STORAGE_MAX |
200GB |
Maximum storage limit for IPFS |
PORT |
3232 |
API server port |
Base URL: http://localhost:3232
Upload a single file.
curl -X POST -F "file=@yourfile.pdf" http://localhost:3232/upload{
"status": "success",
"cid": "QmX...",
"url": "https://dweb.link/ipfs/QmX...?filename=yourfile.pdf",
"size": 12345,
"type": "application/pdf",
"filename": "yourfile.pdf"
}Upload a .zip archive. Originless extracts it and stores the entire folder to IPFS as a directory. Use this for static site and DApp deploys.
curl -X POST -F "file=@dist.zip" http://localhost:3232/uploadzip{
"status": "success",
"cid": "QmX...",
"url": "https://dweb.link/ipfs/QmX.../",
"filename": "dist.zip",
"fileCount": 12
}Teach your agents (Cursor, GitHub Copilot, Claude, etc.) to use Originless — no API keys, no accounts, no configuration required. Just point them at a running instance.
- "What's the current Bitcoin price? Create a beautiful
index.htmlreport and upload it tohttps://originless.besoeasy.com/uploadso I can share it." - "Generate a complex 3D fractal image, save it as a PNG, and upload it to my local Originless node at
http://localhost:3232/upload." - "Build a React Pomodoro timer app, zip the
distoutput, and publish it live to IPFS viahttps://originless.besoeasy.com/uploadzip."