localhost, shared

Turn localhost into a link.

You already have something running on your machine. Run one command and get a public HTTPS URL anyone can open. A client, a teammate, your own phone. No deployment. No account. No config.

Public launch Sep 6, 2026 / 4:30 PM CT
00days
00hrs
00min
00sec

Local

http://localhost:3000

npx devlink365

Shareable

https://a8f3k2qd.devlink365.dev

Live Expires in 4 hours

How it works

Three steps. The third one is sending a message.

DevLink365 shares a server you are already running. It does not build anything, deploy anything, or ask you to sign up for anything.

01

Run your app

Whatever you normally do. Next.js, Vite, Rails, Django, a static folder. It does not matter.

npm run dev

02

Run DevLink365

In a second terminal. It finds the port your app is on and opens a secure tunnel out to the internet.

npx devlink365

03

Send the link

Anyone who opens it sees the app running on your machine, live, as you change it.

https://a8f3k2qd.devlink365.dev

The whole thing

One command, and you have a link.

This is not an abbreviated example. This is the entire experience.

~/projects/my-app
$ npx devlink365

   DevLink365 is running

  Local:   http://localhost:3000
  Public:  https://a8f3k2qd.devlink365.dev

  Expires: in 4 hours
  Relay:   relay.devlink365.dev

  Anyone with the link can reach your local app. Press Ctrl+C to stop sharing.

  14:22:07  GET    200  /                      12ms · 4.1 kB
  14:22:07  GET    200  /_next/static/chunk.js  3ms · 89.2 kB
  14:22:11  POST   201  /api/checkout          48ms · 312 B
  14:23:02  GET    404  /favicon.ico            2ms · 0 B

Two ways in

Use it as a command, or as a library.

At the terminal

Just the command

The common case needs no flags at all. When you do need one, there are only a handful, and each exists because guessing would be wrong.

In your code

The same thing, scriptable

Open a tunnel from a test suite or a CI job, hand the URL to a webhook provider or a screenshot service, and tear it down when you are done.

Compatibility

If it speaks HTTP on a port, it works.

DevLink365 forwards raw HTTP. It has no opinion about what is on the other end, which is why the core package will never depend on a framework. Deeper, automatic integrations are planned per ecosystem.

Next.js Vite React Vue Svelte Astro Nuxt Remix Node Express Hono Fastify Django Flask Rails Laravel Go Hugo Jekyll python -m http.server

Security

You are pointing the internet at your laptop.

That is the whole idea, and it is also the whole risk. Here is exactly what DevLink365 does about it, and what it does not do yet.

  • Unguessable URLsIds come from a cryptographic random source over an alphabet with no vowels and no look-alike characters. Naming a link never removes the random part.
  • Everything expiresFour hours by default, twenty-four at the absolute maximum, enforced by the relay rather than trusted to the client.
  • Ctrl+C is finalClosing the CLI closes the tunnel and the URL dies with it. Immediately, not eventually.
  • Reserved names are off limitsNo tunnel can ever be served at a hostname people reasonably trust, and only one level of subdomain is ever routed.
  • Your database stays putAutomatic detection only ever selects a port that answered with HTTP, so an open Postgres port is never quietly published.
  • Limits, not promisesRequest bodies are capped, visitors are rate limited per tunnel, and one machine cannot open an unbounded number of links.
  • Not yet: passwords or visitor authUntil those ship, treat a DevLink365 URL as public. Anyone holding it can reach your app, so do not point one at something with real credentials or production data.

Where this goes

The link is the beginning, not the product.

The long game is a live, collaborative window into local development. Everything below Phase 1 is a plan, not a feature. None of it exists yet.

Phase 1 · Core

localhost to public HTTPS · the CLI · temporary links · configurable expiration · secure defaults

Shipped

Phase 2 · Sharing

password protection · visitor authentication · QR codes · mobile preview · finer sharing controls

Planned

Phase 3 · Inspection

request inspection · session visibility · webhook testing · live traffic view

Planned

Phase 4 · Collaboration

invite teammates and clients · comments and annotations · shared application state · bug reproduction

Planned

Phase 5 · Intelligence

AI request and session analysis · debugging assistance · automatic issue explanations

Planned

Get started

Your localhost. Anywhere.

Start your app, then run this. Nothing to install, nothing to sign up for.

$npx devlink365