Here is another demo of my NIP implementation. Now using ephemeral events, NIP-44 encryption and NIP-59 gift wraps: https://github.com/nostr-protocol/nips/pull/1276 I suggest we’ll call it NIP-80 after the default http port. Imagine future browsers ( #browstr ) allowing you to enter http://<some-nprofile>.nostr/… and it would simply send the http request and receive the response via nostr events! Just like .onion sites but without the slowness of TOR. It can also be useful for #iot devices that can serve a simple configuration-website and allow “browsing” them from anywhere in the world. I think TOR is too complicated to run on such devices. @Vitor Pamplona WDYT? https://v.nostr.build/VAREX7f6XB8sTPQr.mp4
@supersu How would you compare this to #holesail ? I think the solutions can complete each other - a simple website access could be done via ephemeral nostr events, but heavier communication (i.e. video) should be done over Holesail.
Very interested in how these two compare as well! What makes holesail less ideal for less heavy stuff?
For one, holesail is p2p and can handle more than just http traffic.
Holesail is ideal for both super light and super heavy stuff.
Thanks! Was wondering if there was a some kind of cost/trade-off that would not make it worth it to set up that connection for light stuff. But if there isn't really, and if it's P2P, than you would technically be better of with holesail because of increased privacy. Or am i getting that wrong?
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). @supersu 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.
Node = Relay = Server? If your destination doesn’t have a domain or a public static IP address, some of the communication has to go through a middleman. Which is fine…
cc nostr:nprofile1qqsqddupn4l3cl65wggcyehd009g0pwuatsfudh28f90vewx68vrylqpz4mhxue69uhhyetvv9ujumnfd4hjucmpwd5qz9rhwden5te0wfjkccte9ejxzmt4wvhxjmcprfmhxue69uhkummnw3ezummjv9hxwetsd9kxctnyv4mqve9ggn nostr:nprofile1qqsxyllxr558rfkrn7df69cshgd3qy0rwev0a4l5sfuq754vpu5spjsppemhxue69uhkummn9ekx7mp0qyvhwumn8ghj7un9d3shjtnndehhyapwwdhkx6tpdshsz9nhwden5te0daexzmn8v4ehjmnr9e6x2cmg9uepv3ej
Thanks, this is exactly what we need! Super useful :)
> Imagine future browsers ( #browstr ) allowing you to enter http://<some-nprofile>.nostr/… and it would simply send the http request and receive the response via nostr events! Just like .onion sites but without the slowness of TOR. Brave does that with IPFS. You just go ipfs://<hash> ...
Interesting. What does the hash represent? How does it bypass the home NAT? I also think https://holesail.io/ is an interesting project for large traffic. But for #IoT devices, http-over-nostr would be the best. All kind of Arduino/ESP32 projects can easily connect to websockets, so they could serve simple “websites” for configuration and operation.
It bypasses NAT by using a message bus instead of direct p2p communication. A Nostr relay is that middleman and you probably want to run your own relay, so that needs to be accessible past the NAT (could be hosted on a VPS, or you could spam someone else's relay).
@Gigi zapped ⚡️6,001 sats nostr:note1m2dgcymyeppqvfya2dpzyncpsjujmn9arcquzkg3g0qzcn2ya2qsmpzkft
I think this is an alternative to VPNs instead of Tor. If you want your IP address to be private no matter what, you have to also connect to nostr relays with something like Tor. And if you have a VPN that you trust, you don't need to tunnel traffic over Nostr in addition to that. Or did I miss something perhaps?
Using VPN doesn’t mean you have a static public IP address. It doesn’t mean you can easily configure your computer to become a server in a way that allows others to initiate a connection with it. I think Tor can give you an onion address, based on your public-key, so it remains yours even if the network changes.
Aha, I see now. It wasn't clear that it's all about hosting. Thanks for clarifying. Personally, I use ZeroTier or Wireguard for these things, but it could be interesting in some cases still. I think it still doesn't quite replace the privacy of Tor, but could be useful for convenience and/or speed of deployment for certain things.
Great! Can we get web sockets over nostr? I want to do web sockets over nostr over web sockets and see if it rips a hole in the space-time continuum.
😂 Actually you don’t need websockets over nostr because with http-over-nostr the client side can behave as a server and wait for requests initiated by others. When you think about it, WebSockets themselves are kind of a hack. In the old days every computer had a public IP address and could open a port to wait for information from others. Today most computers are behind NAT and firewalls so to wait for information from some server you need to actively initiate a communication channel and keep it alive.