DEV Community

Cover image for How to access localhost from the Internet?

How to access localhost from the Internet?

DotNetCrunch on March 26, 2021

Suppose you are working on a hobby project or building projects locally for learning few concepts. Once, you complete the project, and it works as ...
Collapse
 
phyberapex profile image
PhyberApex

To be honest this seems like a hassle. For this use case I would just put it on Netlify tbh. If you use the CLI that's just on command.

~Cheers

Collapse
 
gilesc9 profile image
Giles

That's a fair thing to do if you're building a frontend application. Though this posts example is purely just to show off something running from localhost. I've used ngrok in the past to test webhook implementations sent from third parties. For example, I needed to capture a webhook fired from DocuSign and debug it (in dotnet) but DocuSign doesn't know anything about my localhost. Deploying to a server doesn't help either because then I can't step through my code! Scenarios like this is where things like ngrok really shine. But if you're just wanting to show off work, agreed may as well just deploy somewhere and have a bit more guarantee it'll always be accessible.

Collapse
 
andrewbaisden profile image
Andrew Baisden

Agreed its nice to have those kind of options however I would likely use Netlify or Vercel.

Collapse
 
dotnetcrunchh profile image
DotNetCrunch

But using localhost.run doesn't seems to be hassle. Its just one command?

Collapse
 
cshawaus profile image
Chris Shaw

I prefer full control over things, my solution is OpenVPN and Pi-hole which allows me to work both locally and remotely.

In addition, I've mapped a domain via CloudFlare to my home network that I can use for API testing when needed and no one ever gets to see my requests except myself.

The best part, if you've got the hardware, it's free and easy to build upon.

Collapse
 
ghoshbishakh profile image
Bishakh Ghosh

pinggy.io is a much simpler solution with more features. No need to download anything: Just run a command:

ssh -p 443 -R0:localhost:8000 a.pinggy.io

Replace 8000 with your port.

pinggy tunnels to localhost

Collapse
 
aprogrammer22 profile image
aprogrammer22

Hi DontNetCrunch,

I would like to add one more Free tool to expose local host to the internet. That is

TSOCKET: Create multiple TCP and HTTP tunnels and get public URLs.

tunnel ssh or rdp or vnc and connect remotely.

Completely free for personal and commercial use. There is no paid plan and there never will be a paid plain.

I hope you find it useful

Collapse
 
bozicb profile image
Bojan Božić

Maybe useful to mention that the tunnel collapses when your internet goes down or just so after a while. The problem then is that you will get a new URL, so if you're sharing with someone you'll have to let them know and constantly check if your tunnel is still up. I've tried all three with students to have them hack a web server I'm running on my raspberry pi, but it's bothersome if you have it up for a while and need to notify every time you rebuild your tunnel.

Collapse
 
kamalhossain profile image
Kamal Hossain

It will be nice if you add pricing for each services above.

Collapse
 
dotnetcrunchh profile image
DotNetCrunch

ngrok is free to use for limited features. However, the pricing can be referred from their official website. I have already shared the URL. Others are free.

Collapse
 
moopet profile image
Ben Sinclair

They're all free unless you want to do "advanced" things with them.

Collapse
 
burakisleyicii profile image
Burak İşleyici • Edited

Now you can use localtonet.com

Collapse
 
kamalhossain profile image
Kamal Hossain

True

Collapse
 
ilonahryunova profile image
ilonahryunova

By my opinion the straight forward method use Myway.cf service. This will allow you to connect to your server from anywhere. Static Public IP and Domain name for any device in any network. More than tunnel tool. UDP also working.

Collapse
 
ahmythdev profile image
Ahmed ⚡

I built LocalXpose (localxpose.io) - a reverse proxy alternative to ngrok, I invite you guys to test it out.