@ash013/vite-plugin-devshare
v1.0.4
Published
Instantly share your Vite dev server with a QR code and public URL — no sign-up needed.
Maintainers
Readme
vite-plugin-devshare
Instantly share your Vite dev server across devices with a QR code and public URL — zero sign-up, zero config.
Tired of figuring out your IP address, firewall rules, or being on the same Wi-Fi? This plugin tunnels your local Vite server to the internet in one step.
What it does
When you run npm run dev, the plugin:
- Detects the port Vite started on
- Opens a secure tunnel via localtunnel
- Prints a QR code and public URL in your terminal
- Scan the QR on any phone, tablet, or remote device — you're live
──────────────────────────────────────────────────
devshare Your dev server is live on the internet!
──────────────────────────────────────────────────
Scan QR or open link on any device:
█▀▀▀▀▀█ ▀▀▄▄▀ █▀▀▀▀▀█
█ ███ █ ▀█▀▄▀ █ ███ █
█ ▀▀▀ █ ██▀▄█ █ ▀▀▀ █
▀▀▀▀▀▀▀ ▀ █ █ ▀▀▀▀▀▀▀
➜ Shareable: https://cyan-dog-42.loca.lt
⚠ Anyone with this link can access your local server.
──────────────────────────────────────────────────Install
npm install -D vite-plugin-devshareUsage
vite.config.js
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import devshare from 'vite-plugin-devshare'
export default defineConfig({
plugins: [
react(),
devshare(), // ← just add this line
],
})Then run as usual:
npm run devYour terminal will show the QR code and public URL automatically.
Options
devshare({
subdomain: 'my-app', // Request a custom subdomain (e.g. https://my-app.loca.lt)
// Not guaranteed — localtunnel does best-effort
print: true, // Print QR + URL to terminal (default: true)
onUrl: (url) => { // Callback when tunnel is ready
console.log('Tunnel:', url)
},
})FAQ
Does it need an account? No. Uses localtunnel which is free and anonymous.
Is it secure? The tunnel is HTTPS. However, anyone with the URL can access your server. Only share with people you trust.
Does it work with HMR (Hot Module Replacement)? Yes — Vite's HMR websocket goes through the tunnel too. Changes appear live on the remote device.
Can I use a custom subdomain?
You can request one with the subdomain option. It's best-effort and may be taken.
What if localtunnel is down? The plugin fails gracefully — your local dev server still runs normally, just without the tunnel.
How it works
Your Machine Internet
┌──────────────┐ ┌────────────────────────┐
│ Vite :5173 │◄──── tunnel ───│ https://xyz.loca.lt │◄── Phone / Tablet / etc.
└──────────────┘ └────────────────────────┘
▲
│
vite-plugin-devshare
(starts tunnel, prints QR)License
MIT
