This article is about sharing your localhost as a link that anyone can access. We will achieve this using ngrok
As a Web Developer, whatever you work on has to be shared as a link that others can access. Irrespective of whether you are a Front-End or a Back-End dev, a MERN Stack or a LAMP Stack dev, I am assuming you know the importance of https://localhost/.
What if I told you that the work on your localhost can be shared with others in a few simple steps?🤯
There are several methods of deploying your project on a server as a shareable link.
But the problem with this process that you have to-
- Commit your code and Push it to an external server before anyone can see your progress.
- If your organisation follows DevOps Pipelines. Your colleague will only be able to test your code after the next build is ready.(Assuming there is a case of "It works on my machine")
- As a #CodeNewbie the process is even more tiresome as you have to learn all about git, GitHub, Heroku, AWS, etc.
The answer to all of these Problems is sharing your work without committing the code and pushing it to an external server. This is possible by tunneling your localhost on the internet using ngrok
Ngrok exposes local servers behind NATs and firewalls to the public internet over secure tunnels.
> Lets get started
- Download from here
- Unzip the downloaded folder
- Run the
ngrok.exe
-
Log in to your account and head to the
Dashboard
In the .exe file Command
./ngrok authtoken Your_Authentication_Key
Now Fire it up
./ngrok http 3000
if your project is hosted on http://localhost:3000/This link you see can be shared with others to see your work.
So this link can be accessed by anyone and will work as long as you run the program on your computer.
> Why should you use ngrok?
They have very good documentation, easy to use, and have a lot of uses that can help you with many projects that you might work on.
> Use Case
I have been a Web Developer both Front-end and Back-end. I currently work in DevOps. This is a major gap that I have seen.
There is always a case where, "It works on my machine ¯_(ツ)_/¯ ". Yes, DevOps solves this problem majorly, but for minor changes triggering the CI/CD pipelines seems like a waste of resource to me.
Here are some scenarios, I have seen this to be helpful:
- Front end developers wanna present their work to clients/managers before committing the work.
- Students in a Hackathon can use it share their project easily. Not all student have credit cards to signup for AWS or similar cloud services.
- Back-end developer has a Server with a local database. They use it make sure with the front-end team can correctly consume the data.(Did at work!)
- SSH to a Raspberry Pi
- Test and build a Web-hook integrations
- Applications with web-sockets, those which have to be running on at least two ends to be tested.
> Conclusion
This method seems like a good bridge to help out both front-end and back-end developers.
There can be doubts on it's security and privacy concerns. And Yes, those are point of concern. But the platform is still building. There are many BETA features and also a few paid services.
Overall, an easy and short alternative to deploying your work on the internet.
Top comments (23)
once I implemented my own version for a localhost proxy. custom localtunnel.
When doing this, I definetly found the value in using it just as a service. i think it is great for exposing my raspberry pi.
I made a video on ngrok few days back-
Now that's Awesome.
Thanks for the video and reading my article
been using it for a while. Great to fix things live with clients.
But was hoping the livereload would work. Hope it will come in the next iteration.
The next update hopefully covers this issue🤞
didn't know this...thanks for sharing pratik
My pleasure Rakesh.
Thanks for reading my article.
If you found it helpful do share it so that it might help others as well
sure
Thanks for reminding about ngrok.
My Pleasure.
Thanks for reading my artcle
Can’t wait to try this!
Yeah 🤘
Thank you. A nice alternative to spinning up something on Heroku (or similar).
My pleasure😊
Thank you for reading my article
ngrok it's a great piece of software, I've been using it a lot recently while developing a Telegram bot, it allows you to get the Telegram messages on your localhost.
I agree the possibilities are great.
I was planning to use it on a Raspberry pi Once
Great tool.
I know Right🤯👏
fuaaaaaaaaaaaa me salvaste de un problemazo que estaba teniendo con una pasarela de pagos. Muchas gracias!
El gusto es mio.
Gracias por leer mi artículo
Some comments may only be visible to logged-in visitors. Sign in to view all comments.