Hello #nostr, this is my first note, after mostly lurking as silent reader for a while πŸ˜„ Happy to introduce my first nostr project, , an aggregator filter relay which classify notes/posts into various category. This relay can be used mainly as "Global" relay in nostr clients, helping users to filter their global feed. Currently, it has already several filtering features (also planned features listed): - Language detection - Not SFW or SFW image content detection - User type filtering (Nostr non-bridged/regular user, activitypub/mostr pub bridged user) - (Planned) Sentiment analysis - (Planned) Topic classification - (Planned) Hate speech detection Feel free to check "USAGE" docs in Github for more information and examples on how to use the relay. There is a public demo (beta/test) relay wss://nostr-id-relay.hf.space for those who can't run their own nostr-filter-relay software. Feel free to test the relay, although the performance is not always guaranteed, since this is only a test server.

Replies (25)

Great! Tell me please, you have extracted some additional data for events (language, category, etc) β€” what is your vision on how existing clients could use it? Or do you only expect new clients (or features in existing clients) to handle your relay?
You can do anything, if you love or prefer to write content or love writing article then you can probably write your thought with notes or article (NIP-23). Even our rants sometimes are useful for others πŸ˜…
Thank you. I think if this becomes standard then existing clients can query those additional data (currently kind 9978) using certain tag (currently d tag) limited to certain pubkey filter (currently with my bot pubkey). Clients can give certain filters option in their settings for users to be picked (language, category, etc). If there are other data providers then they can pick other data providers (other pubkey) so users have freedom to choose whatever algo/filter method they want. Before that, i will check whether better use NIP-32 implementation or stay with current implementation. πŸ˜…
Oh, you can probably start with repository since there are many NIPs to learn πŸ˜…. You can probably pick some idea and start implement it even with simple PoC code, at least they can be useful for ourself. Hopefully we can create something better later for many people πŸ™‚
Yes, it will be easier to use those libraries to start nostr project instead of writing all the things from scratch πŸ‘
Thank you Mazin. This is partly inspired when you've introduced some classification in api.nostr.wine before and how you've tell us the problem of it is quite costly when using commercial products like ChatGPT and DeepL. So i'm trying to make the 'poor man' version of those, hoping it can works πŸ˜…
Very nice, amazing! Does it (also) act like a proxy? I see you can configure other relays (RELAYS_SOURCE) in the .env so I assume it will fetch events from those?
Thank you. Yes, it acts like frontend proxy before forwarding any request into the backend (strfry internal relay). However, RELAYS_SOURCE determines where to fetch/aggregate Nostr events (kind 1) before classifying them into various category and send them into target relay (strfry internal relay). UPSTREAM_WS_URL is the correct one for settings which relay to be the target of proxy. I have run several tools in this docker image, maybe it makes a bit confusing πŸ˜…
Yes, nostr-filter comments come from upstream (imksoo/nostr-filter), haven't touch any of those yet. imksoo-san primarily makes this mainly for their Japanese relay at first. I can understand a bit based only on the code written πŸ˜‚
You can probably try wss://nostr-id-relay.hf.space . By default it will use parameter: content=sfw to filter non sfw content. Users can change freely various parameter even to disable it (content=all). You can check usage docs in github. View quoted note β†’
nostr:npub1qd6zcgzukmydscp3eyauf2dn6xzgfsevsetrls8zrzgs5t0e4fws7re0mjthank you for the first boosting my first note, otherwise it will be drowned in void πŸ™ I have noticed that some Thai users have used nostr-filter-relay? How are the experiences? Does it help for browsing global feed?
Thank you, glad to hear that. 😊 Did you and other users use custom parameters or default setting? Like language setting to Thai for example? Let me know if you have some problems/errors or suggestions.
↑