Is there a solution yet?
Is there a solution yet?
As for “special”-software-less, you might have to wait for IPV6 and a hosting-friendly ISP.
This wiki article covers it all I think.
It is likely to cost less than 10% of your home internet bill to do this.
I there a way for me, behind a NAT, to pass an address for someone to connect to a port open on my machine?
(You can also, in these settings, manually forward individual ports, or use DMZ to forward all ports to a single machine.)
Some ISPs don't even give you a real IPv4 address though (they use CGNAT). THEN you have no hope.
That is the case with most people I know: not even the router has a "real ip". Don't know how things have improved with ipv6 though.
Also, in my country, best plans you can get take an optical fiber to your house directly connected to an ISP provided router. You're fully locked out of doing anything with the router except powering it.
If you don't have any control of an IP address, you cannot be connected to through software that is not "special" (i.e., software that only uses IP to connect). As a matter of logic.
Meanwhile, you can pay for your own static IP hosted on a VPS for much less than you can get home internet. You can then forward that IP to your home server.
However, even this cannot scale, it is just rationing through bidding on IP addresses. There are more human beings than IPv4 addresses, so you can't just share them and use "non-special" software. The non-special IPv4 protocol software only supports ~4 billion unique users. So we need "special" IPv6 software or else "special" software layered over IPv4.
Yes... that's basically this. But even a single ipv4 volunteer could expose tens of thousands of ports. Depending on how such a service is desired, this could be enough. Ipv6 would, I think, only improve things.
This is one thing I miss from my dial-up internet in the 90's: I could run a service on my computer, I could pass my ip to anyone, anywhere in the world and they could connect to my machine; a cheap computer using a telephone line. I miss that.
EDIT:
One problem is if your current proxy goes down and you have to change, you might get moved to a different port, which would break existing urls. But maybe it could be part of the protocol that you search for a new proxy that has the same port available.
Dang it now you have me wanting to try and prototype this...
A first-class address+port has to match the protocol, so only one real user per IP.
EDIT:
Also, a home internet connection cannot route thousands of streams simultaneously, so allowing thousands of users one port each does not make sense.
It is always going to be cheaper and more performant to do any kind of forwarding on a rented server in a data center.
I understand this solution, but this is exactly what I'm trying to avoid.