Thanks, both. This will definitely help!
Access to TheForest was the best 300 sats "investment" Iāve made on Nostr :)
Siberengel, just a heads-up from someone a bit disappointed with⦠well, humanity in general (you have to be a special kind of person to attack an unfunded open source dev paying for their infra out of pocket⦠but alas, here we are):
I may be preaching to the choir here, since youāve been running TheForest for a while and have probably whitelisted other kinds of notes before⦠but do set tight policies and keep an eye on your observability tools.
I donāt know if youāve had to deal with āenthusiastic fansā āimproving Nostrā before⦠but folks can be very ingenious when attacking relays. Iāve had to deal with a bit of everything, from carefully crafted queries with complex filters designed to choke Khatru, to bots writing massive notes until the relay runs out of disk space.
Hopefully Iām just being paranoid here and folks wonāt try (or manage) much with an exotic ephemeral kind. But sadly, on the internet, good deeds rarely go unpunished š¤£.
Yeah, we had to think, for a while, before determining if thecitadel should be public. It seems to work because it contains no "social notes" (kind 01 or 1111), but cloudfodder sometimes has to deal with some craziness.
We might eventually move to AUTH without a whitelist, as needing to do that ping-pong authorization slows them down.
I think the 300 sats are a good deterrent. But TheForest does accept social notes, right? (At least for "paying" members?)
Ah, on that front... The script kiddies have evolved. AUTH no longer deters them, unfortunately... But it does deter... like 90% of clients on Nostr from writing to and fetching kind 24133, unfortunately.
I mean, AUTH does help a bit, PoW above 28 also helps a bit, but other than charging some sats or a strict WoT I haven't found a good solution for public relays yet.
We have an AUTH mirror for every non-auth relay, running on NFDB.
TheForest accepts social notes, yes. It accepts almost anything, but only for community members. TheCitadel accepts from anyone, but only certain types.
Got it, makes sense. I had both relays mixed up. The NFDB mirrors are a good idea... Then it becomes Semisolās problem, and Iām sure heās dealt with every category of Nostr attack at least twenty times.
Unfortunately, thereās not much we can do about NIP-46 libraries that wonāt use AUTH.
Assuming this can be made to work on Nostr1, maybe itās worth considering whitelisting kind: 24133 without SATS and AUTH on TheForest as well? I have nothing against TheCitadel by any means, but since Iām already using TheForest as a write relay, it would be convenient to use it for NIP-46 too.
If this doesnāt bring too much additional inconvenience (though Iām aware anything public on Nostr comes with some pain), itād be brilliant for sure.
Okay, added it. nostr:npub10npj3gydmv40m70ehemmal6vsdyfl7tewgvz043g54p0x23y0s8qzztl5h That should override the whitelist controls, right nostr:npub10npj3gydmv40m70ehemmal6vsdyfl7tewgvz043g54p0x23y0s8qzztl5h ?
Yes, in the next release it wont show this message
Thread collapsed
Thread collapsed
Thread collapsed
Working well! Just tested with my bastaderised version of nak + Jumble, noStrudel, Amethyst and Nosotros, both bunker and nostrconnect tokens working well over TheForest. I've also tested it with both a npub that is whitelisted and an external one.
I've rebased the PR above on top of Fiatjaf latest changes to nak if anyone else wants it. Thanks a million again!
Thread collapsed
yep! this is the right move for these obfuscated pubkey type services.
Thanks š«
It turns out that Amber wasn't as hard to implement, as I'd thought. The relay was just unreliable.
nice, i saw nostr:npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5 gave you a code snippit a few days back, do you think this info is easy enough to find on the amber github? if not, maybe you could do us future implementoors a favor and PR it for them?
Beyond Amber-specific code snippets, NIP-46 (https://github.com/nostr-protocol/nips/blob/master/46.md#direct-connection-initiated-by-the-client ) itself needs some love.
For example, while implementing the Direct connection initiated by the client flow, the NIP states:
1. That a secret value must be provided to avoid connection spoofing, and that clients must validate the secret returned in the connect response.
2. That the connect command should return either "ack" or `` (emphasis on "or")
So I knew I needed to return the secret in the response⦠Still, I had no idea that most clients expect a response containing exactly:
```
{
"id": [secret],
"result": "ack"
}
```
I had to reverse engineer this from client libraries. It would be nice to clarify this kind of thing in the NIP itself.
Good luck with changing a NIP. š
Ah, I have enough side quests, lol. Just trying to rage bait someone else to do this.
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed
Thread collapsed