Exposing your server to the internet

Created Monday 01 April 2024

Congrats, you have a web server, or music server or something similar running on your machine. You're able to access it through, for example, http://localhost:8080 or similar.

Now you want the rest of the internet to see it too.

Sadly, this is FAR more complicated than it ought to be, but here are your options:

Ephemeral / Short lived services

There are a number of services that will let you simply connect to their servers, and they'll give you a temporary URL to use. This will be sufficient for my classes, but aren't great for permanent needs, though most of these have a reasonable pay tier as well. No need to do anything with Domains etc.


https://pinggy.io/ is so far the easiest I've found, since it doesn't even require you to download any new programs, as long as you have the very common SSH. You copy and paste ONE command, just be sure to change the correct port in the command — in a terminal, simply:

ssh -p 443 -R0:localhost:8000 -L4300:localhost:4300 qr@a.pinggy.io

If needed, change the above 8000 to your port. Say yes to all the things and it will give you a url.


https://ngrok.io is the one most of us have heard of and it's still very good. You have to sign up and download the program and run it, but I'd keep this one as an option because the above is almost too good to be true? As a bonus — while I'm usually not a fan of "signing up with another thing you've signed up with," e.g. Google — I did go ahead and use my github signup here since these things are so closely related. https://zrok.io/ also looks very similar and cool here.

Backlinks: FSU Courses:LIS3353:Practical Project Final Info