Multi-Architecture Engine
Analyzes directory signatures to detect Next.js, Vite, Angular, Astro, SvelteKit, Python (FastAPI/Django/Flask/Streamlit/Gradio), Docker, Go, Rust, PHP, Java Spring/Gradle, or static HTML automatically.
One-click universal project runner, tunnel orchestrator & QR gateway. AnyRun inspects, configures, and launches projects across 22+ software architectures, dynamically detects listening ports, creates instant public HTTPS tunnels, and prints scannable QR codes in both your terminal and a local web dashboard.
Analyzes directory signatures to detect Next.js, Vite, Angular, Astro, SvelteKit, Python (FastAPI/Django/Flask/Streamlit/Gradio), Docker, Go, Rust, PHP, Java Spring/Gradle, or static HTML automatically.
Resolves assigned dev server ports via log stream parsing, netstat socket polling on child PID trees, and automatic stale port termination with zero collision errors.
Generates instant zero-latency Local Wi-Fi direct links for fast local device testing alongside global public HTTPS tunnels with free SSL termination and zero account requirements.
Execution Pipeline
AnyRun bypasses manual port configuration, tunnel provisioning, and network lookup by orchestrating detection, execution, and proxying in a single unified pipeline.
1. Intake → Drag & drop folder onto any-run.bat, run CLI path, or browse Web Center
2. Detect → Scan signatures across Node, Python venv, Docker, Go, Rust, PHP, Java
3. Supervise → Spawn child process tree, clean stale ports, sniff TCP listening socket
4. Intercept → Reverse proxy captures network requests, enables request replay & WebSocket relay
5. Tunnel → Provision Cloudflare quick tunnel (trycloudflare.com) or Pinggy SSH fallback
6. Broadcast → Output ANSI half-block QR to terminal & broadcast SVG/PNG QR to Web Center :3737
Network Access
Direct IP connection over your local Wi-Fi router (http://192.168.x.x:port).
Global public HTTPS URL via Cloudflare Quick Tunnels (https://<hash>.trycloudflare.com).
Detection Matrix
AnyRun matches file signatures, resolves project-local virtual environments, and issues the exact startup command.
| Architecture | Signature Files | Detection Logic & Command | Default Port |
|---|---|---|---|
| Next.js | package.json (next) | npm run dev / yarn dev / pnpm dev | 3000 |
| Vite | package.json (vite), vite.config | Parses vite.config.{ts,js} for port overrides; npm run dev | 5173 |
| Angular | package.json (@angular/core) | npm start | 4200 |
| Astro | package.json (astro) | npm run dev | 4321 |
| SvelteKit | package.json (@sveltejs/kit) | npm run dev | 5173 |
| Nuxt | package.json (nuxt) | npm run dev | 3000 |
| Remix | package.json (@remix-run/react) | npm run dev | 3000 |
| Create React App | package.json (react-scripts) | npm start | 3000 |
| Node.js (Backend) | package.json, server.js | Inspects dev, start, or falls back to node server.js | 3000 |
| Python (FastAPI) | main.py, app.py (fastapi) | Auto-detects .venv / venv / env; uvicorn main:app --reload | 8000 |
| Python (Django) | manage.py | python manage.py runserver 0.0.0.0:8000 | 8000 |
| Python (Flask) | app.py, wsgi.py (flask) | flask run --host 0.0.0.0 --port 5000 | 5000 |
| Python (Streamlit) | main.py (streamlit) | streamlit run <file> --server.port 8501 | 8501 |
| Python (Gradio) | app.py (gradio) | python <file> | 7860 |
| Docker Compose | compose.yaml, docker-compose.yml | Parses exposed ports; docker compose up | 8080 |
| Dockerfile | Dockerfile | Parses EXPOSE; builds and runs container | 8080 |
| Go | go.mod, main.go | go run . | 8080 |
| Rust | Cargo.toml | cargo run | 8080 |
| PHP (Laravel) | artisan | php artisan serve --host 0.0.0.0 --port 8000 | 8000 |
| PHP (Built-in) | index.php | php -S 0.0.0.0:8000 | 8000 |
| Java (Spring / Maven) | pom.xml | mvn spring-boot:run | 8080 |
| Java (Gradle) | build.gradle, gradlew.bat | gradle bootRun | 8080 |
| Static HTML / SPA | index.html, HTML/CSS/JS | Built-in zero-dependency high-speed static server | 5000 |
Port Resolution
Development servers often shift ports dynamically (e.g., Vite moving from 5173 to 5174 if 5173 is occupied). AnyRun resolves the true port without manual guesswork.
Captures explicit port announcements (Local: http://...:PORT, listening on port PORT, Uvicorn running on ...) while discarding "in use" collision noise.
Queries child process PID trees via netstat (Windows) or lsof (Unix) to find open listening TCP sockets belonging directly to the spawned process.
If a previous crashed process leaves target ports locked, AnyRun automatically terminates stale zombie processes holding that socket before initiating launch.
Capabilities
Drag any project folder directly onto any-run.bat to launch dependencies, configure ports, create tunnels, and print QR codes in one click.
Local browser dashboard with multi-drive file browser, recent project quick-launch chips, live metrics, and real-time terminal log search.
In-memory reverse proxy logging HTTP method, status codes, request duration, header inspection, and bidirectional WebSocket relay for Vite HMR.
Click Replay on any captured HTTP request to re-fire against your local service with modified headers or body, plus one-click Copy as cURL.
Interactive iframe modal with realistic device frames (iPhone 15 Pro, iPhone SE, Pixel 7, iPad Mini), orientation toggle, and hard refresh.
Silent Windows VBScript launcher (any-run.vbs) running without keeping terminal windows open, with automatic cleanup on tab close.
Automatically detects and terminates abandoned zombie processes holding target ports from previous crashes before launching.
Strict path traversal interception, SSRF prevention binding request replay to 127.0.0.1, and rotating in-memory ring buffers for memory discipline.
Single-key interactive controls in any TTY terminal to open links, copy tunnel URLs, restart processes, or cleanly terminate all subprocesses.
Keyboard Controls
When running AnyRun in a TTY terminal, single-key commands provide instant control without typing arguments.
| Key | Action | Description |
|---|---|---|
| o | Open Public Tunnel | Opens the public HTTPS tunnel link in your default browser |
| l | Open Control Center | Opens the local Web Control Center (http://localhost:3737) |
| r | Restart Application | Stops current process tree and re-executes the launch sequence |
| c | Copy Tunnel URL | Copies the public trycloudflare.com URL directly to clipboard |
| w | Copy Wi-Fi URL | Copies the direct local LAN IP URL (http://192.168.x.x:port) |
| h | Show Help | Displays the shortcut hotkey reference manual in terminal |
| q | Quit | Gracefully terminates child processes, tunnels, and exits cleanly |
Quick Start & CLI
# Method A: Drag & Drop or Double-Click (Windows)
# Double-click any-run.bat or drag any folder directly onto the script
# Method B: Global CLI Usage
npm install -g any-run
any-run ./my-react-app
any-run D:\backend\fastapi --port 8000 --tunnel cloudflare
# Method C: Interactive Web Control Center
npm start
# → Open http://localhost:3737 to browse drives and monitor traffic
# Run Automated Verification Suite
npm test
| CLI Option | Type / Values | Description |
|---|---|---|
--port <number> | Number | Target application dev server port override |
--tunnel <provider> | cloudflare | pinggy | auto | Tunnel provider strategy (default: auto) |
--web-port <number> | Number | Web Control Center dashboard port (default: 3737) |
--no-open | Flag | Do not automatically launch default browser on startup |
--auto-exit | Flag | Terminate AnyRun when the Web Control Center browser tab closes |
--help, -h | Flag | Display comprehensive CLI reference and usage manual |
Integration API
The Web Control Center exposes a clean JSON API and live event stream for headless integrations.
| Endpoint | Method | Description |
|---|---|---|
/api/events | GET | Server-Sent Events (SSE) stream for status, logs, requests, and telemetry |
/api/status | GET | Returns current runner state, URLs, ports, and system metrics |
/api/logs | GET | Returns rolling terminal log buffer (up to 2,000 entries) |
/api/requests | GET | Returns rolling intercepted network request history (up to 500 entries) |
/api/scan | POST | Inspects directory { "path": "/path/to/project" } and returns detected config |
/api/run | POST | Starts execution for { "path": "...", "port": 3000, "tunnel": "auto" } |
/api/stop | POST | Stops all active processes, tunnels, and reverse proxies |
/api/restart | POST | Performs graceful teardown and re-executes the current project |
/api/browse | GET | File system navigator (?dir=/path or ?dir=drives) |
/api/locate-folder | POST | Finds matching folder path from a dropped folder name |
/api/replay | POST | Replays HTTP request { "method": "GET", "path": "/api", "headers": {} } |
/api/shutdown | POST | Shuts down the background AnyRun control server cleanly |
Inspection & Debugging
AnyRun sits transparently between incoming tunnel/LAN traffic and your local development server, providing full observability without installing browser extensions.
Logs HTTP method, URL path, color-coded status codes, client IP, millisecond duration, and timestamps into a high-speed rolling buffer.
Full bidirectional streaming proxy support for Vite Hot Module Replacement, Next.js Fast Refresh, and persistent socket connections.
Re-fire any captured HTTP request with custom headers or payloads directly against your local service, with one-click Copy as cURL export.
Security & Resilience
AnyRun treats untrusted network traffic and local process boundaries with zero assumptions.
/../../etc/passwd or %c0%af) with 403 Forbidden.127.0.0.1 and validated ports, preventing internal network scanning.taskkill /pid <PID> /f /t on Windows and detached process groups on Unix to eliminate zombie subprocesses.any-run.vbs) provides zero-window execution with browser-tab-close auto-cleanup.Downloads & Releases
Every desktop binary is compiled with Electron Builder, bundling the architecture detector, socket sniffer, and Cloudflare tunnel orchestrator into a zero-dependency standalone application.
Official NSIS desktop installer with Start Menu integration, desktop shortcut, and background service runner.
Packaged disk image for macOS. Native Apple Silicon (M1/M2/M3/M4) and Intel x64 architectures.
Standalone AppImage executable for all distributions, or Debian/Ubuntu native package with system service.
| Package / Filename | Format | Target | SHA-256 Digest |
|---|---|---|---|
| AnyRun.Setup.1.0.0.exe | .exe | Windows x64 | 1145d439480c81a8c4bc74cc4... |
| AnyRun.1.0.0.exe | .exe | Windows Portable | dae43f1cfa319611814f01203... |
| AnyRun-1.0.0-arm64.dmg | .dmg | macOS Apple Silicon | 67de4ac2c69e3ec82b0d5a00c... |
| AnyRun-1.0.0.dmg | .dmg | macOS Intel x64 | 543dcdb54db6cf2c6c69f88c1... |
| AnyRun-1.0.0.AppImage | .AppImage | Linux x64 | 30af02f7c4ee8ff629579a7de... |
| any-run_1.0.0_amd64.deb | .deb | Debian / Ubuntu | 1ea2f31dc9444c4ff3b0eda71... |
# 1. Clone & install dependencies
git clone https://github.com/thesatyamjain/AnyRun.git
cd AnyRun && npm install
# 2. Launch any project with automatic port detection & tunnel
node bin/any-run.js /path/to/project
# 3. Or launch Desktop GUI Control Center
npm start
Operating Flow
01 · Intake
Drag any folder onto any-run.bat or run any-run <dir> from your terminal.
02 · Detect
Signatures detect frameworks, configure virtualenvs, and resolve ports dynamically.
03 · Tunnel
Cloudflare quick tunnel establishes a public HTTPS URL with free SSL termination.
04 · Scan & Test
Scan the QR on your phone, inspect live traffic, and replay requests in Web Center.