Blossom servers aren’t truly decentralized — they still rely on centralized infrastructure.

That’s exactly why I built FileDrop.

FileDrop lets you upload media while staying fully anonymous, which is especially useful on Nostr, where privacy and censorship resistance matter.

No media decompression.

No file size limits.

Run it yourself.

Currently works with 0xChat — more apps coming soon.

Try it here:

👉 https://filedrop.besoeasy.com/

Also available on Umbrel:

👉 https://apps.umbrel.com/app/file-drop

#nostr #privacy #decentralization #filesharing #opensource

Reply to this note

Please Login to reply.

Discussion

⚡️⚡️⚡️👨🏻‍💻 nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

I need some blossom service like this nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

Will check it out nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

Are blossom servers centralized or decentralized? #AskNostr nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

👌 nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

No limit file sharing, hello. nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

Gracias 😊 nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

🍾 nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

🍾 nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

😎👍 nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

Works great.

Thank you! Please test it by uploading different files or files of varying sizes.

LFG nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

New service nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

Hope to reach complete independence in the near future of this server nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

how does hosting filedrop or hosting a blossom server differ? in the context of decentralization

FileDrop can run directly on your PC, temporarily turning your computer into the host.

You don’t need a domain, paid hosting, or server configuration. FileDrop automatically tunnels your files to the web, making them accessible from anywhere. After the upload/tunneling is complete, your PC does not need to stay online — you can turn it off and the files will remain accessible.

Blossom, in contrast, works like a traditional CDN.

It requires a domain, a server, and proper setup. If your Blossom server goes down, your files immediately become inaccessible. You can mirror your files to another Blossom server for redundancy, but that requires maintaining additional servers — which can also go down.

where is my file after i turned my computer off?

as DAG on IPFS network

ah thanks, now i get it

Finally, a solution to shitpost upload across multiple servers at once!

FileDrop nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

✨ nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

nice nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

Ups nostr:note1ss4389yr48244w826u9hzvvrl9u0demmyhme6x34cc5fr409j8cqghdlgs

Interesting, 0xchat also supports selecting filedrop as the file server in the latest version — try it out.

nostr:nevent1qqsgg2cnjjp6n426hr4dwzm3xxplj78kuaajtauarg6uv2y36hjeruqpr9mhxue69uhk2umsv4kxsmewva5hy6twduhx7un89umzej8p

How does it work?

IPFS

How does IPFS do NAT holepunching?

Thought so, it's the same as WebRTC or wireguard, or mesh networks like yggdrasil, you need one publicly connected peer atleast.

I think blossom servers should implement a BYO storage BUD that inplements holepunching through yggdrasil. That seems like the sanest of all approaches.

I'll do it soon-ish I need it for formstr anyways.

The description says it uses a local node, but I don't think that's implemented.

no file size limit and other benefits, because of ipfs, but i guess the cost here is reliability goes down as the file size goes up, and the file being popular or not, and upload/download speeds fluctuates.

i wonder if this can be updated to where we can significantly increase its reliability by adding economic incentives to it. Aside from an ads system (that's a thing i'll work on down the line that'll be an evolution to how something like google ads work), I'm thinking that you can query who holds the chunks and each has a fuel tank that basically indicates "i can guarantee I'll hold onto this/these chunks if there's gas (money) in my tank (wallet) for it" and either the uploader of the file or anybody else can see this and can send e-cash to these ipfs nodes. Basically the market decides to help significantly increase the chances of survival of the files/chunks they want on multiple ipfs nodes. There are a few issues to solve with such a system and a bunch of work to do to get things right if this is the direction, but it's interesting and opens up a market for more people and with less headaches =3

You're correct, however that issue was resolved starting with version 0.26. Adding incentive mechanisms would transform it into Filecoin, which isn't desirable for most users. IPFS works reliably - I've successfully tested it with files as large as 6 GB without any issues.

Great stuff. I built a private Blossom to IPFS gateway (Khatru based, despite the fact that the framework author does not like IPFS). My main problem so far is that when my CDN evicts media, latency increases substantially, even when I am acting directly as an IPFS host and gateway. It also seems to be a bit more bandwidth hungry, which is not a big deal.

But aye, in terms of redistribution and redundancy it is ahead of Blossom, especially as most Blossom implementations out there take liberties with the specs and are not compatible with each other, nor even between clients. I totally gave up on BUD-04 mirroring, as client and Blossom server devs break compatibility faster than I can fix stuff on my side.

Here is fix for you friend,

ipfs config --json Routing.Type dhtclient

bandwidth hungry - you are right, small part to pay for availability

I think I did play with a direct DHT Client as well as a cache-in-between the Blossom server and a local HTTP to IPFS Gateway with some aggressive catching headers (which gave me the best results as when the CDN evicts media, more often than not the bridge hits the cache instead of IPFS), but I'll revisit it for sure. And also play with your stuff, as if IPFS is enough Blossom becomes unnecessary.

last time i tried mirroring it was an rt on nostrudel it took a while, it was three videos, I don't think any other nostr clients have implemented it.

Primal did, but compatibility between Blossom servers is still a bit hit and miss as some fair play is required between clients and both servers involved.

I thought it was only for your uploads, not for reposting someone else's note?

Ah, fair. I haven't seen a more general "mirror button" in any other clients besides NoStrudel, only in Blossom-specific management utilities. One way or another, mirroring your own images or someone else's flows the same way in the backend. At the end of the day, it is a REST endpoint that the client calls, and both servers have to be mindful of what each other expects. One missing header on the origin server can be enough for the destination server to reject the media, so you are basically hostage to each dev interpretation of the specs or even of things beyond the specs. Thankfully, there is no such thing in IPFS, as it is basically torrent-style P2P stuff under the hood.

you are a nostr hostage? 😅

Lol. I'm... Increasingly disappointed and less invested in Nostr. So, not a hostage, but lacking incentive (more than financial incentive, if I'm being totally honest Nostr culture and content is just not for me... I don't think I'll be on NIP-01 for much longer, although I'm still interested in Alexandria, GRASP and a few "other things").

You’re always welcome to contribute 🙂

I’ve intentionally kept the code simple and the implementation as close to the raw IPFS spec as possible.

https://github.com/besoeasy/file-drop

Nice! It's great to see Ethereum/Web3 related technology used by Nostr 💪

I've been hosting an IPFS node (kubo) for 5 years+, if you have any questions, hit me up

It would be nice for some simple documentation on how to host nip05 on .eth’s if people got em

Implementing ENS would be nice - but that would ideally require a separate NIP, because through NIP-05 it would be dependent on one centralized gateway like eth.xyz. A custom NIP would allow you to use your own Ethereum node or have several of those gateways set up for redundancy at least

Interesting

What do you think about https://helia.io? Do you think Helia will become mainstream instead of Kubo since it's JavaScript-based?

I haven't seen any major deployments of Helia yet, but getting rid of the dependency on centralized gateways is direction where IPFS is definitely evolving... just like Ethereum is moving towards having stateless nodes.

It's just going to take a long time, we're just at the beginning. Kubo will definitely be here for a few more years :)

Does it support npub whitelisting or something to make only me and those who I want can public to my server?