initial version is out 👀

still very early though, only have a ratelimit plugin atm

https://github.com/damus-io/noteguard nostr:note1y7vxy6gaest9809hrg96zl3vnsc3rwveuq8ad2l5uwdhhapd93tqu0w5v3


What is this?


Can’t wait to figure out what the fuck this is 😂

#idontunderstandshitaboutdick


When he tells you, will you translate???🤣🤣


Right?! Like noteguard? I’ve only been gone a few hrs


When you run a public relay people spam the shit out of it, this sits in front of a relay and blocks spammers. It also allows you to extend the relay’s functionality. We will also use this for extending the damus relay to enable apple/google push notifications.


(You can spy on your partner 24/7 by following nostr:npub1qqqqqhu87ep5rssjejfadsnxcqaww5kqyesw0znd59py77c9c3cqfec28r )


My spam/news bot/porn/spam filter on Ditto is over 600 lines! That's how bad Nostr's design is.


I’ve been doing this before and after I took elliott to the park. Don’t worry i am efficient i wasn’t just doing this all day


I’m too high to understand rn, but maybe later will you explain how the hell a relay can know something is spam ? Is spam classified as just continuous noting or something else ?


Spam is if you’re trying to write more than one note per second


Good to know


Omg you said it in human. Fuck yeah 💪


I wonder if this is why the Wavlake relay keeps throwing 500 errors lately


Talk yo sh!t hahaha


So many folks appreciate your commitment! As a non-technically-savvy artist, it’s so rad to see amazing things developed in real time like this. LFG

#grownostr


my gr8 gr8 x10 said"worry is a waste of mind, now get on that f'n horse"  t-y gr8gr8Ghengis


What else is to be implemented?


IIUC, upon a new event, strfry sends data to the plugin on stdin, the plugin executes once and then reports back on stdout. So then, how is the rate limiting sources persisted between notes?


not sure what you mean. why would it be persisted between nodes, which nodes?


Well some more plugins would be nice 😅. Like duplicate content filter. I want to use token bucketing for the rate limit plugin since it’s using something pretty naive atm.

We are going to be using this to implement our high push notification service since our deno one is giving us trouble


Not "noDes" but noTes. When strfry sees a new note, it sends it to the plugin you specify in the config over stdin. The plugin executes and responds back over stdout. In other words, unless you write to file, the Map that holds track of the sources will not be persisted for the next note (or the next execution of the script). The sources I refer to is this: https://github.com/damus-io/noteguard/blob/master/src/filters/rate_limit.rs#L16


Maybe I haven't had enough coffee yet, idk 😂


Lol i just woke up my brain is still booting. I should coffee before I nostr


strfry doesn’t spawn the plugin once per note, it spawns it once and streams notes to it via stdin/stdout


oh, TIL. Then it makes a lot more sense


Maybe your brain is dual-booting two different OS simultaneously?


Please don’t limit ephemeral events 🙏

nostr:nevent1qqsd4x5vzdjvsssxyjw4xs3zfuqcfwfdej73uqwptyg58spvf4zw4qgpramhxue69uhkummnw3ezucnfw33k76twd9ehyct9dsh8xurpvdjsz9rhwden5te0dehhxarj9ehhsarj9ejx2aspr9mhxue69uhhqatjv9mxjerp9ehx7um5wghxcctwvsq3gamnwvaz7tmjv4kxz7fwv3sk6atn9e5k7lthdsz