Skip to content
← Guide

Reference

All commands and the server config file.

On your machines

CommandWhat 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=portAdd and publish a service
lnkstart add nas=192.168.1.30 --preset synologyWith 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 600Wait longer for a slow app, only for that service (5-900 s)
lnkstart add pve=https://192.168.1.10:8006An app that only serves HTTPS: the agent pins its own certificate the first time
lnkstart remove nameStop publishing it from here
lnkstart statusWhat it is doing now: connected or not, how, and what it publishes
lnkstart managed on / offLet (or not) the server's console create services here
lnkstart listServer and saved services
lnkstart reloadApply 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 updateUpdate this binary and restart what is installed
lnkstart install / uninstallKeep it (or remove it) as a system service
lnkstart connect nameLocal port to a private service
lnkstart logoutForget 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

CommandWhat it does
lnkstart serverHow the server is, and which command shows each thing
lnkstart server setupInstall 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 / revokeSee 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 / removeSee and forget services
lnkstart server license status / activateLicense
lnkstart server register --emailManual registration
lnkstart server statusWhat the server is doing right now
lnkstart server admin enable / disableTurn the browser console on or off
lnkstart server admin linkOpen the browser console
lnkstart verify-releaseCheck a download
lnkstart server telemetryWhat is sent daily and when renewing
lnkstart server backup / restoreEncrypted backup of the server, and putting it on another VPS
lnkstart server forced-fixes on / offWhether forced fixes for a serious bug install by themselves
lnkstart server init / runManual 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.