An ngrok alternative with your own fixed IP, TCP and UDP

Tunnels like ngrok are built for quick dev links. When a service needs its own public IPv4, a port number you pick, or UDP, GetAStatic gives you a static address and a VPN that exits from it, over WireGuard.

GetAStatic is not affiliated with ngrok, Localtonet, Pinggy or Portmap.io. Prices as listed on their sites, checked 2026-10-06.

Instant setup US-based IP

Updated

Compare

ngrok alternatives for TCP and UDP, side by side

Entry paid plans, for anything that is not a quick web link.

FeatureGetAStaticngrokLocaltonetPinggyPortmap.io
Price per monthFrom $2/mo$10/mo (Hobbyist)$2/mo per tunnel$3/mo (Pro)$3.99/mo
A fixed public IPv4 of your ownYesOnly at $900/mo per regionNoNoNo (shared server address)
TCP and UDP portsTCP or UDP, on ports you pick1 fixed TCP address; no UDP listedHTTP/TCP/UDP tunnelsTCP/UDP tunnels; persistent ports on ProFree: 1 rule, random port; Premium: unlimited rules, ports 1024-65535 not held by another user
Software on your sideStandard WireGuard appngrok agentLocaltonet clientSSH command or Pinggy appOpenVPN client

Checked 2026-10-06 on each provider's own site. zrok and LocalXpose work the same way, with a shared server in front of an agent on your machine.

The problem

What ngrok-style tunnels are built for, and where they stop

ngrok runs a small agent next to your app and hands it a public URL, which suits quick web tests. Localtonet, Pinggy, Portmap.io, zrok and LocalXpose follow the same model: a shared server takes the connection and passes it down to your machine.

Raw TCP and UDP are where this gets tight. A TCP address is usually the provider's hostname plus a port it assigns, and the IP behind it is shared with other users. ngrok lists no UDP at all. Free plans add timeouts, and ngrok's free plan shows an interstitial page to web visitors (reported), so a long-lived game server, SIP line or allowlisted service does not fit well.

Pricing

Choose your plan

Plus for light use, Pro for most people, Ultra for full gigabit.

Plus
$2/mo

 

  • 1 dedicated IP address
  • 10 devices
  • 5 open ports
  • 100 GBbandwidth
  • 20 Mbpsspeed
Ultra
$10/mo

 

  • 2 dedicated IP addresses
  • Unlimited devices
  • Unlimited open ports
  • 5 TBbandwidth
  • 1 Gbpsspeed
  • Inbound + outbound access
  • Instant activation
  • 7-day money-back guarantee
  • Cancel anytime
Add-ons, per IP addressCustom hostname $5·Addtl. IP $2/mo (Ultra $7/mo)·Gigabit Speed (Plus & Pro) $5/mo·SMTP $25
Why use GetAStatic?

Why GetAStatic

  • An IPv4 used by you alone, so partners can allowlist it
  • The port numbers you choose, such as 22, 443 or 25565, instead of a random one
  • UDP as well as TCP, for game servers, VoIP and your own WireGuard server
  • A VPN too: your outgoing traffic leaves from the same IP, so allowlists see one address
How it works

Your own IPv4 instead of a shared hostname

GetAStatic gives you a dedicated public IPv4 that stays the same while your plan is active, so allowlists and DNS records keep working. You open the ports you want, TCP or UDP, and connections reach your machine on those same numbers. It is a VPN too: your outbound traffic leaves from that IP.

One standard WireGuard config runs on a PC, server, router or phone, behind CGNAT, Starlink or 5G. Pay by card or crypto, with a 7-day money-back guarantee. For games, see the playit.gg alternative.

Setup

Move a service to your own IP

Run WireGuard on the machine that hosts the services, or on your router.

  1. Sign up for GetAStatic. Your static IP is listed in the dashboard.
  2. Open each port the service needs on that IP, as TCP or UDP. Nothing is reachable until you do.
  3. Download the WireGuard config, import it on the host, and switch the tunnel on.
  4. For HTTPS, point a DNS A record at the IP and run your own reverse proxy, such as Caddy with a free Let's Encrypt certificate.
  5. Share YOUR-IP:port or your hostname. A Minecraft server keeps server-port=25565 in server.properties.
PortProtocolUsed for
443TCPHTTPS through your own reverse proxy
22TCPSSH
25565TCPMinecraft Java server
51820UDPYour own WireGuard server

Plus allows 5 open ports; Pro and Ultra have unlimited open ports. A range counts as its size.

Good to know

Good to know

  • There is no traffic inspector, request replay or built-in login layer. Every open port is reachable by anyone, so protect what you expose.
  • Two locations: Kansas City, Missouri and San Jose, California. Users far from the IP's city see some extra delay.
  • Speed is capped by plan, from 20 Mbps on Plus to 1 Gbps on Ultra. Going over your data pauses the tunnel until the monthly reset.
  • The whole device uses the IP while the tunnel is on.
FAQ

Questions, answered.

01Is there an ngrok alternative with UDP?

Yes. GetAStatic lets you open UDP ports or ranges on your own static IP, for game servers, VoIP or your own WireGuard server. Some tunnels, such as Localtonet and Pinggy, also carry UDP, but on a shared server address.

02Is there an ngrok TCP alternative with a fixed address?

Yes. ngrok's TCP addresses are its own hostname and a port, with no static IP. With a static IP you get a whole IPv4 address to yourself, and you choose the port numbers, such as 22 or 25565.

03Can a static IP replace ngrok for webhooks and long-lived services?

Yes. Point a DNS name at your static IP, run a reverse proxy such as Caddy for HTTPS, and webhooks reach your machine at the same address every time. The same IP also carries the standard ports and UDP a shared tunnel cannot, so one setup covers testing and production.

04Is the IP really fixed?

Yes. The IPv4 is assigned to you alone and does not change while your plan is active. It is not shared with other customers, and no other account uses its ports.

05Do the people who connect need any software?

No. They connect to YOUR-IP:port with their normal browser, game, SSH or phone app. Only your server or router runs WireGuard.

Have more questions? See the full FAQ →