devtunnel-cli 3.0.6 → 3.0.8
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 +22 -2
- package/package.json +21 -10
- package/src/core/proxy-server.js +18 -3
- package/src/core/start.js +2 -2
package/README.md
CHANGED
|
@@ -4,8 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://opensource.org/licenses/MIT)
|
|
6
6
|
[](https://github.com/maiz-an/DevTunnel)
|
|
7
|
+
[](https://www.npmjs.com/package/devtunnel-cli)
|
|
8
|
+
[](https://maiz-an.github.io/DevTunnel/)
|
|
7
9
|
|
|
8
|
-
🌐 **Website:** [devtunnel.vercel.app](https://devtunnel.vercel.app)
|
|
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
11
|
|
|
10
12
|
---
|
|
11
13
|
|
|
@@ -46,6 +48,7 @@ npm start
|
|
|
46
48
|
- 🌍 **Cross-Platform** - Windows, macOS, Linux
|
|
47
49
|
- 🚀 **Any Framework** - Works with all
|
|
48
50
|
- 🔄 **Multi-Service** - Cloudflare, Ngrok, LocalTunnel fallback
|
|
51
|
+
- 📹 **Streaming Support** - Handles video/audio files (with limitations for large files)
|
|
49
52
|
|
|
50
53
|
---
|
|
51
54
|
|
|
@@ -87,4 +90,21 @@ MIT License - see [LICENSE](docs/LICENSE)
|
|
|
87
90
|
|
|
88
91
|
---
|
|
89
92
|
|
|
90
|
-
**Version 3.0.
|
|
93
|
+
**Version 3.0.6** | Made with ❤️ for developers worldwide
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## 🔍 Search Keywords
|
|
98
|
+
|
|
99
|
+
**DevTunnel** | **dev tunnel** | **localhost tunnel** | **cloudflare tunnel** | **ngrok alternative** | **port forwarding** | **local development** | **vite tunnel** | **react dev server** | **nextjs tunnel** | **npm devtunnel** | **devtunnel-cli** | **share localhost** | **development tools** | **zero config tunnel**
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## 📦 Installation & Links
|
|
104
|
+
|
|
105
|
+
- **npm Package**: [devtunnel-cli](https://www.npmjs.com/package/devtunnel-cli)
|
|
106
|
+
- **GitHub Repository**: [maiz-an/DevTunnel](https://github.com/maiz-an/DevTunnel)
|
|
107
|
+
- **GitHub Pages**: [maiz-an.github.io/DevTunnel](https://maiz-an.github.io/DevTunnel/)
|
|
108
|
+
- **Official Website**: [devtunnel.vercel.app](https://devtunnel.vercel.app)
|
|
109
|
+
- **Documentation**: [docs/README.md](docs/README.md)
|
|
110
|
+
- **Issues**: [GitHub Issues](https://github.com/maiz-an/DevTunnel/issues)
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "devtunnel-cli",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.8",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"description": "Share local dev servers worldwide
|
|
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 and more.",
|
|
6
6
|
"main": "src/core/start.js",
|
|
7
7
|
"bin": {
|
|
8
8
|
"devtunnel": "src/core/RUN.js"
|
|
@@ -14,25 +14,36 @@
|
|
|
14
14
|
"tunnel": "node src/core/index.js"
|
|
15
15
|
},
|
|
16
16
|
"keywords": [
|
|
17
|
-
"tunnel",
|
|
17
|
+
"dev tunnel",
|
|
18
18
|
"devtunnel",
|
|
19
|
-
"
|
|
19
|
+
"localhost tunnel",
|
|
20
|
+
"cloudflare tunnel",
|
|
21
|
+
"ngrok alternative",
|
|
20
22
|
"ngrok",
|
|
21
23
|
"localtunnel",
|
|
22
24
|
"dev-server",
|
|
23
|
-
"share",
|
|
25
|
+
"share localhost",
|
|
24
26
|
"public-url",
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
27
|
+
"port forwarding",
|
|
28
|
+
"local development",
|
|
29
|
+
"vite tunnel",
|
|
30
|
+
"react dev server",
|
|
31
|
+
"nextjs tunnel",
|
|
28
32
|
"nestjs",
|
|
29
33
|
"express",
|
|
30
34
|
"backend",
|
|
31
35
|
"frontend",
|
|
32
36
|
"proxy",
|
|
37
|
+
"development tools",
|
|
38
|
+
"web development",
|
|
39
|
+
"tunnel service",
|
|
40
|
+
"local server sharing",
|
|
41
|
+
"dev server proxy",
|
|
42
|
+
"cloudflare tunnel cli",
|
|
43
|
+
"ngrok alternative free",
|
|
44
|
+
"zero config tunnel",
|
|
33
45
|
"development",
|
|
34
|
-
"localhost"
|
|
35
|
-
"port-forwarding"
|
|
46
|
+
"localhost"
|
|
36
47
|
],
|
|
37
48
|
"author": "maiz",
|
|
38
49
|
"license": "MIT",
|
package/src/core/proxy-server.js
CHANGED
|
@@ -11,12 +11,15 @@ if (!TARGET_PORT || !PROXY_PORT) {
|
|
|
11
11
|
process.exit(1);
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
// Create proxy
|
|
14
|
+
// Create proxy with streaming support
|
|
15
15
|
const proxy = httpProxy.createProxyServer({
|
|
16
16
|
target: `http://localhost:${TARGET_PORT}`,
|
|
17
17
|
changeOrigin: true,
|
|
18
18
|
ws: true, // Enable WebSocket proxying (for HMR)
|
|
19
|
-
xfwd: true
|
|
19
|
+
xfwd: true,
|
|
20
|
+
timeout: 300000, // 5 minutes timeout for large files
|
|
21
|
+
proxyTimeout: 300000, // 5 minutes proxy timeout
|
|
22
|
+
followRedirects: true
|
|
20
23
|
});
|
|
21
24
|
|
|
22
25
|
// Handle proxy errors
|
|
@@ -28,13 +31,25 @@ proxy.on("error", (err, req, res) => {
|
|
|
28
31
|
}
|
|
29
32
|
});
|
|
30
33
|
|
|
31
|
-
// Create HTTP server
|
|
34
|
+
// Create HTTP server with timeout handling
|
|
32
35
|
const server = http.createServer((req, res) => {
|
|
36
|
+
// Set longer timeout for large file transfers
|
|
37
|
+
req.setTimeout(300000); // 5 minutes
|
|
38
|
+
res.setTimeout(300000); // 5 minutes
|
|
39
|
+
|
|
33
40
|
// Add CORS headers
|
|
34
41
|
res.setHeader("Access-Control-Allow-Origin", "*");
|
|
35
42
|
res.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
|
|
36
43
|
res.setHeader("Access-Control-Allow-Headers", "*");
|
|
37
44
|
|
|
45
|
+
// Handle timeout
|
|
46
|
+
req.on('timeout', () => {
|
|
47
|
+
if (!res.headersSent) {
|
|
48
|
+
res.writeHead(408, { "Content-Type": "text/plain" });
|
|
49
|
+
res.end("Request timeout");
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
|
|
38
53
|
if (req.method === "OPTIONS") {
|
|
39
54
|
res.writeHead(200);
|
|
40
55
|
res.end();
|
package/src/core/start.js
CHANGED
|
@@ -61,12 +61,12 @@ async function main() {
|
|
|
61
61
|
// Show ASCII logo
|
|
62
62
|
showLogo();
|
|
63
63
|
|
|
64
|
-
console.log("DevTunnel v3.0.
|
|
64
|
+
console.log("DevTunnel v3.0.8");
|
|
65
65
|
console.log("Share your local dev servers worldwide");
|
|
66
66
|
console.log("");
|
|
67
67
|
console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
|
|
68
|
-
console.log("Developer: maiz");
|
|
69
68
|
console.log("Repository: https://github.com/maiz-an/DevTunnel");
|
|
69
|
+
console.log("npm Package: https://www.npmjs.com/package/devtunnel-cli");
|
|
70
70
|
console.log("Website: https://devtunnel.vercel.app");
|
|
71
71
|
console.log("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
|
|
72
72
|
console.log("");
|