How it works

Public ports for machines that cannot receive public inbound traffic directly.

NeedPorts helps when your service works locally, your machine can reach the internet, but the public internet cannot reach your machine because of CGNAT, blocked inbound ports, or provider network restrictions.

The short version

Instead of relying on your ISP, router, or hosting provider to accept inbound connections, your machine opens an outbound tunnel to NeedPorts. NeedPorts gives you a stable public endpoint and an assigned range of forwarded ports. Public traffic arrives at NeedPorts first, then travels through the outbound tunnel to your local service.

Connection flow

1. Your service runs locally.

Examples: SSH, an inference API, a dashboard, Home Assistant, a game server, or a web app.

2. The NeedPorts client connects outbound.

Outbound connections usually work even when inbound port forwarding is blocked by CGNAT or provider policy.

3. NeedPorts receives public traffic.

Users connect to your assigned public endpoint and dedicated forwarded ports.

4. Traffic is forwarded through the tunnel.

The traffic reaches your machine without requiring router port forwarding, a residential public IPv4 address, or manual inbound firewall exposure at the edge.

When this is the right tool

What to check first

Related guides

Vast/GPU hosts

Need stable inbound ports for Vast.ai or remote GPU workloads.

CGNAT port forwarding

Why normal router rules fail behind carrier-grade NAT.

Port forwarding not working

A practical troubleshooting checklist before choosing a fix.

Self-hosting behind CGNAT

Expose home servers, APIs, and dashboards from networks without public inbound reachability.

Ready to get a public endpoint?

Choose a plan, install the client on the machine that needs inbound reachability, and use your assigned endpoint and ports for the service you control.

GPU host setup Self-hosted setup