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.
Now live. Share your localhost.
Local
http://localhost:3000
Shareable
https://a8f3k2qd.devlink365.dev
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.
$ 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.
Get started
Your localhost. Anywhere.
Start your app, then run this. Nothing to install, nothing to sign up for.