LocalTunnel 随机崩溃,子域不再有效
LocalTunnel randomly crashes and subdomain no longer works
我的机器上有一个通过 Node 运行的服务器。它在我的电脑使用 lt --subdomain mydomain --port 3000
在自定义子域下启动时运行 我注意到它在大约 6 小时后开始随机崩溃。我把这归结为节点服务器或 localtunnel 重启或我的互联网质量差。
当我重新运行上面的 localtunnel 命令时,它说子域已被占用(给出一个随机子域)。如何使 localtunnel 正确关闭隧道以允许重用我的子域?
如果发生连接错误,我已经成功地创建了一个 class redigs/restarts 隧道。它不是解决问题的方法,但可以防止问题发生。我已经使用这个作为解决方案一年了,没有遇到任何问题,所以我希望它也对你有用。
easy-tunnel.js
const { exec } = require("child_process")
const colours = require("colors")
const base_host = 'http://localtunnel.me'
class EasyTunnel {
/**
*
* @param {number} port
* @param {string} subdomain
* @param {string} [host] defaults to 'http://localtunnel.me'
*/
constructor(port, subdomain, host) {
this.port = port
this.subdomain = subdomain
this.host = host ? host : base_host
}
/**
* Start the EasyTunnel
* @param {string} [status] used so redigging does not show initial dig message
*/
start(status) {
if (status != 'redig') console.log(`> Dug a tunnel for ${this.subdomain.yellow} on port ${this.port.toString().cyan} at ${this.host.green}`)
exec(`lt --subdomain ${this.subdomain} --port ${this.port} --host ${this.host}`, async (err, out) => {
if (err.toString().includes('connection refused')) {
this.start("redig")
console.log("> Redigging tunnel")
}
})
}
}
module.exports = EasyTunnel
main-app.js
var express = require("express")
var easyTunnel = require("./imports/easy-tunnel")
var port = 3000
var localtunnel = new easyTunnel(port, 'website-name')
var app = express();
app.get("/", (req, res) => {
res.send(":)")
}
app.listen(port, () => localtunnel.start());
我的机器上有一个通过 Node 运行的服务器。它在我的电脑使用 lt --subdomain mydomain --port 3000
在自定义子域下启动时运行 我注意到它在大约 6 小时后开始随机崩溃。我把这归结为节点服务器或 localtunnel 重启或我的互联网质量差。
当我重新运行上面的 localtunnel 命令时,它说子域已被占用(给出一个随机子域)。如何使 localtunnel 正确关闭隧道以允许重用我的子域?
如果发生连接错误,我已经成功地创建了一个 class redigs/restarts 隧道。它不是解决问题的方法,但可以防止问题发生。我已经使用这个作为解决方案一年了,没有遇到任何问题,所以我希望它也对你有用。
easy-tunnel.js
const { exec } = require("child_process")
const colours = require("colors")
const base_host = 'http://localtunnel.me'
class EasyTunnel {
/**
*
* @param {number} port
* @param {string} subdomain
* @param {string} [host] defaults to 'http://localtunnel.me'
*/
constructor(port, subdomain, host) {
this.port = port
this.subdomain = subdomain
this.host = host ? host : base_host
}
/**
* Start the EasyTunnel
* @param {string} [status] used so redigging does not show initial dig message
*/
start(status) {
if (status != 'redig') console.log(`> Dug a tunnel for ${this.subdomain.yellow} on port ${this.port.toString().cyan} at ${this.host.green}`)
exec(`lt --subdomain ${this.subdomain} --port ${this.port} --host ${this.host}`, async (err, out) => {
if (err.toString().includes('connection refused')) {
this.start("redig")
console.log("> Redigging tunnel")
}
})
}
}
module.exports = EasyTunnel
main-app.js
var express = require("express")
var easyTunnel = require("./imports/easy-tunnel")
var port = 3000
var localtunnel = new easyTunnel(port, 'website-name')
var app = express();
app.get("/", (req, res) => {
res.send(":)")
}
app.listen(port, () => localtunnel.start());