mirror of
https://github.com/hzrd149/blossom.git
synced 2025-12-08 14:58:49 +00:00
cacfa520dd9b26f3f7220625d00798da5062422e
- Specify that the server must return the MIME type in the Content-Type header for blob retrieval. - Clarify fallback behaviour for unknown MIME types to application/octet-stream. - Improve the description of how servers should infer MIME types and handle Content-Length for mirror requests.
🌸 Blossom - Blobs stored simply on mediaservers
Blossom uses nostr public / private keys for identities. Users are expected to sign authorization events to prove their identity when interacting with servers
What is it?
Blossom is a specification for a set of HTTP endpoints that allow users to store blobs of data on publicly accessible servers
What are blobs
Blobs are packs of binary data addressed by their sha256 hash
Protocol specification (BUDs)
BUDs or Blossom Upgrade Documents are short documents that outline an additional feature that a blossom server may implement.
BUDs
- BUD-00: Blossom Upgrade Documents
- BUD-01: Server requirements and blob retrieval
- BUD-02: Blob upload and management
- BUD-03: User Server List
- BUD-04: Mirroring blobs
- BUD-05: Media optimization
- BUD-06: Upload requirements
- BUD-08: Nostr File Metadata Tags
- BUD-09: Blob Report
Endpoints
Blossom Servers expose a few endpoints for managing blobs
GET /<sha256>(optional file.ext) BUD-01HEAD /<sha256>(optional file.ext) BUD-01PUT /uploadBUD-02Authentication: Signed nostr event- Return a blob descriptor
HEAD /uploadBUD-06GET /list/<pubkey>BUD-02- Returns an array of blob descriptors
Authentication(optional): Signed nostr event
DELETE /<sha256>BUD-02Authentication: Signed nostr event
PUT /mirrorBUD-04Authentication: Signed nostr event
HEAD /mediaBUD-05PUT /mediaBUD-05Authentication: Signed nostr event
PUT /reportBUD-09
Event kinds
| kind | description | BUD |
|---|---|---|
24242 |
Authorization event | 01 |
10063 |
User Server List | 03 |
License
Public domain.
Description
Languages
Markdown
100%