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 <connection string> --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.
I see what your saying. We were talking past each other a bit
I'm talking about automating the second part.
For example if I wanted to host my website or relay over hyperdht then I would use holesail --live 80
However anyone who wants to access it would have to bind it to localhost with a port they choose
That's fine if they are accessing it only once. But they would have to bind the port every time ( every reboot )
So that's what the HTTP proxy is for. It allows apps ( like browsers ) to proxy their traffic through a local server
Which means the HTTP proxy can intercept their requests and bind the ports automatically then forward the traffic through hyperdht to the correct node
I am releasing holesail-manager today It will solve the problem of running holesail commands again and again but what do you mean by:
> Which means the HTTP proxy can intercept their requests and bind the ports automatically then forward the traffic through hyperdht to the correct node
I think I am not able to understand this properly, I appreciate you explaining it, please 🙏.
In the HTTP spec there is support for proxy requests using the CONNECT method
It allows a client to ask the proxy server to open a connection to a remote machine and forward traffic
https://developer.mozilla.org/en-US/docs/Web/HTTP/Proxy_servers_and_tunneling#http_tunneling
Tor uses something very similar but its a more complicated proxy protocol called SOCKS5
Most apps, browsers and operating systems have support for routing all thier traffic through HTTP or SOCKS5 proxies
This is how tor integrates with so many apps, they aren't specifically integrating with tor. But instead they support routing their traffic through proxies
The local tor proxy ( localhost:9090 ) takes advantage of this and is setup to route all traffic through tor nodes for privacy.
But because its handing all the traffic its also able to let apps connect to .onion domains
When it detects that an app is trying to connect to an .onion domain, instead of routing the traffic out to the clearnet it can make a connection to another tor node
I'm suggesting building something similar for hyperdht
The hyper proxy would watch an apps traffic, then when it detected the app was trying to connect to a .hyper domain, it would make the connection to the remote hyper node and forward the traffic to it
If this worked it would allow users to use any web browser they like ( with a little configuration ) and connect to <connection string>.hyper domains
Ohhh damn, now I get it lol. That would is pretty amazing. Kind of like a bridge between the browser and holesail