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.

Reply to this note

Please Login to reply.

Discussion

highly fondamental and important indeed ! thank you

Thank you 😊

I hope there's like Umbrel solutions for non-dev users like me🤣

I was just hoping the same 😉 I'm sure umbrel or another raspberry image will come to light !

maybe a nostr raspberry image for noobs with all inside ? ( relays, nostr.me , clients, etc )

#nip98 for the win. See also:

https://nosdav.com/

Nostrcheck wants the people who use nostr to be sovereign of their services, we want thousands of people to install nostrcheck on their servers and then, if necessary, disappear.

Look for another nostr provider who dares to say this so clearly.

nostr:note1756r49dq89mmapk0gpeytceexe2pd5qhet2gytacph9sz48qmsusukxmlz

Beautiful vision 👏👏👏

How does this scale for normal users who don’t want to do anything other than to have apps that just work?

How much storage are you guys using?

Muchas Gracias 💥👏👏🙏

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 nostr:npub138s5hey76qrnm2pmv7p8nnffhfddsm8sqzm285dyc0wy4f8a6qkqtzx624 ‘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.

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. ❤️

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.

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

nostr:note1756r49dq89mmapk0gpeytceexe2pd5qhet2gytacph9sz48qmsusukxmlz

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:

https://github.com/quentintaranpino/nostrcheck-api-ts

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.

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.