I finished my first useful python script, using my pynostr python library.

The script fetches the complete list of relays from https://api.nostr.watch/v1/online and requests from all relays my CONTACTS event.

Then the script checks if date and the follower count.

Finally the newest event is broadcasted to all relays that have a old version of my contact list. The best part is that my script does not need a private key.

Before:

wss://nos.lol: 2023-02-18 09:24:26 - 271

wss://nostr-pub.wellorder.net: 2023-02-05 15:17:34 - 205

wss://nostr.hackerman.pro: 2023-01-12 13:15:32 - 48

wss://relay.nostr.scot: 2023-02-05 10:52:12 - 204

wss://relay.nostr.band: 2023-02-18 09:24:26 - 271

wss://nostr.swiss-enigma.ch: 2023-01-11 15:34:37 - 17

wss://nostr.cercatrova.me: 2023-01-11 15:34:37 - 17

wss://relay.damus.io: 2023-02-18 09:24:26 - 271

wss://relay.current.fyi: 2023-02-18 09:24:12 - 264

wss://nostr-relay.digitalmob.ro: 2022-12-18 20:23:21 - 1

wss://nostr-verif.slothy.win: 2022-12-18 20:23:21 - 1

wss://relay.nostrich.de: 2023-02-18 09:24:26 - 271

wss://relay.wellorder.net: 2023-02-05 15:17:34 - 205

wss://nostr.coinos.io: 2023-01-12 13:15:32 - 48

wss://relay.austrich.net: 2023-02-18 09:23:32 - 255

wss://relay.nostrview.com: 2023-02-18 09:23:32 - 255

wss://relay.nostrati.com: 2023-02-18 09:23:32 - 255

wss://nostr.radixrat.com: 2023-02-10 09:06:31 - 213

wss://knostr.neutrine.com: 2023-02-12 13:50:35 - 219

wss://relay-pub.deschooling.us: 2023-01-16 11:36:50 - 91

wss://nostr.bostonbtc.com: 2023-02-10 09:06:31 - 213

wss://nostr.rdfriedl.com: 2023-01-27 19:45:06 - 171

wss://nproxy.kristapsk.lv: 2023-02-18 09:24:26 - 271

wss://relay.orangepill.dev: 2023-02-18 09:23:32 - 255

wss://nostr.wine: 2023-02-18 09:24:26 - 271

wss://atlas.nostr.land: 2023-01-27 19:45:06 - 171

wss://no.str.cr: 2023-02-18 09:24:26 - 271

wss://offchain.pub: 2023-02-16 20:50:23 - 250

wss://nr.yay.so: 2022-12-18 20:23:21 - 1

wss://nproxy.zerologin.co: 2023-02-18 09:24:26 - 271

After:

wss://nostr-pub.wellorder.net: 2023-02-18 09:24:26 - 271

wss://nos.lol: 2023-02-18 09:24:26 - 271

wss://nostr-verif.slothy.win: 2022-12-18 20:23:21 - 1

wss://relay.nostrich.de: 2023-02-18 09:24:26 - 271

wss://relay.nostr.band: 2023-02-18 09:24:26 - 271

wss://relay.nostr.scot: 2023-02-18 09:24:26 - 271

wss://relay.wellorder.net: 2023-02-18 09:24:26 - 271

wss://nostr.cercatrova.me: 2023-02-18 09:24:26 - 271

wss://nostr.swiss-enigma.ch: 2023-02-18 09:24:26 - 271

wss://relay.austrich.net: 2023-02-18 09:24:26 - 271

wss://relay.nostrview.com: 2023-02-18 09:24:26 - 271

wss://nostr.hackerman.pro: 2023-02-18 09:24:26 - 271

wss://relay.nostrati.com: 2023-02-18 09:24:26 - 271

wss://nostr.bostonbtc.com: 2023-02-18 09:24:26 - 271

wss://relay.damus.io: 2023-02-18 09:24:26 - 271

wss://relay.current.fyi: 2023-02-18 09:24:26 - 271

wss://knostr.neutrine.com: 2023-02-18 09:24:26 - 271

wss://relay-pub.deschooling.us: 2023-02-18 09:24:26 - 271

wss://relay.orangepill.dev: 2023-02-18 09:24:26 - 271

wss://nostr.radixrat.com: 2023-02-18 09:24:26 - 271

wss://nostr.rdfriedl.com: 2023-02-18 09:24:26 - 271

wss://nostr.wine: 2023-02-18 09:24:26 - 271

wss://nostr.coinos.io: 2023-02-18 09:24:26 - 271

wss://nproxy.kristapsk.lv: 2023-02-18 09:24:26 - 271

wss://no.str.cr: 2023-02-18 09:24:26 - 271

wss://offchain.pub: 2023-02-16 20:50:23 - 250

wss://nproxy.zerologin.co: 2023-02-18 09:24:26 - 271

wss://relay.nostr.bg: 2023-02-16 20:50:23 - 250

wss://nproxy.zerologin.co: 2023-02-18 09:24:26 - 271

Let me know if I should run your pubkey

Reply to this note

Please Login to reply.

Discussion

After an relay url, you see the event date followed by my following count.

Nice one! Can you find old contact lists where they’ve wrongly repropagated when switching between clients?

Had so much trouble with losing following etc, this seems to be super! Mind shooting my npub in there?

wss://nos.lol: 2023-02-17 22:15:54 - 665

wss://relay.nostr.band: 2023-02-17 22:15:54 - 665

wss://relay.austrich.net: 2023-02-17 22:15:54 - 665

wss://relay.nostrview.com: 2023-02-17 22:15:54 - 665

wss://nostr.inosta.cc: 2023-02-17 22:15:54 - 665

wss://relay.nostrati.com: 2023-02-17 22:15:54 - 665

wss://nproxy.kristapsk.lv: 2023-02-17 22:15:54 - 665

wss://nostr.wine: 2023-02-17 22:15:54 - 665

wss://relay.damus.io: 2023-02-17 22:15:54 - 665

wss://nproxy.zerologin.co: 2023-02-17 22:15:54 - 665

wss://relay.current.fyi: 2023-02-17 22:15:54 - 665

wss://nostr.mom: 2023-02-17 22:03:29 - 660

wss://e.nos.lol: 2023-02-17 22:03:28 - 659

wss://nostr-pub.wellorder.net: 2023-02-15 21:35:35 - 609

wss://relay.wellorder.net: 2023-02-15 21:35:35 - 609

wss://nostr.blocs.fr: 2023-02-15 21:35:35 - 609

wss://nostr.sandwich.farm: 2023-02-15 21:35:35 - 609

wss://lbrygen.xyz: 2023-02-15 08:13:38 - 607

wss://nostr.developer.li: 2023-02-13 16:10:01 - 602

wss://nostr.swiss-enigma.ch: 2023-02-13 16:10:01 - 602

wss://nostr.cercatrova.me: 2023-02-13 16:10:01 - 602

wss://nostr.relayer.se: 2023-02-13 15:58:54 - 22

wss://nostr.beta3.dev: 2023-02-13 15:58:54 - 22

wss://nr.yay.so: 2023-02-13 15:58:54 - 22

wss://knostr.neutrine.com: 2023-02-12 12:30:57 - 0

wss://nostr.radixrat.com: 2023-02-12 10:28:21 - 0

wss://nostr.bostonbtc.com: 2023-02-10 09:42:12 - 479

wss://nostr.sidnlabs.nl: 2023-02-09 11:04:55 - 522

wss://nostr.bitcoin-21.org: 2023-02-07 21:59:43 - 504

wss://relay.plebstr.com: 2023-02-06 16:12:10 - 480

wss://relay.nostr.ro: 2023-02-04 16:54:53 - 427

wss://relay.nostrich.de: 2023-02-01 12:25:04 - 408

wss://nostr.rdfriedl.com: 2023-01-27 23:49:14 - 403

wss://relay.nostr.scot: 2023-01-25 21:39:53 - 383

wss://nostr.hackerman.pro: 2023-01-25 12:33:37 - 377

wss://nostr.vulpem.com: 2023-01-23 22:33:18 - 212

wss://nostr.coollamer.com: 2023-01-23 22:33:18 - 212

wss://relay.nostr.info: 2023-01-21 06:15:08 - 98

----

newest event 2023-02-17 22:15:54 - 665

most follower 2023-02-17 22:15:54 - 665

Thanks! Zapped some! This seems to be the before, or is this the after?

Thanks for your zap :):

This is your new list after broadcasting your newest type 3:

wss://nostr-pub.wellorder.net: 2023-02-17 22:15:54 - 665

wss://nos.lol: 2023-02-17 22:15:54 - 665

wss://nostr.einundzwanzig.space: 2023-02-17 22:15:54 - 665

wss://nostr.mom: 2023-02-17 22:15:54 - 665

wss://nostr.developer.li: 2023-02-17 22:15:54 - 665

wss://relay.nostr.scot: 2023-02-17 22:15:54 - 665

wss://relay.nostr.band: 2023-02-17 22:15:54 - 665

wss://nostr.cercatrova.me: 2023-02-17 22:15:54 - 665

wss://nostr.swiss-enigma.ch: 2023-02-17 22:15:54 - 665

wss://relay.damus.io: 2023-02-17 22:15:54 - 665

wss://nostr.hackerman.pro: 2023-02-17 22:15:54 - 665

wss://relay.nostr.ro: 2023-02-17 22:15:54 - 665

wss://nostr.vulpem.com: 2023-02-17 22:15:54 - 665

wss://relay.current.fyi: 2023-02-17 22:15:54 - 665

wss://relay.wellorder.net: 2023-02-17 22:15:54 - 665

wss://relay.plebstr.com: 2023-02-17 22:15:54 - 665

wss://knostr.neutrine.com: 2023-02-17 22:15:54 - 665

wss://nostr.bitcoin-21.org: 2023-02-17 22:15:54 - 665

wss://nostr.blocs.fr: 2023-02-17 22:15:54 - 665

wss://nostr.radixrat.com: 2023-02-17 22:15:54 - 665

wss://relay.austrich.net: 2023-02-17 22:15:54 - 665

wss://nostr.bostonbtc.com: 2023-02-17 22:15:54 - 665

wss://relay.nostrview.com: 2023-02-17 22:15:54 - 665

wss://nostr.sidnlabs.nl: 2023-02-17 22:15:54 - 665

wss://nostr.inosta.cc: 2023-02-17 22:15:54 - 665

wss://relay.nostrati.com: 2023-02-17 22:15:54 - 665

wss://lbrygen.xyz: 2023-02-17 22:15:54 - 665

wss://nostr.rdfriedl.com: 2023-02-17 22:15:54 - 665

wss://e.nos.lol: 2023-02-17 22:15:54 - 665

wss://relay.orangepill.dev: 2023-02-17 22:15:54 - 665

wss://nproxy.kristapsk.lv: 2023-02-17 22:15:54 - 665

wss://nostr.wine: 2023-02-17 22:15:54 - 665

wss://nostr.relayer.se: 2023-02-13 15:58:54 - 22

wss://relay.nostrich.de: 2023-02-01 12:25:04 - 408

wss://nostr.coollamer.com: 2023-01-23 22:33:18 - 212

wss://relay.nostr.info: 2023-01-21 06:15:08 - 98

Damn, almost all, thank you so much!

I'd love to have mine ran as well. Are you planning to open the code you used?

I will open source the complete script, but I will first improve and test the code.

Before my script:

wss://nostr-pub.wellorder.net: 2023-02-18 06:26:05 - 320

wss://nos.lol: 2023-02-18 06:26:05 - 320

wss://relay.nostr.band: 2023-02-18 06:26:05 - 320

wss://relay.wellorder.net: 2023-02-18 06:26:05 - 320

wss://relay.lexingtonbitcoin.org: 2023-02-18 06:26:05 - 320

wss://relay.current.fyi: 2023-02-18 06:26:05 - 320

wss://relay.nostrview.com: 2023-02-18 06:26:05 - 320

wss://relay.damus.io: 2023-02-18 06:26:05 - 320

wss://nostr.wine: 2023-02-18 06:26:05 - 320

wss://nostr.globals.fans: 2023-02-18 06:26:05 - 320

wss://no.str.cr: 2023-02-18 06:26:05 - 320

wss://nproxy.kristapsk.lv: 2023-02-18 06:26:05 - 320

wss://nproxy.zerologin.co: 2023-02-18 06:26:05 - 320

wss://nostr.mom: 2023-02-14 16:07:10 - 306

wss://e.nos.lol: 2023-02-14 16:07:10 - 306

wss://knostr.neutrine.com: 2023-02-12 13:03:29 - 299

wss://nostr.radixrat.com: 2023-02-10 17:57:11 - 291

wss://nostr.einundzwanzig.space: 2023-02-06 15:19:28 - 271

wss://nostr.sg: 2023-02-06 15:19:28 - 271

wss://nostrpro.xyz: 2023-02-06 15:19:28 - 271

wss://relay.nostrati.com: 2023-02-06 14:32:12 - 270

wss://relay.nostr.scot: 2023-02-05 08:43:05 - 250

After running my script:

wss://nos.lol: 2023-02-18 06:26:05 - 320

wss://nostr-pub.wellorder.net: 2023-02-18 06:26:05 - 320

wss://nostr.einundzwanzig.space: 2023-02-18 06:26:05 - 320

wss://relay.nostr.band: 2023-02-18 06:26:05 - 320

wss://relay.nostr.scot: 2023-02-18 06:26:05 - 320

wss://nostr.mom: 2023-02-18 06:26:05 - 320

wss://relay.wellorder.net: 2023-02-18 06:26:05 - 320

wss://relay.damus.io: 2023-02-18 06:26:05 - 320

wss://relay.current.fyi: 2023-02-18 06:26:05 - 320

wss://relay.nostrview.com: 2023-02-18 06:26:05 - 320

wss://relay.nostrati.com: 2023-02-18 06:26:05 - 320

wss://relay.lexingtonbitcoin.org: 2023-02-18 06:26:05 - 320

wss://nostr.radixrat.com: 2023-02-18 06:26:05 - 320

wss://e.nos.lol: 2023-02-18 06:26:05 - 320

wss://nostr.wine: 2023-02-18 06:26:05 - 320

wss://nproxy.kristapsk.lv: 2023-02-18 06:26:05 - 320

wss://nproxy.zerologin.co: 2023-02-18 06:26:05 - 320

wss://knostr.neutrine.com: 2023-02-18 06:26:05 - 320

wss://nproxy.cc: 2023-02-18 06:26:05 - 320

wss://nostr.sg: 2023-02-18 06:26:05 - 320

wss://nostrpro.xyz: 2023-02-18 06:26:05 - 320

So, a nostr event kind 3, does not need a signature?

Every event needs a valid signature, I'm just rebroadcasting an already signed event to relays which do not have the newest version.

Ah, ok. Thank you!