Guide contents9 of 9
← Guide
Reference
All commands and the server config file.
On your machines
| Command | What it does |
|---|---|
| lnkstart join <CODE> | Join this machine to the server |
| lnkstart join lnk.<domain> | Ask to join without a code: you approve it in the console |
| lnkstart add name=port | Add and publish a service |
| lnkstart add nas=192.168.1.30 --preset synology | With an app's preset (home-assistant, nextcloud, jellyfin, immich, proxmox, synology, qnap, frigate, odoo): port, options and checks from its guide |
| lnkstart add nube=8080 --timeout 600 | Wait longer for a slow app, only for that service (5-900 s) |
| lnkstart add pve=https://192.168.1.10:8006 | An app that only serves HTTPS: the agent pins its own certificate the first time |
| lnkstart remove name | Stop publishing it from here |
| lnkstart status | What it is doing now: connected or not, how, and what it publishes |
| lnkstart managed on / off | Let (or not) the server's console create services here |
| lnkstart list | Server and saved services |
| lnkstart reload | Apply a hand edit of services.toml, without cutting |
| lnkstart up [name] | Publish what is saved (or just one app or service) |
| lnkstart down <name> | Stop publishing an app or a service |
| lnkstart update | Update this binary and restart what is installed |
| lnkstart install / uninstall | Keep it (or remove it) as a system service |
| lnkstart connect name | Local port to a private service |
| lnkstart logout | Forget server, credential and services, and stop the installed service |
Options for add (and for publishing at once): --app, --preset, --password, --no-password, --access-token, --no-access-token, --fallback, --no-fallback, --preserve-host, --timeout, --tcp, --udp, --private, --allow, --open, --balance, --standby, --name, --force.
On any machine
lnkstart --help lnkstart add --help
The binary's help is the source of truth: it is the same as this guide.
On the server
| Command | What it does |
|---|---|
| lnkstart server | How the server is, and which command shows each thing |
| lnkstart server setup | Install everything at once |
| lnkstart server join-code <label> | Join code for a machine (with --like, another one for the same thing) |
| lnkstart server token domains add <machine> <domain> | Authorize it for another domain of yours |
| lnkstart server token list / revoke | See the machines (and which are connected) and remove them |
| lnkstart server token approve <machine> | Accept a machine that waits for approval |
| lnkstart server share <service> | Temporary link to a protected service |
| lnkstart server services list / remove | See and forget services |
| lnkstart server license status / activate | License |
| lnkstart server register --email | Manual registration |
| lnkstart server status | What the server is doing right now |
| lnkstart server admin enable / disable | Turn the browser console on or off |
| lnkstart server admin link | Open the browser console |
| lnkstart verify-release | Check a download |
| lnkstart server telemetry | What is sent daily and when renewing |
| lnkstart server backup / restore | Encrypted backup of the server, and putting it on another VPS |
| lnkstart server forced-fixes on / off | Whether forced fixes for a serious bug install by themselves |
| lnkstart server init / run | Manual config and startup |
The config file
/etc/lnkstart/server.toml
domain = "tunnels.midominio.com" server_name = "lnk.tunnels.midominio.com" data_dir = "/var/ lib/ lnkstart" allowed_hosts = [] reconnect_grace_secs = 8 response_timeout_secs = 60 body_idle_timeout_secs = 300 [tls] mode = "acme" # acme | manual | off (behind a proxy) email = "tu@correo.com" [listen] main = "[::]:443" http = "[::]:80" [quic] listen = "[::]:443" # remove the section = no QUIC [tcp] ports = "40000-40099" [udp] ports = "40100-40199" [license] auto_renew = true telemetry = "full" # full | minimal | off [admin] enabled = true # the console (sudo lnkstart server admin enable) [machines] approve_new = false # true: new machines wait for your approval
Almost everything applies by itself within seconds, without restarting. The domain, the listen addresses, HTTPS, QUIC, the trusted proxies and the limits wait for sudo systemctl restart lnkstart-server; sudo lnkstart server says if anything is pending.