I think one of the most important challenges in nostr is going to be about the servers that host files, and we are not devoting enough attention to it.
Right now there are 5 of us (as far as I know)
nostr.build
void.cat
nostrimg.com
nostrfiles.dev
nostrcheck.me
I believe that self-custody of files should be encouraged as soon as possible so that anyone can host their own files on their own server (at home for example).
In this way, NIP-96's proposal together with more users installing nostrcheck.me on their home servers is the solution to the centralization of this important part of the protocol.
https://github.com/nostr-protocol/nips/pull/547
I would like that this proposal can prosper to adapt my server to its specifications and finally get that many nostr users never again depend on anyone to share their own files in a sovereign way.
If anyone is interested in collaborating, here is the code.
https://github.com/quentintaranpino/nostrcheck-api-ts/
In case someone didn't know it, the goal of nostrcheck.me is to be used locally by many people and then step aside so that no one will ever again have to depend on a service provider for their own nostr address, file uploads and all the other services implemented on the server, if anyone has doubts why nostrcheck.me offers all its services for free, I guess they finally know what is its ultimate goal, to disappear to make way for thousands of sovereign nostrcheck.me.
Thread
Login to reply
Replies (34)
How much storage are you guys using?
Yep, we need it !
View quoted note β
Muchas Gracias π₯πππ
#growNostr π«ππ
View quoted note β
This solution works for some, but for many users it's a horrible idea. Not everyone in the world has the bandwidth to host images for their followers. Could you imagine having a viral note and having it bring down your home Internet connection or costing you money if you have a metered connection? Sorry honey, my meme is doing really well, we can't use the Internet for the rest of the day. Either that or the image just won't load for your followers giving them a bad experience.
The goal is to decentralize, obviously putting this server on a metered connection is not the best idea π
ππ
But for example it allows small organizations to be sovereign of their files in nostr without depending on third parties (and with integration in any client without having to ask permission to the developers).
It is true that if a poor devil gets a photo viral and has the server on an adsl he will have a hard time.
But in general I think it is totally scalable.
I understand the need for this and I commend you on wanting to make your service into a service that everyone runs, but I don't think it's doable for the majority of people in the world based on current ISP configurations that most people use.
Bandwidth restrictions aside, there's also technical hurdles too with routing, SSL certificates, and using services such as Cloudflare to keep your home or business IP address safe. The vast majority of people just will not do this. Technical people will though.
It's a good solution for tech savvy folks, but the masses need something else.
Do the masses really need to host their own media? I donβt really think so. I do think a large number of people running software like this keeps costs low and provides enough options to reduce the risk of censorship. I see it as a βmany peopleβ not an βevery personβ type of thing.
Maybe not? If many people were going to do this, they'd already be running their own chevereto instance or something similar on one of the "node OS" platforms and hosting the images themselves π« I just don't see this ever catching on until it's point and click easy.
I think I generally agree with that. Iβm on @Quentin βs team in wanting more people to do it, and having it available. I would probably run an instance for example.
But I agree, most wonβt.
But, I think there is still tons of good to come from it. Our little army of nerds will take this and decentralize things further than they are.
I see it as a step further, allowing to convert 5 multimedia providers into 500, from here we must continue looking for solutions to keep the protocol free, scalable and uncensorable.
The most important thing for me is that we remove impediments for anyone to be a multimedia provider.
Yes. A step further. I like that phrase. It fits.
We can already do all of this though. Umbrel, My Node, startOS all come with solutions to host your own images. I've yet to see anyone do this. I'm not trying to put down what you're doing so please don't think that. I am trying to highlight that solutions already exist and no one is doing it. So, what are you going to do that's different to make this change? That's what I don't see. Is it an education issue? Maybe? But I still feel it's a technical hurdle that isn't being solved and this ks just adding to an existing set of solutions that no one is already using. So, how do we change that?
One thing catching my eye is supporting an API that allows direct from client uploads. Thatβs been a big hangup, and one big reason I use a provider for my own images, even though I host one π€£
Finally and perfect. Thank you. This is a good technical reason. This could be solved of clients allowed custom media hosts to be added. Developers would need to get on board.


Yeah. Iβve referenced this many months ago, but I dropped it since devs were busy.
PicSur supports ShareX API for example. Now, Quentin was pointing out a NIP API for this. Clients would have to support it and allow a custom url entry first the endpoint.
Myself being willing to host others, I could use Quentinβs software and become a provider. All the techies could self host with software of their choice once the API was present in their software.
as a user who is not terribly tech savvy but a little bit, in certain areas, I have wanted to host my own library of images thatI could add to and delete from in a secure way and would do so, Iβm just ignorant about how to do it. So as yβall talk through this Iβm learning from it and taking notes and realizing what exists already and what may be coming. So Iβm basically saying the interest is there for people who want to try new things in this new protocol. Even if we arenβt all super tech savvy at the start.
Even beyond that, technically the NIP allows multiple media providers to be added as we now do with relays, this is a huge change in the protocol.
My server will not be the only one, I am sure that others will adapt their API's and other installable solutions will be released.
The key is in the NIP and not so much in my server (which is not mine, it belongs to everyone, open source).
If you want we can look for a while and install it together, then once we update it to adapt to the NIP you will have it ready from the beginning.
We have a minetest pending by the way π
We do. I havenβt forgotten. β€οΈ
You will be able to have your own implementation, we will make it as easy as possible to install.
Zaps are enabled. Why not ask for some small zap amount for each upload? It would engage some cost-benefit analysis before posting, thereby increasing (probably) quality while reducing quantity. Or, on the flip side, enable zap-to-view with an author-defined % split between himself and the host?
This can also be implemented without relying on this NIP, in fact I think there are some providers that have it done.
void.cat is flagged by some blocklists for βmalwareβ, I had to whitelist it locally.
This is one of the main reasons to decentralize this, if we fall one of the 5 it will have too many consequences.
This post descibes both a problem and a proposed possible solution to it. I'm more interested in community recognition of the problem at this point.
Soooooo, clients should offer custom domains for "file hosters" running their own instance of nostrcheckme?
I don't understand nothing about this thread, maybe i am the problem
View quoted note β
How about hosting on ipfs? You can run your own node in a browser.
I don't question their commitment to #nostr, but I'm very skeptical of them wanting to #decentralize, seeing as their only has info about how to sign up on their server. In fact, they even flat out state that if you have your own domain, then "Nostrcheck does not make sense for someone like you".
For people who want to run their own nostrcheck instance anyway, you can find the code here:
I hope that nostrcheck will prove me wrong by making the Microsoft GitHub link prominent on their site, encouraging people to run their own server, and listing independently run nostrcheck servers instead of directing everyone to the nostrcheck.me instance. If they did that, I'd completely take back any questions about them bring committed to #decentralization.
GitHub
GitHub - quentintaranpino/nostrcheck-server: The communityβs Nostr brain: The only server with relay, File Hosting (NIP-96 & Blossom), Nostr Address (NIP-05), Lightning Redirects, NWC, WoT, and much more.
The communityβs Nostr brain: The only server with relay, File Hosting (NIP-96 & Blossom), Nostr Address (NIP-05), Lightning Redirects, NWC, WoT, ...
The main reason for this not being the case until now is that you can't have your own nostrcheck instance without having to convince all the client developers to add your service.
If the NIP succeeds it will no longer be necessary.
nostrcheck.me should remain as a one more instance of the many that should exist.
I will make the change you propose, as soon as it is done I will let you know.