Avatar
supersu
bd171ec3857a546a9c665e016931d7177dbd5a6887992276663980483b1acc15
Founder of holesail.io, an avid reader and a Linux enthusiast. Join me on Keet.io - Holesail.io (invite expires on 2024/6/13 5:01 UTC) pear://keet/yrbaxx3qmntmqgpfwi9ddo7ehqcjwm6nznt41r59u1tnmfz3o93y5m54pmiakkpksq6mjod8otqtj3jyut3ppxgg3idzcryqneekhrhhnpc9pedg

Holesail is secure and no third party is involved, if the state allows it you are good to go.

I think you are a little confused here, apps do not need to integrate holesail to use it.

Holesail in itself is a proxy, it kind of binds two ports between different devices, so apps just need to use localhost:port as the url.

When I say "integrating holesail", I mean including holesail in the app itself so that users don't have to do the installation and running.

For example, for an apache server running on port 80, I can wrap holesail around it with holesail --live 80 --host localhost

Then on another device: holesail --port 3434 --host localhost, now any app on my second device that needs the data from server1, will use the URL http://localhost:3434/

There is no need for manual integration, but for the sake of simplicity and accessibility, it is better to do so.

The above is a manual approach, now if I bundled holesail with apache2 and made it print out a connection key for ever vHOST by default, that would be holesail integration.

Replying to Avatar hzrd149

nostr:npub1h5t3asu90f2x48rxtcqkjvwhza7m6kngs7vjyanx8xqyswc6es2s4645z5 nostr:npub1h8nk2346qezka5cpm8jjh3yl5j88pf4ly2ptu7s6uu55wcfqy0wq36rpev Id like to get your thoughts on this.

I haven't been keeping up at all on whats being worked on with #pear or #holesail so maybe this is already solved. but I think something like this is a necessary next step to allow apps and users to start using hypercore

nostr:npub1ye5ptcxfyyxl5vjvdjar2ua3f0hynkjzpx552mu5snj3qmx5pzjscpknpr Holesail solves this as holesail is a reverse proxy around hyperdht.

You can check holesail source for how it's Implemented

You would need to be a profound monk to achieve that in my opinion .

Holesail android code is not open, but here is how you can get holesail working on Android:

https://github.com/supersuryaansh/hyperclip-android

After that just do npm i holesail-client and you can use the node package in app.js file

Replying to Avatar Guy Swann

The problem is and always has been, ā€œwhat do we have the resources to implement and who is going to implement it?ā€ Maybe there are easier solutions and stuff already built, but I don’t know them, and I’m going to be putting a lot of my personal resources to solving this problem and nostr:npub1h5t3asu90f2x48rxtcqkjvwhza7m6kngs7vjyanx8xqyswc6es2s4645z5 has been doing the same to build Holesail on top of the same protocol stack that I’ve been working with. And despite years of claims of a problem being ā€œsolvedā€ by tons of other software supposedly, I still have these problems, in a big way actually.

So it’s not really about what’s best, it’s about what gets done first. Maybe someone else is doing the same thing and they will finish first, but we are very, very close to this just being extremely easy and fast to both implement & connect to. With no setup, networking issues, and with reliable security from the start. I would be happy to hear that someone else has solved these better, but for now we are just pushing ahead to what we want to build for ourselves.

… and if nobody takes the bounty I’ll just redirect my devs on it, but for anyone capable, you are passing up a good amount of sats.

Take up the bounty guys šŸ‘€ , we gotta solve real world problems.

I will provide support to anyone working on this bounty.

nostr:note1awd7xdaxcq7ql8k4ew5r5nkvc00sgtsq03wsz63u2zt6rkpts2hsxangjd

Replying to Avatar Martin

I see zero buzz around #holepunch /#pear - despite big Nostr users like nostr:npub1a2cww4kn9wqte4ry70vyfwqyqvpswksna27rtxd8vty6c74era8sdcw83a often name dropping it.

They released keat.io years ago and to this day have nothing else in their showcase.

What's going on? Was it vapourware after all? Are there nasty constraints with the "Pear stack" that make developers shy away from it?

Is keet, a remote control app and Holesail exhausting all usecases for this framework?

Are there hidden cost?

Why isn't there an explosion of Pear apps yet?

Would be curious to hear from people who have dabbled with it. On paper, the whole thing sounds too good to be true, so I can't help but wonder why there are no apps...

Busy building in silence šŸ˜›

Replying to Avatar Guy Swann

It works via the DHT, like BitTorrent. Basically it’s kinda like a broadcast network hunting for the other user.

So let’s say I connect to 8 random peers on my mobile. Then my hosting machine connects to 8 random peers. When we start up an instance we announce to our peers what our keys are and they add it to their DHT (big hash table of peers basically).

Then when I scan the QR of my hosting machine, I ping out to my nearest 8 peers for anyone who has seen the hosting key. If we share no peers in common, then they pass it on to the next set of peers that they are connected to, then through ā€œ6 degrees of Kevin Baconā€ we eventually cross on a peer that has heard my request, and also heard the hosting machine’s key earlier. (This might realistically only need one or two hops, maybe the DHT of my nearest node already has the update from the host, but not necessary)

Then when I find my host via mobile (this is where I’m less certain about specifics) then both machines do a ā€œhole punchingā€ method where the host and the mobile both try to establish connections from either direction using any available port. Again, a kind of ā€œguess and checkā€ method not so unlike finding a peer with random broadcasting. Then the connection is established, keys exchanged, and viola, P2P direct encrypted connection for whatever you want to do.

There are probably more specifics that I’m missing, but as I understand it, this is the general idea. Hope this helps.

This is the correct explanation. To learn you can watch:

https://www.youtube.com/watch?v=1QdKhNpsj8M

Even then that will posses similar issues to static IPv4 addresses we have at the moment.

People irresponsibly using it to expose private and important stuff online without knowledge that malicious third parties can see it.

P.s: I did some good research on this a while ago and have not posted about that yet, I will cover this ISSUE in depth in a separate post.