Avatar
9839a36d
9839a36d51b5f190497f9b2d268ee08903eec7f5ed2e9ae3ceeb5db89aabba10
wss://relay.nostrich.de operator pynostr dev - https://github.com/holgern/pynostr

GM, my #relay wss://relay.nostrich.de is running smoothly again, forgot to renew my certificate 🤦‍♂️

Read an interesting Twitter thread: https://twitter.com/level39/status/1632240495396044800?t=qX8lpBQEB_C6IBBx8xILaA&s=19

from level39 (is he on nostr?).

The threat is about losing your identity when you lost access to your nsec or NIP05 domain.

I thing this will not a problem in the long run as I'm confident there will be several solutions on nostr regarding these problems (Delegation, key deriving, multisig, key invalidation, did on nostr,... to name a few solutions)

New release 0.5.0 of pynostr

In this release the timeout parameter has moved to the class init function.

relay_manager.run_sync(timeout=2) ->

relay_manager = RelayManager(timeout=2)

relay_manager.run_sync()

and

io_loop.run_sync(r.connect, timeout=2) ->

io_loop.run_sync(r.connect)

I added a new example for sending and receiving dms:

https://void.cat/d/M7CgHTmFnAfSAfedFGiwx6.webp

https://void.cat/d/QaeXj1371iDytBMhfL31gH.webp

https://github.com/holgern/pynostr

You can also use the following Python Script. It shows the fee for online paid relays + the number of unique pubkeys.

https://github.com/holgern/pynostr/blob/main/examples/paid_relay_users.py

New version of my Python library pynostr is released

https://github.com/holgern/pynostr

It uses now the tornado websocket implementation. I added two examples, more will follow.

True, at least I watched the video before posting. I forget almost all about complex numbers...

## How to setup your own relay with nip05 authentication

I'm using a contabo CLOUD VPS M with NVMe and I'm using nostr-rs-relay with sqlite.

nostr-rs-relay does not work on ubuntu 20.04, so I'm using ubuntu 22.04

I mainly followed

https://github.com/BlockChainCaffe/Nostr-Relay-Setup-Guide

Addionially I needed to install protobuf

apt install protobuf-compiler

and I added

proxy_read_timeout 1d;

proxy_send_timeout 1d;

to the nginx conf in location / { } of listen 443 SSL;

The config.toml needs to be changed and

[verified_users]

mode = "enabled"

must be added.

let me know if you have questions are getting stuck during setup.

That happened during moving to the new server. I shortly removed the nip05 requirements for debugging.

Using nip05 works quite fine in fighting spam. Especially as I can blacklist domains.

I just learned that the nostr-rs-relay is confused when using the same pubkey more than once in the nostr.json for NIP05 validation.

Meaning not a single of my events was stored on my on relay 😥

He was shutted down, as he was getting to expensive.

My relay wss://relay.nostrich.de run's now on a more powerful server. (16 GByte ram, 6 cores and NVMe). Using NVMe really makes a difference, everything is much faster than before.

There are currently some good offers from contabo.com (double amount of storage for free). They are quite cheap and a good starting point for your new relay :).

777777 on my btc-ticker (check btc-ticker.com)

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

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

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