all the stuff I had uploaded to my Satellite CDN is already up there... and I can one-click transfer my content to another blossom server and if/when @Stuart Bowman rugs me, all the media I had uploaded there, all the notes I published referencing the Satellite CDN will just magically continue to work let's repeat that: *all the notes I had *already* published, before Blossom even existed, WILL CONTINUE TO FUCKING WORK image

Replies (12)

Well, that's pretty damn cool.
PABLOF7z's avatar PABLOF7z
all the stuff I had uploaded to my Satellite CDN is already up there... and I can one-click transfer my content to another blossom server and if/when @Stuart Bowman rugs me, all the media I had uploaded there, all the notes I published referencing the Satellite CDN will just magically continue to work let's repeat that: *all the notes I had *already* published, before Blossom even existed, WILL CONTINUE TO FUCKING WORK image
View quoted note →
I don't quite follow. Your data is preserved, but the whole point of the CDN is to use URLs in your notes that point to the "stuff." Wouldn't the URLs you created before blossom all stop working? For example, the screenshot in your note is a url to nostr.build.
yes correct BUT once the URL dies, all the information needed to find the file again is there, which means that, even though that URL doesn't work anymore, any blossom-aware client can find the file again
Both @hzrd149 's and Stu's implementations forward GET requests (302 Found) to external blob storage services, i.e. the request is served by those services that DO support range requests. I have tried to implement range requests with my cloudflare worker based solution and have still some bugs/issues. Downloads (GET) with ranges are covered well by the HTTP spec. IMHO it could make more sense to put a multipart upload API in the blossom spec to support large files.
do you know of any multipart upload APIs that are simple? id like to start looking into a few also starting to think blossom might need the equivalent of the NIPs repo for optional extensions ๐Ÿค”
โ†‘