Skip to content
Login

Installation

Install the client

Terminal window
curl -fsSL https://get.hle.world | sh

Installs via pipx (preferred), uv, or pip-in-venv. To pin the current release:

Terminal window
curl -fsSL https://get.hle.world | sh -s -- --version 2608.6

To also enroll the machine as an agent and run it as a service that starts at boot:

Terminal window
curl -fsSL https://get.hle.world | sh -s -- --agent

pipx

Terminal window
pipx install hle-client

Homebrew

Terminal window
brew install hle-world/tap/hle-client

Run it as a service

To keep a tunnel (or the agent) running across reboots, install a systemd unit or launchd job:

Terminal window
# The dashboard-managed agent — all endpoints in one service
hle service install --agent
# Or a single fixed tunnel
hle service install --service http://localhost:8123 --label ha

Scope is auto-detected: as root you get a system service that starts at boot, as a normal user you get a per-user one. Force it with --system or --user. Credentials are read at runtime from ~/.config/hle/ and never written into the service file.

Manage it with hle service status, hle service list, and hle service uninstall. See the agent guide for logs and troubleshooting.

Get an API key

  1. Sign up at hle.world/register
  2. Go to Dashboard > Keys
  3. Click “New API Key” and copy the key

Expose a service

Terminal window
hle expose --service http://localhost:8123 --api-key hle_your_key

Your service is now accessible at https://<label>-<code>.hle.world

Save your API key

To avoid passing --api-key every time, set the environment variable:

Terminal window
export HLE_API_KEY=hle_your_key

Or save it permanently in your shell profile (~/.bashrc, ~/.zshrc, etc.).

The client also stores your key in ~/.config/hle/config.toml after the first successful connection.

Docker

Run the HLE client as a Docker container:

Terminal window
docker run -d --name hle-tunnel \
-e HLE_API_KEY=hle_your_key \
ghcr.io/hle-world/hle-client:latest \
expose --service http://host.docker.internal:8123 --label ha

Kubernetes sidecar

Run the HLE client as a sidecar container alongside your app:

containers:
- name: my-app
image: my-app:latest
ports:
- containerPort: 8080
- name: hle-tunnel
image: ghcr.io/hle-world/hle-client:latest
env:
- name: HLE_API_KEY
valueFrom:
secretKeyRef:
name: hle-credentials
key: api-key
command: ["hle", "expose", "--service", "http://localhost:8080", "--label", "myapp"]

Licensing

The HLE client is MIT-licensed open source. You can inspect the code, build from source, and verify that nothing shady happens with your traffic. The relay server at hle.world is a managed service.