Why we built an ngrok alternative
Localport is an ngrok alternative with flat team pricing, persistent URLs, TLS tunnels on every plan and an open-source agent. When each one fits.
ngrok made localhost tunneling popular, and we used it for years. We built Localport for the work it did not cover for us at a flat price: team webhooks, TLS tunnels, addresses that stay, and private access to devices.
The figures for both products are on the Localport vs ngrok comparison. This post covers the reasons.
What Localport does differently#
One price for the team#
ngrok bills a monthly credit, then usage, and adds a charge for each extra user. Localport charges one flat price per team. The plans are on the pricing page.
A URL that stays#
Every Localport tunnel keeps its address across restarts. You can choose the subdomain or attach your own domain, so a webhook you registered last month still arrives.
TLS tunnels and custom domains on every plan#
Localport carries HTTP, TCP and TLS on every plan, and every plan includes a custom domain. On ngrok, TLS endpoints and custom domains belong to the Pay-as-you-go plan.
One webhook URL for the whole team#
A Fanout tunnel delivers each request to every connected teammate. Four developers debugging Stripe webhooks all receive the same event on their own machines. Fanout carries HTTP only.
Private access to devices#
A fleet groups the devices you deploy. You open ports for each device in the dashboard and grant access to a member, a role or a machine. Removing a grant closes the connections it covered.
An agent you can read#
The Localport agent is the program that runs on your machine. It is open source under Apache 2.0 on GitHub. You can read it and build it before you run it.
When ngrok is the better choice#
- You want a plan that costs nothing. Localport has no such plan, and every plan starts with a trial.
- You need traffic policies or OAuth in front of your app.
- You need single sign-on for your team.
When Localport is the better choice#
- Your team shares webhooks during development.
- You want a persistent URL and your own domain without a higher plan.
- You reach devices on networks you do not control.
- Your security team wants to read the agent before it is installed.
- You want the bill to stay the same as the team grows.
Try it#
Create a tunnel in the dashboard, then install the agent and run the command the dashboard gives you.
curl -fsSL https://localport.io/install.sh | sh
localport http 3000 --token YOUR_TOKEN
The Quickstart covers the first tunnel step by step.