Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NIP 74 - NWS #1644

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open

NIP 74 - NWS #1644

wants to merge 7 commits into from

Conversation

asmogo
Copy link

@asmogo asmogo commented Dec 12, 2024

This NIP defines a specification on how to send TCP messages trough NOSTR.

TCP messages can be received by exit-nodes. This also introduces a Domain Name System to announce exit nodes to NOSTR clients.
Exit nodes will further forward the TCP connection to a desired destination (static service or chosen by the client).
NIP-74 enables people to use HTTP, SSL, SSH and many more protocols built on top of TCP trough NOSTR.

The example implementation uses a SOCKS5 proxy as a client. This client publishes signed nostr events for the exit node using the nostr relays from the resolved domain.

@fiatjaf
Copy link
Member

fiatjaf commented Dec 13, 2024

Is this just a way to abuse relays as fake and inefficient Tor nodes? It doesn't make sense at all.

I also think it will do a disservice to the protocol to have shady URLs out there ending with the suffix .nostr.

Is there a real-world practical use case for this that isn't served better by Tor or something else I am missing?

@asmogo
Copy link
Author

asmogo commented Dec 16, 2024

This should not be compared to Tor, even though there are similarities. The purpose of NIP-74 is to improve the reachability of services without requiring public IPs or a Domain Name System (DNS), or any additional client software.

Yes, it will create significant traffic on relays. Therefore, I prefer to use dedicated relays with NWS. Defining this NIP should assist in identifying TCP traffic and dropping it in the relay if the host does not wish to support it.

Apologies for the domain names. I couldn't think of another easy way to integrate this into existing software (like curl) and resolve desired destinations without adding something compatible with section 2.3 of RFC 1035.

I primarily use this to SSH into my home network from anywhere in the world. Additionally, I can think of other use cases, such as making connections between mobile devices to exchange data or running software without requiring a public IP.

Copy link
Collaborator

@Semisol Semisol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. Just no.

If you will have dedicated relays for this, why not make "NWS" a full on proper protocol, without all the overhead of Nostr which is meant for events and not real-time data streaming?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants