Snart
En tunnel du selv ejer
pks-agent-tunnel
En selvhostet devtunnel-erstatning, der eksponerer dine lokale tjenester på det offentlige internet over én forbindelse, du selv styrer — uden en stor cloud i vejen.

En tunnel er det ene, der bare skal virke. De fleste gør ikke.
For at nå dine agenter alle vegne fra bliver din trafik dirigeret gennem en andens cloud — en leverandørtunnel, der sidder mellem din laptop og internettet. Den bekvemmelighed har en pris: split-brain på tværs af regioner, kapløb om hvilken port der ejer hvilket navn, uigennemskuelige CLI-fejl uden noget at grep'e i, og URL'er der skifter hver gang du genstarter. Når demoen dør fem minutter før det gælder, er den sti du ikke ejer præcis dér, hvor du ikke kan kigge. Vi levede med Microsofts devtunnel.ms i Aspire længe nok til at bygge erstatningen.
Din trafik krydser en cloud, du ikke kører, ikke kan inspicere og ikke kan stole helt på.
Leverandørtunneler giver dig nye, skiftende URL'er — og kræver en svid-marken-af-oprydning mellem kørsler.
Når det fejler, er fejlen uigennemskuelig: 404'ere uden noget bagved og et split-brain, du ikke kan nå.
Sådan virker det
Kør én server.
Sæt den op på enhver VPS med to docker run-linjer — offentlig frontend og kontrolplan. Ingen database, ingen Compose, ingen cluster. Tilstanden er én mappe, du kan tage backup af med et enkelt tar.
Peg DNS én gang.
Et wildcard og et apex-record mod din maskine, så er du færdig. Hver tunnel, du nogensinde laver, lever under det ene domæne.
Forbind og eksponér.
Kør agent-tunnel host, navngiv et slot, peg det mod en lokal port. CLI'en holder én forbindelse åben og printer din offentlige URL.
Nå den alle vegne fra.
Samme navn mapper til samme URL ved hver genstart — del den, scripti den, demo den. Ingen oprydning, ingen skiften, ingen overraskelser.

Én server, du selv kører
En enkelt selvhostet server på en VPS klarer hver tunnel — ingen leverandør-cloud, ingen tenant, ingen region, der kan gå i split-brain på dig.

Stabile, deterministiske URL'er
Samme slot- og tunnelnavn mapper altid til samme subdomæne — ingen -{hash}-skiften mellem genstarter.

Én forbindelse, mange streams
HTTP, WebSocket og rå TCP kører alle på én vedvarende kontrolforbindelse, multiplekset med yamux — ét socket, mange streams.

Databasefri af design
Al tilstand lever i én mappe som almindelige .md-sidecars. tar czf er en komplet backup. Ingen migreringer, intet skema, intet at korrumpere.

Drop-in for Aspire DevTunnels
Skift én using-linje, og din AddDevTunnel-kode bliver ved med at compile. Aspire-fladen matcher Aspire.Hosting.DevTunnels præcist.

Ingen oprydning mellem kørsler
Genforbindelser genbruger samme navne og URL'er. Ingen svid-marken-af-nedrivning, intet port-kapløb — genstart så ofte du vil.
Vi ejer hele stien. Frontend, kontrolplan og CLI er vores, ende til ende. Intet af dit krydser en cloud, vi ikke kører — det er hele grunden til, den findes.
Ingen database at afhænge af. Tilstand er almindelige filer i en mappe, ikke en tjeneste der kan drifte, låse eller skulle migreres. Én ting mindre, du ikke styrer.
Kører alle vegne. En docker run på to linjer på enhver VPS — Hetzner, din egen maskine, et air-gapped netværk. Ingen managed service, ingen lock-in, intet regionskort.
Komponerer, kobler ikke. Samme mappebaserede lagringskonvention som pks-agent-inbox og pks-agent-ftp. Det er et lag i suiten, ikke en ø — tag backup på samme måde, kør kun det, du har brug for.
Bygger sammen med
Ingen stor cloud i vejen.
Eksponér enhver lokal app til internettet over én forbindelse til én server, du selv kører. Stabile URL'er, der overlever hver genstart. Ingen tenant, ingen region-split-brain, ingen oprydningsritual mellem kørsler.