Huge milestone: First demo of Nostr Web Services (NWS) bringing TCP to Nostr. With NWS, you can host any existing web application on Nostr without having to use DNS or even announce your public IP to the world, simply by sharing your service's npub (or nprofile).
Try it out the demo yourself. Here is a Cashu test mint running with NWS. Let's use curl to retrieve the mint's information. The request travels from your computer to the public NWS entry relay, then through nostr to the service's NWS exit relay. At the other end is a Cashu mint with HTTPS encryption.
```
curl -s -x socks5h://relay.8333.space:8882 https://nprofile1qqs8a8nk09fhrxylcd42haz8ev4cprhnk5egntvs0whafvaaxpk8plgpzemhxue69uhhyetvv9ujuwpnxvejuumsv93k2g6k9kr/v1/info --insecure | jq
```

I can't stress this enough: THE MINT RUNS BEHIND HTTPS!
The NWS entry relay can't read your traffic. It's encrypted. We can host public entry relays that can be used by anyone.
This means we can plug the entire internet to it 🌐.
Let's plug it into Cashu for now. Nutshell wallet supports socks5 proxies (that's how it uses Tor). By setting the public entry relay as the proxy, the wallet can now connect to a mint's npub/nprofile and communicate with it via NWS.

This is going to be so freaking cool. And it's going to be a lot more useful than just for Cashu. There are still bugs and issues that need to be ironed out but the code is coming out soon. Watch this space.
Isn't this a normal server with extra steps? This would bring more traffic and means more bandwidth for the Nostr relays.
Docs here: https://holesail.io/docs/introduction
Run: holesail --help for better understanding.
You shouldn't port forward, you shouldn't dynamic DNS.
Use Holesail, stay secure and private.
In case you don't know, Holesail has a built in extension for Visual studio code, no additional setup required.
Share your running webapps with friends or work in a team, there are no restrictions.
P.s. You can both connect and set ports live right within Visual studio code 👀
Link: marketplace.visualstudio.com/items?itemName=holesail.holesail-liveports

Thanks for the ⚡ mate
Did I ever tell you guys that Holesail can set literally set **anything** live that is reachable and not just local ports/hosts.
For example if you connect to the key below and access it on https, you will see official nostr:npub1xnf02f60r9v0e5kty33a404dm79zr7z2eepyrk5gsq3m7pwvsz2sazlpr5 's donation page, running on their server but live through my connection string:
Connection String: 5ceb350418803c705bc60a678da12656374cec86cdd1dbbc84771f57d3f426ad
Internally, a few more pushes on the android and iOS side and I will start working on better docs that cover every single thing like this
Node is a known peer that know a lot of other peers who's IP address we know and who will accept all connections. It is not a Relay and anyone can become a Node.
Check out Kademliya algorithm.
Holesail Go atm only let's you connect to a server atm and not serve from your Phone.
It is planned in a future version of Holesail.
But you can always do this:
holesail --live
on a different computer that is connect to the same network as your phone.
How is pear different from http? #asknostr #dev
Can't http and ftp be done p2p ? nostr:nprofile1qqstnem9g6aqv3tw6vqaneftcj06frns56lj9q470gdww228vysz8hqpz4mhxue69uhk2er9dchxummnw3ezumrpdejqzrthwden5te0dehhxtnvdakqz9rhwden5te0wfjkccte9ejxzmt4wvhxjmcjgxv3n nostr:nprofile1qqst69c7cwzh54r2n3n9uqtfx8t3wldatf5g0xfzwenrnqzg8vdvc9gpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsxvtdhr I'm very interested but off the cuff, without a lot of digging on my part I don't see how it helps p2p. Eli5 🙏🏻
Looks like you are confused here, pear is a like a library for building peer to peer apps and http is a protocol.
Talking about holesail here, it supports http as well as ftp.
It will be available on our website soon, our frontend dev working on it 🫡
I just messaged nostr:npub1wf4pufsucer5va8g9p0rj5dnhvfeh6d8w0g6eayaep5dhps6rsgs43dgh9 👀
Nostr is not P2P so technically the relays could track the amount of traffic, and if they collect the ip-addresses I guess they could track who is communicating with who.
From what I understand Holesail needs the servers/relays only in the initial setup of the communication channel. That’s kind of overhead if all you want to do is one or two http api calls and disconnect (like when you pay a static lnurlp).
nostr:npub1h5t3asu90f2x48rxtcqkjvwhza7m6kngs7vjyanx8xqyswc6es2s4645z5 Do I understand correctly?
Not really, holesail does not need relays or servers. The P2P network running behind Holesail is a closed network that people can not enter unless they know an existing peer.
By default there are three public nodes, Node is a known peer, and anyone can become a node.
No, there is no trade off 😁, that's the best thing about this P2P tech and your data does not travel through third party relays either.
Btw, thanks for the Zap

