Avatar
Rif'at Ahdi R
2b67e480b7f99d2835684a8f7276d86edbe8e318ea55cf77ccfd559c5f24f645
Special family-friendly relay with filter settings (Language, Safe For Work, Hate speech, Sentiment, Topic, etc) for Global Feed: https://github.com/atrifat/nostr-filter-relay/blob/main/USAGE.md wss://nfrelay.app Indonesian. Learning and interested in PHP, JS, Go, DevOps, Android, and Machine Learning

Facebook? Usually Bapak-bapak banyak yang masih pakai ๐Ÿ˜…

Yes, there is two options. Damus implement public mute list. Amethyst private list (buth can adapt to existing public list) and Snort can do both clearly. Depend on Clients.

>Even the content was encrypted, the "tags" remains unencrypted.

NIP-51 defines that clearly.

>Unfortunately i do not see a client that has option to not publish a mute list publicly.

Snort have both options.

My reply above for your statement in this claim. Which is not true.

No. NIP-51 clearly defined that private mute list (tags) should be encrypted in "content" event field

https://github.com/nostr-protocol/nips/blob/master/51.md#encryption-process-pseudocode

Amethyst for example has done that properly by encrypting the tags in content field

https://github.com/vitorpamplona/amethyst/blob/bb0d8f186b687e14c256fc1e10149823e7c6e512/quartz/src/main/java/com/vitorpamplona/quartz/events/MuteListEvent.kt#L64

AFAIK, Snort support both public and private list. Block button for private list and mute button for public list.

nostr-filter-relay v0.2.0 update

"Give us tools/options to help curating our global feed"

This release bring several code improvements, security fix, better documentation, and mark the completion step of nostr-filter-relay target features as follows:

- Language filter

- User type filter (Nostr native user/non bridged user, activitypub/mostr bridged user)

- SFW/Non SFW image content filter

- (New ๐Ÿš€) Hate speech (Toxic comment) filter

- (WIP - Next) Sentiment analysis

- (Planned - Next) Topic classification

All filtering features can be easily disabled (opt-out) with parameters content=all as shown by this example:

wss://nostr-id-relay.hf.space/?content=all

Feel free to check USAGE.md documentation for more Examples on how to use nostr-filter-relay.

Two major features left that will become the next development target:

- (WIP) Sentiment analysis

- (Planned) Topic classification

What's Changed?

- feature: hate speech (toxic comments) detection support

- build: update nostr-monitoring-tool and nostr-filter dependency

- docs: explanation of nostr-filter-relay architecture and flowchart

- All detail update for nostr-filter and nostr-monitoring-tool in release note link

#nostr-filter-relay Release Note v0.2.0:

https://github.com/atrifat/nostr-filter-relay/releases/tag/v0.2.0

Ideally, nostr clients provide options to pick whether they want to publish encrypted or public list. Public list useful for client that offer using other people public mute list (nos.social has that feature). By default it should be better encrypted or private, otherwise it will male drama fpr some people ๐Ÿ˜„

Word mute in Amethyst, Snort, Nostrudel. I think Damus should have that, it is essential feature that can help Damus users curate their feed

Yes, thank you Mazin for all your suggestions. I really need to add that later as backlog. The last time i have checked the relay has peak of 1500+ connections, while normally around 20-30 alive connections. Thankfully it seems only affect a little bit with relay performance ๐Ÿ˜…

Ah, good to know, thank you. Well i think it is fine for now as the relay won't likely hit the limit

The last question might be related how you handle malicious bot traffic that open multiple websocket connection. Does the value below can help mitigate that a bit?

#Websocket-level PING message frequency (should be less than any reverse proxy idle timeouts) (restart required)

autoPingSeconds = 55

#If TCP keep-alive should be enabled (detect dropped connections to upstream reverse proxy)

enableTcpKeepalive = true

It's ok Mazin, thank you for your suggestions. ๐Ÿ™‚

I see. Yes, i have increased maxreaders as experiment since the relay focused as read-only relay. So not sure whether it will impact overall performance.

Oh, is it ok to leave noReadAhead same as default? I think in my case it will be ok because i have set regular cleanup data script (max 7 days retention). Also, huggingface can also occasionally restart the vm on their own so it get flushed easily before hitting memory limit ๐Ÿ˜…

Yes, it is truly limited. Unfortunately.

It's invisible, only the owner can see the latest tech of his laptop ๐Ÿ˜„