# what is this

Any Large Media ON Demand - a blossom media server for nostr, written in rust.

# what it does

🌸 blossom
BUD-01 02 03 04 06 07 09 10 11 12
🌸 upload
PUT /upload, resumable PATCH /upload, PUT /mirror from other servers (follows HLS playlists)
🌸 download
GET /<sha256> with any file extension, range requests, ETag and immutable caching
🌸 delete
DELETE /<sha256> with a single-use BUD-11 authorization from an allowlisted npub
🌸 list
GET /list/<pubkey> with cursor pagination, for allowlisted npubs
🌸 filter
GET /filter: a compact filter (binary fuse or bloom) of every stored hash
🌸 storage
local filesystem or an optional S3-compatible bucket; no database, the index lives in memory
🌸 retention
built for temporary blobs: optional max age, size and count limits; oldest go first (FIFO)
🌸 access
anyone with a nostr key by default; or allowlisted npubs, their web of trust, DVMs, or off
🌸 upstream
optional fallback to other blossom servers (proxy, redirect, redirect and cache); ?xs= / ?as= hints are off by default
🌸 payments
optional cashu ecash per MiB (BUD-07), off by default
🌸 reports
optional BUD-09 reports that quarantine or delete a blob, off by default

blobs may disappear - keep your own copy.

good luck! 🎉

â–Š