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.
🚀 Quick Start • 🎯 Features • 📚 Documentation • 🤖 AI Agent Guide • 🌍 Public Gateway
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/originlessAccess: Open http://localhost:3232
Don't want to self-host? Use our public gateway:
🌐 https://filedrop.besoeasy.com/
Simply replace http://localhost:3232 with the public gateway URL in API calls.
|
No accounts, no tracking, no logs. Upload files completely anonymously without leaving a trace. |
Built on IPFS. Content persists across the network even if your node goes offline. |
Content automatically repopulates when your node comes back online. Set it and forget it. |
|
Optional client-side encryption for sensitive content. Even the server operator can't read your data. |
Keep important files forever with authenticated pin management via Daku cryptographic auth. |
Simple REST API. Drop it into any app, tool, or platform in minutes. |
See what's possible with Originless:
Included demos:
- 🖼️ Image Share - Anonymous image upload with instant IPFS links
- 📝 Encrypted Notes - Client-side encrypted note sharing
- 🎨 Gallery Drop - Multi-file gallery creation
- 🔊 Audio Drop - Anonymous audio file hosting
- 📷 QR Share - Generate QR codes for instant sharing
- 💾 GitHub Backup - Archive repositories to IPFS
Originless is already powering file storage for these platforms:
|
Private, decentralized Nostr chat |
Anonymous encrypted notes sharing |
graph LR
A[📤 Upload File] --> B[🏠 Local IPFS Node]
B --> C[🌐 IPFS Network]
C --> D[👥 Peers Request]
D --> E[♻️ Content Spreads]
E --> F[📌 Optional: Pin Forever]
style A fill:#2563eb,color:#fff
style B fill:#10b981,color:#fff
style C fill:#8b5cf6,color:#fff
style F fill:#f59e0b,color:#fff
- 📤 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
- 📌 Pin (Optional) — Use authenticated pin management to keep content forever
| Resource | Description |
|---|---|
| 📖 API Documentation | Complete REST API reference with examples |
| 🤖 AI Agent Skills | Guide for AI agents to integrate Originless |
| 🔧 Configuration | Environment variables and settings |
| 🐳 Docker Hub | Official container images |
| Variable | Default | Description |
|---|---|---|
STORAGE_MAX |
200GB |
Maximum storage limit for IPFS |
PORT |
3232 |
API server port |
ALLOWED_USERS |
auto-generated | Comma-separated Daku public keys for access control |
Custom storage limit:
docker run -d ... -e STORAGE_MAX=500GB ghcr.io/besoeasy/originlessWhitelist specific users:
docker run -d ... -e ALLOWED_USERS="pubkey1,pubkey2" ghcr.io/besoeasy/originlesscurl -X POST -F "[email protected]" http://localhost:3232/uploadcurl -X POST http://localhost:3232/remoteupload \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com/file.pdf"}'curl -X POST http://localhost:3232/pin/add \
-H "daku: YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"cids": ["QmHash..."]}'📖 See full API documentation →
Originless is AI-native with a comprehensive agent skills guide. AI assistants can:
- Upload files anonymously for users
- Create encrypted shares with client-side encryption
- Manage persistent storage with pin operations
- Build file hosting into any workflow
- 🖼️ Screenshot Tools — Anonymous image hosting for screenshots
- 📝 Pastebin Alternative — Decentralized paste sharing
- 💬 Nostr Clients — Media attachments for decentralized social
- 🎨 Portfolio Hosting — Permanent galleries and portfolios
- 📦 Package Distribution — Resilient software distribution
- 🎵 Podcast Hosting — Decentralized RSS feed media
- 💾 Backup Storage — Self-healing backup infrastructure
- 🔗 Link Preservation — Combat link rot with IPFS archiving
Originless uses Daku for decentralized authentication:
✅ No passwords — Cryptographic key pairs only
✅ No accounts — Self-sovereign identity
✅ Nostr-compatible — Use the same keys as Nostr
✅ Proof-of-work — Built-in spam protection
✅ Stateless — No server-side sessions or cookies
Clone the repository:
git clone https://github.com/besoeasy/Originless.git
cd OriginlessInstall dependencies:
npm installRun locally:
npm startBuild Docker image:
docker build -t originless .Contributions are welcome! Whether it's:
- 🐛 Bug reports
- 💡 Feature requests
- 📖 Documentation improvements
- 🔧 Code contributions
Open an issue or submit a pull request.
ISC License — See LICENSE for details.
- GitHub: github.com/besoeasy/Originless
- Docker: ghcr.io/besoeasy/originless
- Public Gateway: filedrop.besoeasy.com
- IPFS Docs: docs.ipfs.tech
- Daku Auth: npmjs.com/package/daku
Built with ❤️ by besoeasy
One Originless to rule them all and keep you anonymous 🕶️
