I think the issue of spam in Global Feed can be solved easier if feature like "Keyword Filter" were implemented in every Nostr client. In this case, every user can choose whatever they want to see in their Feed.

This is a bit of implementation for Snort. I believe other client can also implement similar features. Sorry, for my dirt code 😅

Snippet:

https://pastebin.com/Ma05TzkS

Cc #[0] #[1] #[2] #[3] #[4]

Reply to this note

Please Login to reply.

Discussion

This is a filter you apply to the content once it's on your end right? I'm against complicating the protocol (and probably relays performance) but something similar as a filter to the relay would be cool

Yes, this is only applicable sample in client side. I modified Snort code locally only running on my phone. I think I have 90% free of spam with this simple approach. Probably, most of spam is advertising type spam could be solved like this.

I think for complex spam message should be addressed by relay using various strategy (rate-limit, text similarity analysis, etc). We don't need to list all the keyword. At least, we as the simple user could filter on our end.

Yea it's a good candidate for Lists NIP-51

Haha, well not sure for the NIP spec. I don't think i have clear idea. This is only on the basic client side. 😅

Yep, I have tried as well, but it's a little confusing to setup and it doesn't solve the data & memory use issue. Now that they are updating Metadata for each new user as well, the it's a heavy load to manage in the client side.

I prefer things like: if a similar post already exist put it on hold at the relay level. If a user reports a 1984 event, it's valid for all similar posts. It's quite aggressive and can be gamed, but relay tooling can help manage that.

Yes, agree. It is hard if the filter keyword list is too big. I'm not sure how to optimized for each client implementation. But, the idea is probably to give user Filter Menu in Settings so we can add it manually as Global Filter Keyword.

Setting > Filtering > Whitelist/Blacklist Keyword