5K NoGood Radio desktop wallpaper, blossom-nostr-nip96-signed by yours truly so you know it’s the actual original, unedited, authentic, official, certifiable unaltered file. Just check the hash.

(I haven’t figured out how one would check the hash yet)

https://blossom.nogood.studio/4921605757bfb4f351cf9ab9b0dd5449905489a158b3b9257c0c5097d5a1c26b.jpg


This is the way.


fye


Excellent 🌸


I truly hope so!


On Linux you would run "sha256sum wallpaper.jpg" to get the hash


So currently, I'd download the file and check it locally? And the resulting hash should be the same as the online filename (minus extension)?


BTW I noticed the Verify button on Nostrudel as well 🤩


Yes


Cool! Guess I'm a pro Blossom / NIP96 user now 😅


How you upload the files to your blossom?


My two favorite nostr desktop wallpapers
nostr:nevent1qvzqqqqqqypzq40sgkgxwnekfr6vmjwu3n3jmg4zsgr5e59sypvkacpn6ykns5v9qqs20tnejn3ncvdrn3f3q586zuf569tpcge5xa9q3y54sv0dvrra0kg6t0zac
nostr:nevent1qvzqqqqqqypzpqp6vyue0gnwsu2pzmue4g0e36zcnjmpzms64g0unsufnp8umxacqqs9qcz4d79qx8jnfyk46slu5p0fq4tf4rtduus8ccqtlvcz5hg8zjgkh6y3a

Created a folder for wallpapers on blossom drive https://blossom.hzrd149.com/#/drive/naddr1qvzqqqrhvvpzqfngzhsvjggdlgeycm96x4emzjlwf8dyyzdfg4hefp89zpkdgz99qqr8yctwv3hk6ywkgnz?path=%2FWallpapers
nostr:naddr1qvzqqqrhvvpzqfngzhsvjggdlgeycm96x4emzjlwf8dyyzdfg4hefp89zpkdgz99qqr8yctwv3hk6ywkgnz


Now its in my blossom too
https://blossom.nostree.me/4921605757bfb4f351cf9ab9b0dd5449905489a158b3b9257c0c5097d5a1c26b.jpg


Onward 🫡

Onward 🫡


I use https://bouquet.slidestr.net/


How does that work? You downloaded the file and reuploaded it to your own server, or did you copy it from my server directly to yours (through Blossom Drive or something similar)?


Much easier, just take the hash and replace the domain of the blossom server, so I just did that. The way the Blossom protocol works is that if there is no file on your Blossom server, it will ask other Blossom servers for the file, and once it finds it, it will store it on yours, then your server will respond to others requesting the file, and so on.


Damn I didn't realise that's how it works. I was much more focussed on nostr-signed files linked to my npub 😄 But that's amazing!


I’ve seen the blossom spec on GitHub - is there a reference implementation of a managed server?


1. Best production ready implementation is probably: https://github.com/lovvtide/satellite-cdn
2. Reference implementation by hzrd194: https://github.com/hzrd149/blossom-server
3. My proof of concept that runs on CloudFlare Free tier for personal use: https://git.v0l.io/florian/cf-worker-blossom-server


Why is it based of Cloudflare? Can't a different S3 compatible provider/tool be used?


cloudflare is decentralised?


1 and 2 should run with any S3 compatible storage. It's not enough to just store the data though - there is also some logic (docker based server) and a database (for ownership, payments..) required. So you need a place to run those as well.

I wanted to build (3) this on serverless components without having to run a docker container and a database anywhere. That's why I implemented that Cloudflare based project and it's APIs are not directly compatible.

This could be done similiarly on AWS mit Lambda Functions, Dynamo DB and S3.


NO it's very much centralized but it is my personal server.

Having multiple different storage locations makes it decentralized.

And building tools to move / distribute your data.


Yeah I understand that it is not just S3. I was just wondering about swapping the object storage layer for Minio or StorJ.


Yeah you can configure your own s3 storage in the config: https://github.com/hzrd149/blossom-server/blob/master/config.example.yml#L37


So this would require no authentication from the Blossom server owner at all? I can indirectly transfer any temporarily saved files on cdn.satellite.earth to your Blossom server, and use your server to serve the files. There are considerable risks involved.


Yes, i was thinking about that too, it can be even worse if there is some way to do some remote code execution, and it would be very easy to infect a machine, so for example i can upload some malicious file to my blossom server and then make other server pull it from mine... But if im not mistaken the only way to deal with this would be to not set any relay or cdn for discovelability of files, but this will also limit/kill the usability of the server... Maybe nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr can enlighten us more


Discovering and downloading (or streaming) blobs from other servers isn't part of the blossom spec but its something I added to my blossom-server implementation
By default the example config has it setup to check cdn.satellite.earth and nostr 1063 events to find blobs, but if you want you can turn it off in the config https://github.com/hzrd149/blossom-server/blob/master/config.example.yml#L15-L30

I don't know if there are any security implications of downloading a blob. but its possible an attacker could flood a server by asking it to download everything from another server


I've been trying to keep a list here
https://github.com/hzrd149/awesome-blossom/tree/master?tab=readme-ov-file#server-implementations


rofl, that’s the best repo name ever.  familiar with the naming convention but that’s a winner.


I wasn't the one to come up with the "blossom" name. but it turns out to be perfect, has a recognizable icon and rhymes with almost anything


It was the name of a heart attack inducing appetizer that was served at Chili’s going back to the late 80’s


This feature definitely makes sense, but requires more security. For example, a signed event would be required to allow files to be discovered and saved through other servers.


Aaa I see my bad, i was thinking that was part of the spec 😅