Nostr I2P Relay Tutorial So I saw Ryan's post on how you can run your own Nostr relay over Tor using Citrine and figured I would try the same on I2P. It took quite a bit of trial error, but eventually I got it to work. You will need: - Android (unless Amethyst becomes available on iOS) - Amethyst installed - Citrine installed - I2P installed ***Citrine Configuration*** First, you will need to set up your local relay on Citrine. The default port is 4869, but I changed it to 8080. You can change it to any port you want. You also need to put your npub as relay contact. image Once you have done that, you will also need to whitelist your npub in accept events signed by and events that refer to so you'll be allowed to post using the local relay. image It's also a good idea to enable authentication if you want WoT for your relay to lock things down. image ***I2P Configuration*** Now that Citrine is configured. You must configure I2P so it can route Nostr traffic over the I2P network. It doesn't matter what kind of I2P service you use for this step, but for my case, I preferred using I2Pd on Invizible Pro because it was the simplest way. In your tunnels.conf, write the following configuration for your I2P Nostr relay: /``````[Nostr Server] type = server host = localhost port = 8080 # Same port that you used on Citrine keys = nostr-server.dat inbound.length = 8 inbound.quantity = 16 outbound.length = 8 outbound.quantity = 16 The configuration will be different if you use a different I2P iteration, such as I2P . After doing this, I restarted I2Pd and then went to 127.0.0.1:7070 to get my address for my relay. image Once you see your relay, you have completed the steps on I2P. image ***Adding relays to Nostr*** If you haven't already, add your Citrine relay to Amethyst by pressing your PFP and going to Relays. Once there, scroll down to Local Relays and add your Citrine relay, which will be ws://127.0.0.1:your-port image Once you've done, add your Nostr I2P relay address to your Public Outbox, Public Inbox, DM Inbox, and Private Home Relays. Your address will be in this format: ws://your-address.b32.i2p:your-port Once you have done that, hit Save and you are finished. Now it may take a few minutes and you may start getting these errors, but they'll go away soon because I2P relays tend to be slower than Tor relays from my experience. I have my own I2P Nostr relay if you want to try it out. I look forward to seeing how it functions over the next few days. Let just me know if you're interested and I'll add you to the whitelist. My relay is below. ws://6skmgu3kgo527fpkofbi5srubrj4tqmxbozvn5ubrwh2jyo7lmva.b32.i2p:8080 Stay sovereign my friends! #Nostr #Tor #I2P #I2Pd #Amethyst #Citrine #Tutorial #DIY #Zap #Citrine
Ryan's avatar Ryan
#Amethyst Tricks How to run a private relay over Tor on Android. With the latest Amethyst supporting outbox & Tor this is more feasible than ever. Host one of your outbox relays on your phone, totally under your control. 🔹Citrine setup Go to the settings tab. image Fill things in as appropriate. Leave the network related settings default. image Under "Accept events that refer to" add your npub. This will keep extraneous events from clogging your relay, but still allow DM to function. Note: If you add your npub to "Accept events signed by" your DM partner will not be able to send messages to your relay. You would need to add their npub as well. Maybe a security feature? 🔹Orbot setup In orbot got to more > hosted onion services. Add a new service. Citrine uses port 4869, so set that for both ports. Name it anything. "Nostr" will do. You will need to restart orbot after you save. Then you can go back and copy your onion service address. You'll need it for the next step. 🔹Amethyst Setup Add ws://ONIONADDRESS:4869 as Outbox and DM relays in Amethyst. image Also add ws://127.0.0.1:4869 as a local relay. image You should be able to check the relay info in Amethyst by clicking on the icon. It should now reflect what you have set in Citrine! image 😎👌 Software required https://github.com/vitorpamplona/amethyst https://github.com/greenart7c3/Citrine https://github.com/guardianproject/orbot View quoted note →
View quoted note →

Replies (6)

.'s avatar
. 4 months ago
Very nice. Well done. I don't know much about i2p or i2pd inviszible pro but will try and look into it. Thanks!
now, ERROR: Unable to resolve host "6skmgu3kgo527fpkofbi5srubrj4tqmxbozvn5ubrwh2jyo7lmva.b32.i2p": No address associated with hostname
Default avatar
Testyboi 3 months ago
I'm getting that too when I try to add the .b32.i2p address into the public relay areas. I also used a proxyvpn rule to force all traffic over the i2p proxy.