A free, local-first desktop tool that scans for active dev servers and generates instant QR codes - so you can open your localhost on any device in your network with one scan.
EnvTunnel is a Windows desktop application built with Tauri + React + TypeScript. It sits in your system tray, silently monitors popular development ports, and the moment it detects an active server it generates a large QR code using your real local network IP (e.g. 192.168.1.15).
No cloud. No accounts. No internet required. 100% offline.
- Frontend developers who test websites on real phones/tablets
- Full-stack developers running local APIs and web apps
- Designers who want to preview work on mobile devices
- Anyone who is tired of typing
192.168.x.x:3000on a phone keyboard
| Feature | Description |
|---|---|
| 🔍 Auto-scan | Checks 16+ popular dev ports every 3 seconds |
| 📱 QR Codes | Big, scannable QR generated instantly for any active port |
| 🧠 Framework Detection | Recognizes Vite, Next.js, Astro, Angular, Nuxt, Gatsby, Django, Flask, Laravel, Rails, Express |
| 🔔 Toast Notifications | Get notified when a new dev server comes online |
| ⚡ Live Reload Indicator | Orange pulse shows which port just became active |
| ➕ Custom Ports | Add any port manually (e.g. 6969) |
| 🔗 Custom Paths | Append /admin, ?debug=true or any path to the QR URL |
| 📋 Copy URL | One-click copy of the full address to clipboard |
| 💾 Save QR | Export QR code as PNG image |
| 🖥️ System Tray | Minimizes to tray. Click to restore, right-click to quit |
| 🚀 Autostart | Optional launch with Windows |
EnvTunnel scans these ports out of the box:
| Port | Common Use |
|---|---|
3000 |
React, Next.js, Express |
4321 |
Astro |
5173 |
Vite |
8080 |
Vue, general dev |
4200 |
Angular |
5000 |
Flask, ASP.NET |
8000 |
Django, general dev |
9000 |
Gatsby |
3333 |
Nuxt 2 |
3030 |
Parcel |
5500 |
Live Server (VS Code) |
4000 |
SvelteKit, Rails |
6000 |
Create React App |
7000 |
Vercel dev |
5001 |
ASP.NET alternate |
8001 |
Django alternate |
You can also add any custom port via the in-app input.
- Download
EnvTunnel_0.1.0_x64-setup.exefrom Releases - Run the installer
- Launch EnvTunnel from Start Menu or Desktop
Prerequisites:
Build steps:
# Clone
git clone https://github.com/YOUR_USERNAME/envtunnel.git
cd envtunnel
# Install dependencies
npm install
# Build frontend + Tauri (production)
npm run tauri build
# The .exe will be at:
# src-tauri/target/release/app.exeNote for Windows builders: If you get
LNK1181: cannot open input file legacy_stdio_definitions.lib, add this to yourLIBenvironment variable:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\lib\onecore\x64
Run your project as usual, e.g.:
npm run dev # Vite, Astro, Next.js, etc.Important: Some frameworks (like Astro) only bind to localhost by default. To access from your phone, add --host:
npm run dev -- --hostThe app scans every 3 seconds. When your port turns ON (green), it appears in the list.
Select the active port. The QR code updates instantly.
Open your camera app and scan the QR code. Your phone browser opens the local URL directly.
- Custom Path: Type
/adminin the Custom section to generatehttp://192.168.1.15:3000/admin - Save QR: Click "SAVE QR" to download the code as a PNG
- Tray Mode: Clicking X minimizes to system tray. Right-click the tray icon to fully quit.
| Layer | Technology |
|---|---|
| Framework | Tauri v2 |
| Frontend | React 19 + TypeScript |
| Bundler | Vite |
| Styling | Tailwind CSS v4 (new @theme syntax) |
| QR Generation | qrcode.react |
| Autostart | tauri-plugin-autostart |
| HTTP Scanning | reqwest (Rust) |
| Design Style | Digital Brutalism |
EnvTunnel is a local-first desktop app. It works completely offline:
-
Rust Backend (
src-tauri/src/lib.rs)- Gets your real local Wi-Fi IP address
- Scans ports by attempting TCP connections to
127.0.0.1 - Performs HTTP GET requests to detect frameworks from HTML
-
React Frontend (
src/App.tsx)- Displays active ports as compact buttons
- Generates QR codes using your network IP (not localhost!)
- Handles copy/save/autostart UI interactions
-
System Tray (Rust)
- Keeps the app running in the background
- Prevents accidental close (hides instead)
Contributions are welcome! This is an open-source project meant to help developers.
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit your changes:
git commit -am 'Add new feature' - Push to the branch:
git push origin feature/my-feature - Open a Pull Request
- Add more framework detection patterns
- Support for macOS / Linux builds
- Dark/Light theme toggle
- ngrok / Cloudflare Tunnel integration
- Network device scanner
- QR code style customization
MIT License. Feel free to use, modify, and distribute.
Built with 💚 and neon green pixels.
EnvTunnel. Stop typing IP addresses on your phone.
