I wanted to share a project I've been working on in my spare time: relay.guideThe goal is to help people discover relays to join. Right now it can help find relays by:
Paid / free Name or keyword (weedstr, damus, etc) By the recommended relays of people you follow or like. (relay.guide/relay-lists)
You can also look at each relay's metadata. I also added a tool that may be useful to devs to be able to query the events on that relay by kind or author pubkey, etc (relay.guide/inspector)
I tried to make it easy to copy relay info so you can update your relays if you find an interesting relay through this.
It's similar to nostr.watch but I'm hoping to add some novel capabilities soon:
Discovering relays by the relay lists of others Discover by relay community preferences and/or language tags (most don't publish this yet, but I'm going to reach out to folks and advocate for it) Add the ability to manage your relay list from this app (auth with Alby or similar and add / remove relays right from the discovery tools)
The code is open source so feel free to log issues or make suggestions or contribute! github.com/gregorygmwhite/nostr-relay-explorer
Feedback welcome!
backend/explorer/validators/urls.py
, thevalidate_url
function might raise an exception if the URL is not valid. It would be good to handle this exception gracefully.backend/explorer/tasks/update_metadata.py
, theupdate_metadata
function makes an HTTP request without handling potential exceptions that might occur during the request. It might be beneficial to add error handling here.backend/nostr_relay_explorer/settings.py
, sensitive information like secret keys and database credentials might be exposed. It's recommended to use environment variables or a separate configuration file to store such information securely.update_metadata
do have try except blocks around them to process any errors and re-raise if appropriate.