Skip to content

Download and install

One binary for both ends. It needs no Docker and no dependencies.

1 · ON YOUR VPS

Point your domain and its wildcard (*.yourdomain.com) at the VPS's IP, and open ports 80 and 443 over TCP and 443 over UDP. The installer leaves the service running, issues your free license, and gives you your first machine's line.

$ curl -fsSL https://lnkstart.com/install.sh | sudo sh -s -- server tunnels.midominio.com yo@correo.com

Already have nginx, Traefik or Caddy on port 443? Add --sni-proxy at the end: your sites stay where they are, and the installer gives you the configuration to add and checks that traffic reaches it.

2 · ON YOUR MACHINE

On macOS, Linux or a Raspberry Pi: install the agent and publish your first service.

  • The line the installer gave you: it installs LnkStart, joins the machine, publishes the app on its port 3000 and keeps it running, also after a restart (on Linux it asks for sudo). Change app=3000 to your app's name and port.

    $ curl -fsSL https://lnkstart.com/install.sh | sh -s -- join LD1.xxxx app=3000
  • Or just the binary, to join it later with lnkstart join

    $ curl -fsSL https://lnkstart.com/install.sh | sh
How to check what you download

Every release ships with a signed SHA256SUMS. The installer checks the signature before installing: with the LnkStart you already have or, the first time, with OpenSSL (the one on macOS cannot, and there it stops at the checksum, which comes over HTTPS). To check it by hand, download SHA256SUMS and SHA256SUMS.sig into the same folder and run the command; add --file and the binary's name to check its checksum too.

$ lnkstart verify-release --manifest SHA256SUMS
What gets sent

Only the server: when installed, once a day and when renewing the license; version, OS and usage counts. Never visitor IPs, domains, service names or content. --no-telemetry at install time turns it off. The full list.