The relay is a single static binary (the dashboard is embedded). It's the rendezvous exit devices dial into and the SOCKS5 ingress your agents use. Run it anywhere with a public IP.
Pick how devices & consumers are authenticated:
You issue the tokens. Simplest: a static device list (label:connect-token:access-token).
DATABASE_URL=postgres://β¦ instead of a static list β the relay self-migrates.Put TLS in front for wss:// (any reverse proxy β Caddy/Traefik/nginx), and open the SOCKS port. Point {{HOST}}'s DNS at your server.
Run the exit client on a phone/laptop/home box (the desktop app, the mobile app, or the hpx CLI), pointing at your relay:
Point any SOCKS5 client (Playwright, Puppeteer, curl, your agent) at your relay's ingress:
Full integration recipes (Playwright, Puppeteer, Selenium, LLM agents): Route your automation β