a3db453942
- BlossomClient: unauthenticated fetch, kind 24242 signed upload - Parser: capture `url` tag from NIP-35 events as blossom_url - Reader: spawn background fetch + cache of blob when url tag present - Writer: include `url` tag in published NIP-35 events when blob uploaded - Watcher: upload .torrent file to Blossom before publishing, attach URL - Migration 007: adds blossom_url + torrent_blob columns to torrents - Route GET /torrent/<info_hash>.torrent serves cached blobs - Config: blossom.enabled + blossom.server (disabled by default)