Client

Client Installation

Install and configure the Portr client CLI on macOS, Linux, or Windows to start exposing local services through secure tunnels.

Install the client

Using the install script:

curl -sSf https://install.portr.dev | sh

Or install the client using homebrew:

brew install amalshaji/taps/portr

You can also download the client binary from github releases.

Configure authentication

Once the download/install is complete, login to the portr admin dashboard and copy the setup command from the overview page. It'll look like this:

portr auth set --token {your_token} --remote {your_domain}

The command downloads a client config into ~/.portr/config.yaml. The server's PORTR_TRANSPORT setting decides which transport appears in generated client configs. SSH is the default:

server_url: example.com
transport: ssh
ssh_url: example.com:2222
tunnel_url: example.com
secret_key: portr_xxx

If the server is configured with PORTR_TRANSPORT=websocket, generated configs use the WebSocket tunnel endpoint instead:

server_url: example.com
transport: websocket
ws_url: tunnel.example.com
tunnel_url: example.com
secret_key: portr_xxx

Use server_url for admin API calls. Use ssh_url or ws_url for client-to-server tunnel connections, depending on the generated transport.

The server appends your team's client template below these connection settings, so the downloaded config also contains the tunnels (and any groups) your team publishes.

Verify installation

For more details and to verify everything is working, run:

portr --help

Make sure you have access to a Portr server before setting up the client. If you need to set up your own server, check out the server setup guide.