Avatar
asmo
d700fc10d457eeae4f02eb04d715a054837e68a2e2d010971382c5e1016dc99e

I'm excited to announce the first release of NWS, a resilient connectivity solution that leverages NOSTR as a transport for TCP. NWS enables seamless communication between devices without public IP addresses. Below are the key features introduced in this release:

- **Exit Node Internet Relay:** Exit nodes can relay public internet traffic, allowing entry nodes to access the internet using the exit node's outgoing IP address.

- **.nostr Domain Support:** NWS now supports `.nostr` domains, which are valid RFC 1035 domains. This feature ensures compatibility with most existing clients.

- **Reverse TCP Connect Mode:** We've added a reverse TCP connect mode where the exit node initiates a TCP connection to the public entry node upon receiving a request. This mode utilizes NOSTR for service discovery while forwarding data packets through the reverse connection, enhancing connectivity and reducing load on public NOSTR relays.

This is just the beginning. With many more features and enhancements on our roadmap, we are excited about the future of NWS and its potential. Stay tuned for more updates as we continue to develop NWS.

https://github.com/asmogo/nws/releases

Offer services from your home network to the world and get paid as users go with ecash. This is mind-blowing!

We're gearing up for our first release! This week, NWS received some exciting updates:

- Public Internet Traffic Relay: Now, exit nodes can choose to relay internet traffic. This means entry nodes can access the internet using the public exit nodes.

- .nostr Domains Support: We've added support for `.nostr` domains! These are valid RFC1035 domains, so they should work smoothly with most existing clients.

curl -v -x socks5h://45.153.242.184:8882 https://etpn6ehf5tp6ar31f4n3gcpj6cn76s31cdig.fqf7cuaje6c9vgralfq4fipbg27f7d9ih6mp0utfqiprqc3ce3ug.nostr/v1/info --insecure

- Reverse TCP Connect Mode: We've added a new reverse TCP connect mode. Now, when a request comes in, the exit node can establish a reverse TCP connection to the public entry node, and this connection will be used for data forwarding instead of Nostr. Nostr will still manage service discovery. This feature should improve the connectivity and reduce the load on public Nostr relays.

https://github.com/asmogo/nws

The main goal of NWS is to make services resilient and accessible for everyone.

Nostr is a fantastic tool to help us achieve this. There are situations where we need to rely entirely on Nostr for TCP transport, such as when the entry node isn't publicly available as a service. However, for our primary use case—having a publicly accessible entry node—we don't need to use Nostr for transport.

That's why I've just added a new connect reverse mode that uses Nostr for "service discovery". Once the service is discovered on the relay, a direct TCP connection is established between the entry and exit nodes.

By using direct connections, we can ensure more reliable service availability and faster connectivity.

https://github.com/asmogo/nws

Any contribution is welcome! Whether you want to be a contributor, an exit or entry node runner, or just help spread the word.

I'm currently working on adding an HTTPS reverse proxy with auto-generated self-signed certificates. This will allow exit node runners to accept encrypted HTTPS connections from public entry nodes without enabling TLS in their backend services at all.

https://github.com/asmogo/nws/pull/21

I highly appreciate that 🤜 💥 🤛

By having all TCP packets proxied by the entry node, the number of incoming IP addresses for the relay operator is significantly reduced.

This simplifies IP blacklisting in case of an attack, as NWS funnels all client requests through the entry nodes. Consequently, the distribution of requests is determined by the total number of entry nodes.

If your goal is to DDoS Nostr relays, it's likely more effective to flood them with normal events.

After several weeks of persistent effort, I'm excited to share Nostr Web Services (NWS).

NWS makes your web service reachable without having a publicly accessible IP address or DNS. All you need is an npub and a set of Nostr relays. A wide range of existing services could be run on NWS without requiring any significant changes. NWS achieves this by establishing a TCP connection between client and server which can be used by these applications.

Please keep in mind, that the software is in a very early state and not even released yet.

https://github.com/asmogo/nws

This is what creating a new internet within Nostr looks like.