Replying to Avatar hoppe

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.

Nice! I've been wanting to build something like this, syncing based on 10002 is a missing piece of the ecosystem

Reply to this note

Please Login to reply.

Discussion

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.