v0.4.2 · self-hosted · single-user · MIT

Your local services,
reachable on https://

A self-hosted gateway that exposes the databases, AI models, and HTTP APIs running on your machine — through a secure tunnel, with scoped keys and per-request logs.

$ curl -fsSL get.locallink.dev | sh·no port forwarding·no cloud account
gateway.kestrel.io
tunnel · 14m 22s uptime

Host agentmacbook-pro-m4

$locallink up
connecting togateway.kestrel.io
tunnel established// WSS, AES-256-GCM
$locallink exposepostgres-main--port5432
registeredpostgres-main// 2 keys
$locallink exposeollama-llama3--port11434
registeredollama-llama3// 1 key
$locallink status
3 resources·7 keys·healthy
$

Live requestslast 6 · auto

14:32:18POST/r/pgmain/queryll_pk_8h2j200
14:32:17POST/r/llama/api/generatell_pk_8h2j200
14:32:15GET/r/redis/keys/session:9f2ll_pk_8h2j200
14:32:14POST/r/meili/indexes/docs/searchll_sk_4xv9200
14:32:13POST/r/pgmain/queryll_ci_n0vR401
14:32:12POST/r/pgmain/queryll_pk_8h2j200
tunnel liverequests/24h12,163p50 latency28msresources6gateway.kestrel.io

// What it does

A gateway, not a tunnel.

Ngrok gives you a URL. LocalLink gives you a URL plus the access control and observability you'd build around it anyway.

Secure tunneling

01

Host agent opens an outbound encrypted WebSocket to your gateway. No port forwarding, no firewall changes, no public IP needed.

localhost
gateway

Resource management

02

Register Postgres, Ollama, ComfyUI, or any HTTP service by name. Hot-reload on file save; URLs stay stable across restarts.

postgres-maindatabase
ollama-llama3ai model
internal-apihttp

Scoped API keys

03

Issue keys scoped to specific resources and methods. Revoke instantly — propagates to the host agent in <100ms.

productionll_pk_8h2jaQ7mB4nXc1vR••••rw · pgmain
ci-runnerll_ci_n0vR8tKwL2sP3aZ••••revoked

Request observability

04

Every proxied request recorded: timestamp, method, path, status, latency, key. Filter, tail, export to your logging stack.

32:18POST/r/pgmain/query42ms
32:17POST/r/llama/api/generate1.84s
32:13POST/r/pgmain/query401
32:07POST/r/sdxl/prompt500

// 60 seconds

Get the agent running.

Three commands. The gateway runs on a $5 VPS (or your homelab); the agent runs on your laptop.

01.Install the agent

Single binary, Mac / Linux / WSL.

$curl -fsSL get.locallink.dev | sh

Installs locallink to /usr/local/bin.

02.Open the tunnel

Authenticate once, stays connected.

$locallink login gateway.kestrel.io

Opens an outbound WebSocket. No firewall rules to change.

03.Expose a resource

Name it, point at a port, you're live.

$locallink expose postgres-dev --port 5432

Reachable at /r/postgres-dev with an auto-generated key.

Already running an instance?

Open the gateway dashboard to manage resources, rotate keys, and tail the request log.