> Localport gives your local apps and devices a public URL. No port forwarding, no VPN, no deploy. HTTP, TCP, TLS, and mTLS tunneling. Agent source code is public on GitHub.

# What is Localport?

Localport lets you share anything running on your computer with anyone on the internet. Your local web app, database, game server, IoT device. If it listens on a port, Localport can make it reachable from anywhere.

You run one command. You get a public URL. That's pretty much it.

## The problem Localport solves

You're building something on your laptop. A web app, an API, a Minecraft server, a home automation dashboard. You want someone else to access it. Maybe a teammate needs to review your work, Stripe needs to send you a webhook, or you want to check your app on your phone.

Your options without a tunneling tool:

- **Deploy it** to a cloud server. Slow, costs money, breaks your local workflow.
- **Port forwarding** on your router. Complicated, exposes your home IP, and doesn't work on most corporate or university networks.
- **VPN**. Overkill for sharing a dev server, and a pain to configure.
- **ngrok**. Works, but TCP costs money and team pricing adds up fast.

## How Localport works

```bash
localport http 3000 --token YOUR_TOKEN
```

That one command connects your machine to a Localport edge server. You get a URL like `https://abc123.tunnel.localport.dev`. Anyone who opens that URL in a browser reaches your local app. When you stop the command, the URL stops working.

Traffic flows through Localport's infrastructure to your machine. The round trip adds a few milliseconds, negligible for development, demos, and testing.

## What you can tunnel

| What you're running | Command |
|---|---|
| Web app (React, Next.js, Django, Rails, etc.) | `localport http 3000 --token YOUR_TOKEN` |
| Database (Postgres, MySQL, Redis) | `localport tcp 5432 --token YOUR_TOKEN` |
| Game server (Minecraft, Valheim, Terraria) | `localport tcp 25565 --token YOUR_TOKEN` |
| SSH server | `localport tcp 22 --token YOUR_TOKEN` |
| Home Assistant, Plex, Jellyfin | `localport http 8123 --token YOUR_TOKEN` |
| Any TCP or HTTP service | It just works |

## Three ways to route traffic

Localport supports three tunnel modes depending on what you need:

- **Standard**. One tunnel, one connection. The default. Covers 90% of use cases. [Learn more](/docs/http-tunnels)
- **Mesh**. One tunnel, many devices. Each device gets its own unique URL. Built for IoT fleets and multi device setups. [Learn more](/docs/mesh-tunnels)
- **Shared**. One tunnel, many receivers. Every connected client gets a copy of every request. Built for teams debugging webhooks together. [Learn more](/docs/shared-tunnels)

## Use cases at a glance

Pick the guide that matches what you're building:

- [Test webhooks locally](/docs/webhooks). Stripe, GitHub, Slack, Twilio, step by step.
- [Host a Minecraft server](/docs/game-servers). No port forwarding. Friends join with one address.
- [Run a local LLM](/docs/local-llm). Expose Ollama or LM Studio to other devices or apps.
- [CI/CD preview builds](/docs/ci-cd-previews). Give every pull request a live preview URL.
- [IoT device fleet](/docs/iot-devices). Mesh tunnel for sensors, cameras, Raspberry Pis.
- [Homelab remote access](/docs/homelab). Reach Home Assistant, Plex, and more from anywhere.

## Inspect what runs on your machine

The Localport agent is the binary that connects your services to the edge. Its source lives on GitHub. You can read the code, build it from scratch, and verify exactly what installs on your machine. The hosted infrastructure (edge servers, API, dashboard) is a managed service.

> [!TIP] Ready to go?
> [Install Localport](/docs/installation) in 30 seconds, then follow the [Quick Start](/docs/quick-start) to create your first tunnel.