GPUtw Docs

Ports and Raw TCP/UDP

Expose web apps and raw sockets from a running instance.

HTTP ports

HTTP ports are served under <port>-<instance-id>.gputw.ai. Each port can be private, public, or unlisted with a password.

Access modes and passwords

private ports require the owner session. public ports are open to anyone with the link. unlisted ports show a password gate before proxying to the container.

  • Private: only the owner can open the port through the dashboard handoff
  • Public: anyone with the URL can reach the service
  • Unlisted: anyone with the URL must pass the GPUtw password page first
Info

The password is stored server-side as a bcrypt hash and is never returned to the browser. Existing unlisted passwords are preserved unless you enter a new one.

Raw TCP/UDP endpoints

Raw TCP/UDP exposures create platform-assigned L4 endpoints such as tcp.gputw.ai:31000 or udp.gputw.ai:31001. They are intended for non-HTTP services that already implement their own authentication or protocol-level safety.

Warning

Raw endpoints do not use the HTTP owner session, public/unlisted modes, or password gate. Do not raw-expose Jupyter, ComfyUI, terminals, or other unauthenticated web UIs.

GPUtw blocks known unauthenticated UI ports and asks you to use HTTP port access controls instead.

Limits and billing

User ports must be in 1024-65535, excluding reserved ports 2222, 6443, and 9000-9999. Port 8080 is the free template Web UI port when the selected template provides one. Each instance includes three extra billable ports; additional HTTP or raw TCP/UDP exposures add the configured hourly port fee.

API permissions

Managing HTTP ports and raw TCP/UDP exposures requires an API key with ports:manage. The instance must be RUNNING and owned by the same account.

PATCH/api/instances/{id}/portsPOST/api/instances/{id}/exposuresDELETE/api/instances/{id}/exposures/{exposureId}