Thread

Zero-JS Hypermedia Browser

Relays: 5
Replies: 7
Generated: 08:40:06
I’ve built a service that backs up nostr events. More precisely, it synchronizes between relays. There have probably been similar tools before, but what sets this apart is that it strictly synchronizes based on the outbox model. Well, maybe something like this already exists too, but who cares? The world is full of similar programs anyway. https://tajava2006.github.io/sync-nostr-relay/ The usage is simple: just enter your npub and press the sync button below. From that moment, it starts going back in time until there are no more events to fetch, syncing the relays as it goes. It queries notes in chronological order and republishes them only to the relays where they’re missing. It syncs the posts I’ve written only to my write relays, and the posts I need to read only to my read relays. This whole idea was inspired by this post I deeply resonated with: nostr:naddr1qq2nskt2w9vx6dznfdvj64rpw4mk5nmxf3v9xqg4waehxw309aex2mrp0yhxgctdw4eju6t09upzp978pfzrv6n9xhq5tvenl9e74pklmskh4xw6vxxyp3j8qkke3cezqvzqqqr4guvtytln Because of that, the sync feature is not provided to users who have registered too many relays. This should be helpful when you’ve changed your relay configuration and want to back up your past notes to newly added relays.
2025-04-13 09:16:36 from 1 relay(s) 4 replies ↓
Login to reply

Replies (7)

Thanks for the feedback. There’s still a lot to add — like automatic reconnection on socket failure, user-configurable sleep time, auth support for users of paid relays, and more — but I decided to just release it for now. I hope people find it useful, but I’m a bit worried there might be some bugs lol.
2025-04-13 13:35:47 from 1 relay(s) ↑ Parent Reply
seems like it would be quite useful for catching what you sent with actual outbox clients, but outbox is actually a second level of complexity above this, maybe you can build this out: sometimes it may happen that your outbox capable client failed to send an event to your outbox relays, or, maybe you changed them, and messages that you sent would get missed but your follow list contains a list of users, if you gathered their relay lists you could then make an extended search to catch the stray stuff that for whatever reason (ie, using a non-outbox client to publish a message, or relays down) you didn't find by looking at your outboxes seaching your follows for their inboxes would give you a second phase to the process and then you would definitely catch the dregs at the end of the bottle
2025-04-13 14:24:12 from 1 relay(s) ↑ Parent 1 replies ↓ Reply
You're talking about notes that, for whatever reason, don't appear on any of the user's current outbox relay list, right? Yeah, those definitely slip through. I actually thought about trying to catch those too, but decided it’d be better to start with a simpler version first. Along with what you mentioned below, that’s definitely something I should try implementing next. If that works, it might as well be called Nostr archaeology.
2025-04-14 00:08:49 from 1 relay(s) ↑ Parent Reply
I lost the private key for nostr:nprofile1qqsgzegfsfjf3ml8fyz0rph56z0zhxrm8ygnktgt9pvk3s5g9xfcp7spz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9mhwden5te0wfjkccte9ec8y6tdv9kzumn9wshsz8mhwden5te0dehhxarj9e5x7ursv5khyetvv9uju6t59e3k7mf0dmh7ep and it's impossible to recover it, so I created a new account. I hope you all manage your secret keys well
2025-05-19 12:49:01 from 1 relay(s) ↑ Parent Reply