Skip to content

besoeasy/Originless

Repository files navigation

🌐 Originless

Private, decentralized file sharing for Nostr and the web

Docker IPFS License: ISC

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.

Originless Banner

🚀 Quick Start

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

Open http://localhost:3232

Public Gateways

Gateway URL
besoeasy https://originless.besoeasy.com/
gupt.app https://originless.gupt.app/
0xchat https://originless.0xchat.com/

🌟 Use Cases

  • 🌍 Decentralized Apps — Build your frontend and upload the dist folder 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

🔄 How It Works

  1. Upload — Files stream to your local IPFS node (unpinned by default)
  2. Propagate — Content spreads via IPFS as peers request it
  3. Self-Heal — If garbage collected, your node repopulates content when online

🤝 Integrations

Platform Description
0xchat Private, decentralized Nostr chat
ZeroNote Anonymous encrypted notes sharing
gupt.app Private, anonymous file sharing

⚙️ Configuration

Variable Default Description
STORAGE_MAX 200GB Maximum storage limit for IPFS
PORT 3232 API server port

🛠️ API Reference

Base URL: http://localhost:3232

POST /upload

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"
}

POST /uploadzip

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
}

🤖 AI Agent Integration

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.

Example Prompts

  • "What's the current Bitcoin price? Create a beautiful index.html report and upload it to https://originless.besoeasy.com/upload so 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 dist output, and publish it live to IPFS via https://originless.besoeasy.com/uploadzip."

About

One all-in-one storage backend you can drop into anything: your own apps, screenshot tools, pastebin-style pastes, Nostr clients, Reddit posts, forum embeds—anything that needs durable, anonymous file hosting. One Originless to rule them all and keep you anonymous.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors