Bostr is a new Nostr relay that bounces your Nostr read and write events to multiple relays, allowing users on metered or mobile connections to save on bandwidth.

You could run one for yourself, your community, or for the general public.

Example: You run a Bostr relay at home and configure your mobile client to only use your home Nostr relay. While out and about, you utilize one relay, saving your mobile data, while the Bostr relay at home handles the heavy lifting and data intensive internet traffic for you, sending your notes and events out to the world.

https://github.com/Yonle/bostr

Reply to this note

Please Login to reply.

Discussion

"Bosta" means "shit" in Portuguese

Hahahhahahahaha I liked hahahhahahha

Combine with brazilian censorship ๐Ÿคฃ

cow shit, to be more precise

Deu Bostr deu Bostil

I pronounce bostr as "boster"

Actually, I retract my boost. The author included a mandatory copyright and non-FOSS license.

Doh. I never read the licenses. Thanks Shawn.

๐Ÿซก

What makes BSD 3-Clause not be FOSS?

If thatโ€™s the license, I couldnโ€™t find it and that would be my mistake. But is a mandatory copyright statement consistent with BSD-3?

https://github.com/Yonle/bostr/blob/master/LICENSE

Yeah that's part of that license. It keeps the author recognized but still allows for any use as long as that statement stays. It adds a third condition just saying you can't use that to promote your project with OG creator.

TIL. ๐Ÿคฆ๐Ÿผโ€โ™‚๏ธ

Take everything I said with a bottle of salt. I'm usually off on a major part so my assumption may be way off ๐Ÿคฃ

Licensing is fucking hard. Can we make a new license that basically says "give me credit, but use my shit how you please"? I understand that.

CC with Attribution is exactly that ๐Ÿถ๐Ÿพ๐Ÿซก

Creative Commons says on their website to not use their licenses for software.

Creative Commons recommends and uses free and open source software licenses for software.

Itโ€™s a recommendation, and not a requirement ๐Ÿถ๐Ÿพ๐Ÿซก

Yes. Then click on the reccommends link to their FAQ

It's badly worded. They recommend using licenses, just not their licenses ๐Ÿ˜‚

Discussing software licensing on Nostr is peak nerdism. I love it.

lol! I read more about it, and it seems there maybe compatibility issues, hence not recommended. So I guess BSD license would be a better one for your case ๐Ÿถ๐Ÿพ๐Ÿซก๐Ÿคฃ

See! We need my original new license standard "use my shit but give me credit". license ๐Ÿคฃ๐Ÿคฃ

We need more software lawyers on here. MIT license also seems to be good, but how the fuck can I tell when I am not a lawyer ๐Ÿถ๐Ÿพ๐Ÿคฃ๐Ÿคฃ๐Ÿคฃ

Oh my god. You need the Microsoft Public License. Lmao

https://opensource.org/license/ms-pl-html/

I'm not reading all of that. My license proposal is seven words!

I actually read it and it is fucking good and short, everything considered ๐Ÿถ๐Ÿพ๐Ÿค”

Oh. Thank you for your service.

๐Ÿคซ

Microsoft bad. ๐Ÿ˜‚๐Ÿคฃ

๐Ÿถ๐Ÿพ๐Ÿคฃ๐Ÿคฃ๐Ÿคฃ

Microsoft used to be "bad", but now they're all about Linux and open source ๐Ÿ˜‚ They're a very different company.

New leadership brought some good in them. ๐Ÿถ๐Ÿพ๐Ÿซ‚

Ngl Sataya Nadella is a cool cat and Iโ€™m seriously considering getting his book.

Fish, you need to look at the .NET conf videos that just dropped on Blazor in .NET8 bro. There some real goated stuff happening there.

I am not a fan of .NET or Java, so not really into that ๐Ÿถ๐Ÿพ๐Ÿคฃ๐Ÿ˜ญ

I can understand Java, but I'm still a bit shocked on .NET. Some time I would love to sit in a nest and talk coding aesthetics with you. So few people willing to sit and talk about that without getting angry. ๐Ÿ˜†

We should have a coding talk nest! Sounds like fun. Maybe even talk a little about licensing ๐Ÿถ๐Ÿพ๐Ÿคฃ

I would totally be down for that. Sounds like fun.

I'm down too.

Non-Denominational: MIT

GPLv3: Church of Christ

GPLv2: Jehovahโ€™s Witnesses

BSD: Mennonites

MPL: Catholic

๐Ÿคฃ

They recommend software ones because it has indemnification clause and other provisions. But if you just want to give it away and only have attribution, the CC is OK. Disclaimer, IANAL ๐Ÿถ๐Ÿพ๐Ÿซก

The best open source license in existence:

http://www.wtfpl.net/about/

Yes that is part. Like any BSD OS is carry over from old school.

Great idea, shit license, shit name

The name doesn't matter. I'd run a relay called Shitbox 9000 if it worked.

Excelente projeto, vou implantar em meu relay.

ร‰ usem o meu relay a quase 1 ano rodando:

wss://relay.nostrbr.online

Dope!

Amazing. This needs to be a setting in client to prioritize specific relay/s when on mobile data

Coracle has a variant of this idea, but it also supports nip 65 routing

this is also new good option #relay #saver

#nost #proxy #aggregator

tech users can open this via ๐Ÿง… and access when traveling save on #mobile #data

lnbits+multiplexer(nostrclient) is same function another option

we need more microapp on NPM / python like this

yonle@lecturify.net person on nostr yet

purple pill HIM

Mutinyโ€™s blastr does this too

https://github.com/MutinyWallet/blastr

errrr just for the write fanout

Blastr is very different, but similar that it rebroadcasts.

It's hilarious how this note turned into software licensing discussion ๐Ÿ˜‚

Sometimes it do be like that ๐Ÿ˜‚

Ok, not to diss this project or anything, but relay-proxy from earlier this year does the same thing. Multiplextr does as well, but using a wrapper protocol so clients can make non-static relay selections.

Proxies like this hurt the ability for clients to intelligently route. They also have significant privacy drawbacks, especially if proxying AUTH (they can exfiltrate protected data).

I'd love to see more work in this area, especially since proxies have the ability to improve routing without clients having to do anything by inspecting filters coming through. I recently wrote a bit about this, see below:

https://habla.news/u/hodlbod@coracle.social/1700155417145

I'm not going to be able to read this right away but thank you so much for this article. I've been thinking about some of the same concepts and this article looks really well thought out.

I feel like the whole reason this exists because we don't have routing or gossip on all clients, so people are trying to find work arounds to make Nostr more usable. If we had routing and gossip, we wouldn't need this most likely.

Well, this breaks gossip in clients that have it. It would be possible for a proxy to add gossip to clients that don't, and that would be awesome, but this isn't it.

Just like an IRC bouncer, You are expected to run the software for your own actually.

And no. NIP-42 was not enabled by default & only supported for personal use due to the reasons that you've provide above.

And again, NIP-42 requires domain name validation. So #bostr could not use NIP-42 for public usage.

I am rather questioning the privacy at multiplextr than in #bostr as it tell to coracle that the event was sent from "that" relays, and then coracle sign the AUTH for "that" relays also.

Yes, multiplextr absolutely has the privacy problem you're describing. The advantage it has is it allows clients to implement routing.

How to keep this proxy relay address private? Does anybody can connect to this proxy relay silently if they know the address ?

In config.js, You put your public key in `authorized_keys` array. After restart, bostr will only allow users in `authorized_keys` to use the bouncer.

However, You need to ensure that NIP-42 is supported in your client. Otherwise the bouncer will not doing anything for you during authentication.

Additionally, You could enable internal NIP-42 for NIP-42 relays for your own use by inserting public & private key in `private_keys`.

It works when left authorized -keys empty, but Every time I added key to authorized_keys, seems it doesnโ€™t work.๐Ÿค”๏ธ

Did your client supports NIP-42? I've tested this funcion in #Amethyst client.

Ok,thanks. It work in snort web client. Seems most clients donot support nip-42.

By the way, about the bounce, can it bounce to local host, like ws://127.0.0.1:port

It could bounce to wherever you want to.

I think so, but failed๐Ÿค”๏ธ

How so?

If you want to debug, You could enable `log_about_relays` in config.js to see whenever the bouncer connects to your relay or no.

Sorry, saw the configuration in the file. Can whitelist

// For personal usage. Leaving this empty allows everyone to use this bostr instance.

// NOTE: Requires NIP-42 on client.

authorized_keys: [

// "pubkey-in-hex",

// "npub ....",

// ....

],

The comments was nuts.

Anyway, BSD license was not really that bad. It was close to ISC License with different wording.

Cheers.

Haha. Thanks for your work. Appreciate it.

viralkan ๐Ÿ‘‡

nostr:note1myc2dk8ctzusv7hcgpjfyhp08k2uqt5sqg26f49f55qxzqfqqdlqv55l2w

Youโ€™ve just saved my life of pain lmao, cannot wait to set this up for myself