How do you deal with the asymmetrical upload/download speeds of most home connections?
How do you deal with the asymmetrical upload/download speeds of most home connections?
My solution was to use a VPS that was doing other stuff to also act as a nginx proxy to the internal machine on a non-blocked port. So it's now host2.domain.tld:443/80 (vps/nginx) -> host1.domain.tld:10080 (wan/host1.domain.tld) -> 80 (lan).
In college, we had dynamically assigned, but publicly accessible addresses, so I used a dynamic DNS service to tie the domain name to my computer. I used freedns.afraid.org (mentioned by someone else), though other options exist and many routers integrate with a couple services out of the box (often dyndns.org). You can check if this will work by finding out your public IP (type "what's my IP" in a web search) and checking if that corresponds to the IP on your router (should be the WAN IP). If it is, you're probably set, but you'll need to check to see if your ISP blocks any ports. To check, just set up something on your computer and mess with the port forwarding settings on your router to point to it, and then test accessing it from outside your network (easiest is to start a webserver and try to access it from your phone while running in data).
If you can access services on your computer but your ISP blocks ports you want to use, call them and ask if those blocks can get removed. If not, you can get it to work by doing a reverse proxy using a VPS (good providers are Digital Ocean, Vultr, and Linode) to point to the ports your ISP does allow.
If you can't access your computer at all, you have two options:
1. Ask your ISP if they offer static IPs (mine does for ~$5/month) 2. Set up a tunnel from your computer to your VPS (SSH tunnels, VPN, etc)
Most ISPs either offer static IPs or give you a dynamic (changing), but publicly facing IP, so you probably won't need a VPS at all and just need to figure out the dynamic DNS thing.
As for assymetric upload/download, it's really not an issue, sending lots of data one way will just be slower than the other way. There just isn't much you can do about it.
In The Netherlands (a very tiny country though) Xs4all is one of the very few ISPs allowing home users to change the A/AAAA/PTR/MX records of their hostname/IP address (for both their DSL and FTTH offerings). You can get a subdomain or use your own domain, with reverse DNS. They've been doing that since forever. You can also get shell access. They're also a bit more expensive than the competition though.
Running your own server has one disadvantage (though it has gotten smaller these days): electricity costs and impact. I'm getting solar and Raspberry Pis and such are pretty marginal though. I suppose you should compare it with AWS and the like?
If you'd prefer a paid option that uses your own domain, then some providers like Digital Ocean expose DNS settings via API. Here's a google search to get you started: https://www.google.com/search?q=dynamic+dns+host+for+digital...
[0]: https://www.freecodecamp.org/news/why-cant-a-domain-s-root-b... [1]: https://blog.cloudflare.com/introducing-cname-flattening-rfc...
The main thing use to be the dynamic IP assignation, which can be solved using some services like no-ip or using Cloudflare API to update a DNS periodically.
>asymmetrical upload/download speeds of most home connections?
If it's something fibre like then it's probably enough for casual hosting
I have set up Google Cloud DNS which is updated every 15 minutes to my current external IP. This ends up costing $0.15/mo.