devtunnel-cli 3.0.25 → 3.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,9 +5,8 @@
5
5
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
6
6
  [![Platform](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux-lightgrey)](https://github.com/maiz-an/DevTunnel)
7
7
  [![npm version](https://img.shields.io/npm/v/devtunnel-cli)](https://www.npmjs.com/package/devtunnel-cli)
8
- [![GitHub Pages](https://img.shields.io/badge/GitHub-Pages-blue)](https://maiz-an.github.io/DevTunnel/)
9
8
 
10
- 🌐 **Website:** [devtunnel.vercel.app](https://devtunnel.vercel.app) | 📦 **npm:** [devtunnel-cli](https://www.npmjs.com/package/devtunnel-cli) | 💻 **GitHub Pages:** [maiz-an.github.io/DevTunnel](https://maiz-an.github.io/DevTunnel/)
9
+ 🌐 **Website:** [devtunnel.vercel.app](https://devtunnel.vercel.app) | 📦 **npm:** [devtunnel-cli](https://www.npmjs.com/package/devtunnel-cli) | 💻 **GitHub:** [maiz-an/DevTunnel](https://github.com/maiz-an/DevTunnel)
11
10
 
12
11
  ---
13
12
 
@@ -25,20 +24,21 @@ npm install -g devtunnel-cli
25
24
  cd your-project
26
25
  ```
27
26
 
28
- **3. Start your dev server (in one terminal):**
27
+ **3. Have your app running (in one terminal):**
29
28
  ```bash
30
- npm start
31
- # OR
32
29
  npm run dev
30
+ # OR php artisan serve (Laravel)
31
+ # OR XAMPP / Live Server (PHP/HTML)
32
+ # HTML: optional — DevTunnel can start a built-in server
33
33
  ```
34
34
 
35
35
  **4. Run DevTunnel (in another terminal, same directory):**
36
36
  ```bash
37
- cd your-project # Same directory where you run npm start
38
- devtunnel-cli # Auto-detects project and port!
37
+ cd your-project # Same directory as your project
38
+ devtunnel-cli # Auto-detects project type and port!
39
39
  ```
40
40
 
41
- **That's it!** DevTunnel will automatically detect your project and running dev server port.
41
+ **That's it!** DevTunnel auto-detects Node, Laravel, HTML, and PHP/XAMPP projects.
42
42
 
43
43
  ---
44
44
 
@@ -48,7 +48,9 @@ devtunnel-cli # Auto-detects project and port!
48
48
  - 🎯 **Zero Config** - No project changes needed
49
49
  - 🔗 **Smart Proxy** - Bypasses Vite/React restrictions
50
50
  - 🌍 **Cross-Platform** - Windows, macOS, Linux
51
- - 🚀 **Any Framework** - Works with all
51
+ - 🚀 **Any Framework** - Node, React, Laravel, plain HTML, PHP/XAMPP
52
+ - 📄 **HTML** - Default port 5500; built-in static server if none running
53
+ - 🐘 **PHP/XAMPP** - Port 80; supports htdocs subfolders (e.g. http://localhost/YourProject/)
52
54
  - 🔄 **Multi-Service** - Cloudflare, Ngrok, LocalTunnel fallback
53
55
  - 📹 **Streaming Support** - Handles video/audio files (with limitations for large files)
54
56
 
@@ -56,37 +58,36 @@ devtunnel-cli # Auto-detects project and port!
56
58
 
57
59
  ## 💡 How to Use
58
60
 
59
- **Important:** Run `devtunnel-cli` from the same directory where you run `npm start` or `npm run dev`!
61
+ **Important:** Run `devtunnel-cli` from the same directory as your project!
60
62
 
61
63
  1. **Install DevTunnel** (one-time): `npm install -g devtunnel-cli`
62
- 2. **Go to your project**: `cd your-project`
63
- 3. **Start your dev server**: `npm start` or `npm run dev` (keep this running)
64
+ 2. **Go to your project**: `cd your-project` (Node, Laravel, HTML, or XAMPP folder)
65
+ 3. **Have your app running**: `npm run dev`, `php artisan serve`, or XAMPP. For HTML, optional DevTunnel can serve it.
64
66
  4. **Open a new terminal** in the same project directory
65
- 5. **Run DevTunnel**: `devtunnel-cli` (auto-detects everything!)
67
+ 5. **Run DevTunnel**: `devtunnel-cli` (auto-detects project type and port!)
66
68
  6. **Get your public URL** and share it! 🌍
67
69
 
68
- **Example:**
70
+ **Example (Node):**
69
71
  ```bash
70
- # Terminal 1 - Your dev server
72
+ # Terminal 1
71
73
  cd my-react-app
72
74
  npm run dev
73
75
 
74
- # Terminal 2 - DevTunnel (same directory!)
76
+ # Terminal 2 - same directory
75
77
  cd my-react-app
76
78
  devtunnel-cli
77
79
  ```
78
80
 
79
- **Works with any framework, API, or backend:** Vite, React, Next.js, Express, NestJS, FastAPI, Flask, Django, Spring Boot, Laravel, and any HTTP/HTTPS server!
81
+ **Works with:** Vite, React, Next.js, Express, NestJS, Laravel, plain HTML, PHP/XAMPP, and any HTTP/HTTPS server.
80
82
 
81
83
  ---
82
84
 
83
85
  ## 📖 Documentation
84
86
 
85
- Complete docs in `/docs` folder:
86
- - [Complete Guide](docs/README.md)
87
87
  - [Features](docs/FEATURES.md)
88
88
  - [Troubleshooting](docs/TROUBLESHOOTING.md)
89
- - [GitHub Pages Website](docs/DEPLOY-WEBSITE.md)
89
+ - [Contributing](docs/CONTRIBUTING.md)
90
+ - [License](docs/LICENSE)
90
91
 
91
92
  ---
92
93
 
@@ -118,9 +119,7 @@ MIT License - see [LICENSE](docs/LICENSE)
118
119
 
119
120
  ## 📦 Installation & Links
120
121
 
121
- - **npm Package**: [devtunnel-cli](https://www.npmjs.com/package/devtunnel-cli)
122
- - **GitHub Repository**: [maiz-an/DevTunnel](https://github.com/maiz-an/DevTunnel)
123
- - **GitHub Pages**: [maiz-an.github.io/DevTunnel](https://maiz-an.github.io/DevTunnel/)
124
- - **Official Website**: [devtunnel.vercel.app](https://devtunnel.vercel.app)
125
- - **Documentation**: [docs/README.md](docs/README.md)
122
+ - **Website**: [devtunnel.vercel.app](https://devtunnel.vercel.app)
123
+ - **npm**: [devtunnel-cli](https://www.npmjs.com/package/devtunnel-cli)
124
+ - **GitHub**: [maiz-an/DevTunnel](https://github.com/maiz-an/DevTunnel)
126
125
  - **Issues**: [GitHub Issues](https://github.com/maiz-an/DevTunnel/issues)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "devtunnel-cli",
3
- "version": "3.0.25",
3
+ "version": "3.0.27",
4
4
  "type": "module",
5
5
  "description": "DevTunnel - Share local dev servers worldwide. Zero configuration tunnel for any framework. Install via npm: npm install -g devtunnel-cli. Works with Vite, React, Next.js, Express, NestJS, Laravel (PHP), HTML, and more.",
6
6
  "main": "src/core/start.js",
@@ -8,13 +8,14 @@ process.emitWarning = function (warning, ...args) {
8
8
  };
9
9
  const { default: httpProxy } = await import("http-proxy");
10
10
 
11
- // Get ports from command line
11
+ // Get ports and optional base path from command line
12
12
  const TARGET_PORT = parseInt(process.argv[2]); // Your dev server port
13
13
  const PROXY_PORT = parseInt(process.argv[3]); // Port for tunnel to connect to
14
14
  const PROJECT_NAME = process.argv[4] || "Project";
15
+ const BASE_PATH = process.argv[5] || ""; // e.g. /PeopleQ for XAMPP htdocs/PeopleQ
15
16
 
16
17
  if (!TARGET_PORT || !PROXY_PORT) {
17
- console.error("Usage: node proxy-server.js <target-port> <proxy-port> [project-name]");
18
+ console.error("Usage: node proxy-server.js <target-port> <proxy-port> [project-name] [base-path]");
18
19
  process.exit(1);
19
20
  }
20
21
 
@@ -63,12 +64,22 @@ const server = http.createServer((req, res) => {
63
64
  return;
64
65
  }
65
66
 
67
+ // XAMPP subfolder: rewrite path so / → /PeopleQ/, /style.css → /PeopleQ/style.css
68
+ if (BASE_PATH) {
69
+ const prefix = BASE_PATH.replace(/\/$/, "");
70
+ req.url = prefix + (req.url === "/" ? "/" : req.url);
71
+ }
72
+
66
73
  // Proxy the request
67
74
  proxy.web(req, res);
68
75
  });
69
76
 
70
77
  // Handle WebSocket upgrade (for Vite HMR)
71
78
  server.on("upgrade", (req, socket, head) => {
79
+ if (BASE_PATH) {
80
+ const prefix = BASE_PATH.replace(/\/$/, "");
81
+ req.url = prefix + (req.url === "/" ? "/" : req.url);
82
+ }
72
83
  proxy.ws(req, socket, head);
73
84
  });
74
85
 
@@ -78,7 +89,7 @@ server.listen(PROXY_PORT, () => {
78
89
  console.log("DevTunnel Proxy Server");
79
90
  console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
80
91
  console.log(`Project: ${PROJECT_NAME}`);
81
- console.log(`Dev Server: http://localhost:${TARGET_PORT}`);
92
+ console.log(`Dev Server: http://localhost:${TARGET_PORT}${BASE_PATH || ""}`);
82
93
  console.log(`Proxy Port: ${PROXY_PORT}`);
83
94
  console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
84
95
  console.log("Ready! Tunnel will connect to proxy");
package/src/core/start.js CHANGED
@@ -17,10 +17,10 @@ function getPackageVersion() {
17
17
  const pkgPath = join(PROJECT_ROOT, "package.json");
18
18
  if (existsSync(pkgPath)) {
19
19
  const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
20
- return pkg.version || "3.0.25";
20
+ return pkg.version || "3.0.27";
21
21
  }
22
22
  } catch (err) {}
23
- return "3.0.25";
23
+ return "3.0.27";
24
24
  }
25
25
 
26
26
  // Helper to run command
@@ -136,9 +136,17 @@ function detectHtmlProject(currentDir) {
136
136
  return { name: basename(currentDir), defaultPort: 5500 }; // Live Server default; matches VS Code
137
137
  }
138
138
 
139
+ // Detect PHP/XAMPP project (index.php in root, not Laravel)
140
+ function detectPhpProject(currentDir) {
141
+ if (detectLaravelProject(currentDir)) return null; // Laravel has its own flow
142
+ const indexPhp = join(currentDir, "index.php");
143
+ if (!existsSync(indexPhp)) return null;
144
+ return { name: basename(currentDir), defaultPort: 80 }; // XAMPP/Apache default
145
+ }
146
+
139
147
  // Check common ports for running dev servers (includes Laravel 8000, XAMPP/Live Server 8080/5500)
140
148
  async function detectRunningDevServer() {
141
- const commonPorts = [3000, 5173, 5500, 8080, 8000, 5000, 4000, 3001, 5174]; // 5500 before 8080 for Live Server
149
+ const commonPorts = [3000, 5173, 5500, 8080, 8000, 80, 5000, 4000, 3001, 5174]; // 80 for XAMPP
142
150
  const detected = [];
143
151
 
144
152
  for (const port of commonPorts) {
@@ -218,6 +226,18 @@ async function autoDetectProject() {
218
226
  };
219
227
  }
220
228
 
229
+ // 4) PHP/XAMPP (index.php) — default port 80 (Apache), e.g. http://localhost/PeopleQ/
230
+ const php = detectPhpProject(currentDir);
231
+ if (php) {
232
+ const detectedPort = runningPorts.length > 0 ? runningPorts[0] : php.defaultPort;
233
+ return {
234
+ path: currentDir,
235
+ name: php.name,
236
+ port: detectedPort,
237
+ projectType: "php"
238
+ };
239
+ }
240
+
221
241
  return null;
222
242
  }
223
243
 
@@ -355,7 +375,9 @@ async function main() {
355
375
  ? "Laravel (php artisan serve)"
356
376
  : autoDetected.projectType === "html"
357
377
  ? "HTML project"
358
- : "package.json";
378
+ : autoDetected.projectType === "php"
379
+ ? "PHP/XAMPP"
380
+ : "package.json";
359
381
  console.log(`Detected port ${autoDetected.port} (${portSource}), but no server running on that port`);
360
382
  console.log("Checking for running dev servers...");
361
383
 
@@ -521,15 +543,18 @@ async function main() {
521
543
  console.log(`Selected: ${projectPath}`);
522
544
  console.log("");
523
545
 
524
- // Try to detect port for selected project (Laravel → 8000, HTML → 8080, Node from package.json)
546
+ // Try to detect port for selected project (Laravel → 8000, HTML → 5500, PHP → 80, Node from package.json)
525
547
  const selectedPackagePath = join(projectPath, "package.json");
526
548
  const laravelSelected = detectLaravelProject(projectPath);
527
549
  const htmlSelected = detectHtmlProject(projectPath);
550
+ const phpSelected = detectPhpProject(projectPath);
528
551
  let detectedPort = laravelSelected
529
552
  ? laravelSelected.defaultPort
530
553
  : htmlSelected
531
554
  ? htmlSelected.defaultPort // 5500
532
- : detectPortFromPackage(selectedPackagePath);
555
+ : phpSelected
556
+ ? phpSelected.defaultPort // 80
557
+ : detectPortFromPackage(selectedPackagePath);
533
558
 
534
559
  // Check for running servers
535
560
  const runningPorts = await detectRunningDevServer();
@@ -557,11 +582,17 @@ async function main() {
557
582
  console.log("");
558
583
  const proxyPort = devPort + 1000; // Use port 1000 higher for proxy
559
584
 
585
+ // XAMPP subfolder (e.g. htdocs/PeopleQ → http://localhost/PeopleQ/) — proxy rewrites path
586
+ const isPhpXamppSubfolder =
587
+ devPort === 80 &&
588
+ (projectPath.toLowerCase().includes("htdocs") || projectPath.toLowerCase().includes("www"));
589
+ const basePath = isPhpXamppSubfolder ? "/" + basename(projectPath) : "";
590
+
560
591
  console.log("");
561
592
  console.log("Configuration:");
562
593
  console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
563
594
  console.log(`Project: ${projectName}`);
564
- console.log(`Dev Server: localhost:${devPort}`);
595
+ console.log(`Dev Server: localhost:${devPort}${basePath || ""}`);
565
596
  console.log(`Proxy Port: ${proxyPort}`);
566
597
  console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
567
598
  console.log("");
@@ -593,7 +624,9 @@ async function main() {
593
624
  console.log("Starting services...");
594
625
  console.log("");
595
626
  const proxyPath = join(__dirname, "proxy-server.js");
596
- const proxyProcess = spawn("node", [proxyPath, devPort.toString(), proxyPort.toString(), projectName], {
627
+ const proxyArgs = [proxyPath, devPort.toString(), proxyPort.toString(), projectName];
628
+ if (basePath) proxyArgs.push(basePath);
629
+ const proxyProcess = spawn("node", proxyArgs, {
597
630
  stdio: "inherit",
598
631
  shell: false
599
632
  });
@@ -0,0 +1,73 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <meta name="description" content="DevTunnel - Share local dev servers worldwide. Zero configuration tunnel for any framework. Install via npm: npm install -g devtunnel-cli">
7
+ <meta name="keywords" content="dev tunnel, localhost tunnel, cloudflare, ngrok, port forwarding, local development, vite, react, nextjs, laravel, php, html, npm install, devtunnel">
8
+ <meta name="author" content="maiz">
9
+ <meta name="robots" content="index, follow">
10
+ <link rel="canonical" href="https://devtunnel.vercel.app/">
11
+ <meta property="og:title" content="DevTunnel - Share Local Servers Worldwide">
12
+ <meta property="og:description" content="Zero configuration tunnel for any framework. Install via npm: npm install -g devtunnel-cli">
13
+ <meta property="og:url" content="https://devtunnel.vercel.app/">
14
+ <meta property="og:type" content="website">
15
+ <meta property="og:image" content="https://devtunnel.vercel.app/og-image.png">
16
+ <meta name="twitter:card" content="summary_large_image">
17
+ <meta name="twitter:title" content="DevTunnel - Share Local Servers Worldwide">
18
+ <meta name="twitter:description" content="Zero configuration tunnel for any framework">
19
+ <meta name="twitter:image" content="https://devtunnel.vercel.app/og-image.png">
20
+ <title>DevTunnel - Share Local Servers Worldwide</title>
21
+ <style>
22
+ body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; max-width: 800px; margin: 0 auto; padding: 20px; line-height: 1.6; }
23
+ h1 { color: #3b82f6; }
24
+ .badge { display: inline-block; padding: 4px 8px; background: #3b82f6; color: white; border-radius: 4px; margin: 5px; text-decoration: none; }
25
+ .links { margin: 20px 0; }
26
+ .links a { margin-right: 15px; color: #3b82f6; text-decoration: none; }
27
+ code { background: #f4f4f4; padding: 2px 6px; border-radius: 3px; }
28
+ pre { background: #1e293b; color: #f1f5f9; padding: 15px; border-radius: 5px; overflow-x: auto; }
29
+ </style>
30
+ </head>
31
+ <body>
32
+ <h1>🚀 DevTunnel</h1>
33
+ <p><strong>Share your local dev servers worldwide - Zero config tunnel for any framework</strong></p>
34
+
35
+ <div class="links">
36
+ <a href="https://www.npmjs.com/package/devtunnel-cli" class="badge">📦 npm Package</a>
37
+ <a href="https://devtunnel.vercel.app" class="badge">🌐 Website</a>
38
+ <a href="https://github.com/maiz-an/DevTunnel" class="badge">💻 GitHub</a>
39
+ </div>
40
+
41
+ <h2>⚡ Quick Start</h2>
42
+ <h3>Install via npm (Recommended)</h3>
43
+ <pre><code>npm install -g devtunnel-cli
44
+ devtunnel-cli</code></pre>
45
+
46
+ <h2>✨ Features</h2>
47
+ <ul>
48
+ <li>🤖 Fully Automatic - Cloudflare bundled, no installation needed</li>
49
+ <li>🎯 Zero Config - No project changes needed</li>
50
+ <li>🔗 Smart Proxy - Bypasses Vite/React restrictions</li>
51
+ <li>🌍 Cross-Platform - Windows, macOS, Linux</li>
52
+ <li>🚀 Any Framework - Works with all</li>
53
+ <li>🔄 Multi-Service - Cloudflare, Ngrok, LocalTunnel fallback</li>
54
+ <li>🍃 Laravel (PHP) - Auto port 8000, XAMPP/htdocs base path</li>
55
+ <li>📄 HTML - Default port 5500 (Live Server), built-in static server</li>
56
+ <li>🐘 PHP/XAMPP - Port 80, http://localhost/ProjectName/</li>
57
+ </ul>
58
+
59
+ <h2>📖 Documentation</h2>
60
+ <p>Complete documentation in the <a href="https://github.com/maiz-an/DevTunnel/tree/main/docs">docs/</a> folder.</p>
61
+
62
+ <h2>🔗 Links</h2>
63
+ <ul>
64
+ <li><a href="https://www.npmjs.com/package/devtunnel-cli">npm Package (devtunnel-cli)</a></li>
65
+ <li><a href="https://devtunnel.vercel.app">Official Website</a></li>
66
+ <li><a href="https://github.com/maiz-an/DevTunnel">GitHub Repository</a></li>
67
+ <li><a href="https://github.com/maiz-an/DevTunnel/issues">Report Issues</a></li>
68
+ </ul>
69
+
70
+ <hr>
71
+ <p><small>Version 3.0.27 | Made with ❤️ for developers worldwide</small></p>
72
+ </body>
73
+ </html>
@@ -1,182 +0,0 @@
1
- # 🌐 DevTunnel Website Information
2
-
3
- ## 📍 Public Website Repository
4
-
5
- **GitHub:** https://github.com/maiz-an/DevTunnelPages
6
-
7
- **Live URL:** https://devtunnel.vercel.app ✅ LIVE
8
-
9
- **Deployment Date:** January 28, 2026
10
-
11
- ---
12
-
13
- ## 🏗️ Architecture
14
-
15
- ### **This Folder (`src/utils/pages/`):**
16
- - Contains original HTML/CSS/JS prototype
17
- - **Private** (in `.gitignore`)
18
- - For internal reference only
19
- - Not published to GitHub
20
-
21
- ### **Public Repository (`DevTunnelPages`):**
22
- - Next.js 15 + TypeScript version
23
- - Tailwind CSS styling
24
- - Vercel-optimized
25
- - **Public** on GitHub
26
- - Production-ready
27
-
28
- ---
29
-
30
- ## 📁 Files in This Folder
31
-
32
- ```
33
- src/utils/pages/
34
- ├── index.html ← Original HTML landing page
35
- ├── styles.css ← Original custom CSS
36
- ├── script.js ← Original JavaScript
37
- ├── README.md ← Hosting instructions (HTML version)
38
- ├── PREVIEW.bat ← Windows preview launcher
39
- └── WEBSITE-INFO.md ← This file (website details)
40
- ```
41
-
42
- ---
43
-
44
- ## 🚀 Deployment Process
45
-
46
- 1. **Prototype Created:** HTML/CSS/JS version here (private)
47
- 2. **Converted to Next.js:** Created DevTunnelPages repo
48
- 3. **Deployed to Vercel:** https://vercel.com/new
49
- 4. **Auto-Deploy:** Every push to main → automatic rebuild
50
-
51
- ---
52
-
53
- ## 🔄 Update Process
54
-
55
- **To Update the Website:**
56
-
57
- 1. Clone DevTunnelPages:
58
- ```bash
59
- cd G:\GitHubRep
60
- cd DevTunnelPages
61
- ```
62
-
63
- 2. Edit files:
64
- ```
65
- app/page.tsx ← Main content
66
- app/globals.css ← Styles
67
- ```
68
-
69
- 3. Test locally:
70
- ```bash
71
- npm install
72
- npm run dev
73
- ```
74
-
75
- 4. Push changes:
76
- ```bash
77
- git add .
78
- git commit -m "Update website"
79
- git push
80
- ```
81
-
82
- 5. Vercel auto-deploys in 2-3 minutes ✅
83
-
84
- ---
85
-
86
- ## 📊 Tech Stack Comparison
87
-
88
- | Aspect | This Folder (Private) | DevTunnelPages (Public) |
89
- |--------|----------------------|------------------------|
90
- | **Format** | HTML/CSS/JS | Next.js 15 + TypeScript |
91
- | **Styling** | Custom CSS | Tailwind CSS |
92
- | **Purpose** | Prototype/Reference | Production Website |
93
- | **Hosting** | Not hosted | Vercel |
94
- | **Git** | Ignored (private) | Public repo |
95
- | **Updates** | Manual edit | Git push → auto-deploy |
96
-
97
- ---
98
-
99
- ## 🔗 Important Links
100
-
101
- - **Public Repo:** https://github.com/maiz-an/DevTunnelPages
102
- - **Vercel Deploy:** https://vercel.com/new
103
- - **Main DevTunnel:** https://github.com/maiz-an/DevTunnel
104
- - **Deployment Guide:** See DevTunnelPages/DEPLOY.md
105
-
106
- ---
107
-
108
- ## 🔐 Privacy Note
109
-
110
- This folder (`src/utils/pages/`) is in `.gitignore` and will NOT be pushed to GitHub.
111
- Only visible in local repository for development reference.
112
-
113
- ---
114
-
115
- ## 💡 Quick Reference
116
-
117
- **Deploy Command (from DevTunnelPages):**
118
- ```bash
119
- git push # Vercel auto-deploys
120
- ```
121
-
122
- **Local Preview (from DevTunnelPages):**
123
- ```bash
124
- npm run dev # http://localhost:3000
125
- ```
126
-
127
- **Production Build (from DevTunnelPages):**
128
- ```bash
129
- npm run build
130
- npm start
131
- ```
132
-
133
- ---
134
-
135
- **Last Updated:** January 28, 2026
136
- **Status:** ✅ LIVE at https://devtunnel.vercel.app
137
-
138
- **Latest Changes (Jan 28, 2026):**
139
- - ✅ Updated to Next.js 15 (latest version)
140
- - ✅ Added favicons (all sizes)
141
- - ✅ Updated npm install command to `devtunnel-cli`
142
- - ✅ Updated terminal demo to show `devtunnel` command
143
- - ✅ Added SEO metadata (OpenGraph, Twitter, Google Search Console)
144
- - ✅ Added sitemap.xml and robots.txt
145
- - ✅ Added npm link to navigation bar
146
- - ✅ Removed developer name from metadata
147
- - ✅ Added Google Search Console verification
148
- - ✅ Added structured data (JSON-LD) for SEO
149
- - ✅ Updated version to 3.0.10
150
- - ✅ Added auto-detection feature documentation
151
- - ✅ Added streaming support documentation
152
- - ✅ Improved features list with auto-detection
153
-
154
- ---
155
-
156
- ## 🎉 Deployment Details
157
-
158
- **Live Website:** https://devtunnel.vercel.app
159
-
160
- **Build Stats:**
161
- - Build Time: ~32 seconds
162
- - Next.js Version: 15.1.6 (latest)
163
- - Total Pages: 4
164
- - First Load JS: 105 kB
165
- - Status: ✅ Successfully deployed
166
- - npm Package: `devtunnel-cli@3.0.10` (published and live)
167
- - Latest Features: Auto-detection, streaming support, improved port detection
168
-
169
- **Vercel Project:** devtunnel
170
-
171
- **Auto-Deploy:** ✅ Every push to main branch auto-deploys in ~30 seconds
172
-
173
- ---
174
-
175
- ## 🔗 All Links
176
-
177
- | Purpose | URL |
178
- |---------|-----|
179
- | **Live Website** | https://devtunnel.vercel.app |
180
- | **Website Repo** | https://github.com/maiz-an/DevTunnelPages |
181
- | **Main DevTunnel** | https://github.com/maiz-an/DevTunnel |
182
- | **Vercel Dashboard** | https://vercel.com/dashboard |