Why Nostr? What is Njump?
2025-04-25 14:39:54
in reply to

vinney on Nostr: oh no, is it doing that thing where the reply looks like a standalone note again? ...

oh no, is it doing that thing where the reply looks like a standalone note again?

In Nostr, all data is stored as events. Decentralization is achieved by storing events on multiple relays, with signatures proving the ownership of these events. However, if you truly want to own your events, you should run your own relay to store them. Otherwise, if the relays you use fail or intentionally delete your events, you’ll lose them forever.

For most people, running a relay is complex and costly. To solve this issue, I developed nostr-relay-tray, a relay that can be easily run on a personal computer and accessed over the internet.

Project URL: https://github.com/CodyTseng/nostr-relay-tray

This article will guide you through using nostr-relay-tray to run your own relay.

Download

Download the installation package for your operating system from the GitHub Release Page.

Operating System File Format
Windows nostr-relay-tray.Setup.x.x.x.exe
macOS (Apple Silicon) nostr-relay-tray-x.x.x-arm64.dmg
macOS (Intel) nostr-relay-tray-x.x.x.dmg
Linux You should know which one to use

Installation

Since this app isn’t signed, you may encounter some obstacles during installation. Once installed, an ostrich icon will appear in the status bar. Click on the ostrich icon, and you’ll see a menu where you can click the “Dashboard” option to open the relay’s control panel for further configuration.

image

macOS Users:

  • On first launch, go to “System Preferences > Security & Privacy” and click “Open Anyway.”
  • If you encounter a “damaged” message, run the following command in the terminal to remove the restrictions:
sudo xattr -rd com.apple.quarantine /Applications/nostr-relay-tray.app

Windows Users:

  • On the security warning screen, click “More Info > Run Anyway.”

Connecting

By default, nostr-relay-tray is only accessible locally through ws://localhost:4869/, which makes it quite limited. Therefore, we need to expose it to the internet.

In the control panel, click the “Proxy” tab and toggle the switch. You will then receive a “Public address” that you can use to access your relay from anywhere. It’s that simple.

Next, add this address to your relay list and position it as high as possible in the list. Most clients prioritize connecting to relays that appear at the top of the list, and relays lower in the list are often ignored.

image

Restrictions

Next, we need to set up some restrictions to prevent the relay from storing events that are irrelevant to you and wasting storage space. nostr-relay-tray allows for flexible and fine-grained configuration of which events to accept, but some of this is more complex and will not be covered here. If you’re interested, you can explore this further later.

For now, I’ll introduce a simple and effective strategy: WoT (Web of Trust). You can enable this feature in the “WoT & PoW” tab. Before enabling, you’ll need to input your pubkey.

There’s another important parameter, Depth, which represents the relationship depth between you and others. Someone you follow has a depth of 1, someone they follow has a depth of 2, and so on.

  • Setting this parameter to 0 means your relay will only accept your own events.
  • Setting it to 1 means your relay will accept events from you and the people you follow.
  • Setting it to 2 means your relay will accept events from you, the people you follow, and the people they follow.

Currently, the maximum value for this parameter is 2.

image

Conclusion

You’ve now successfully run your own relay and set a simple restriction to prevent it from storing irrelevant events.

If you encounter any issues during use, feel free to submit an issue on GitHub, and I’ll respond as soon as possible.

Not your relay, not your events.



CC
Author Public Key
npub19ma2w9dmk3kat0nt0k5dwuqzvmg3va9ezwup0zkakhpwv0vcwvcsg8axkl