git problem
This commit is contained in:
+83
-83
@@ -1,84 +1,84 @@
|
||||
require("./init")
|
||||
const osutil = require("./util/osutil")
|
||||
const killer = require('cross-port-killer');
|
||||
const net = require('node:net');
|
||||
|
||||
|
||||
/**
|
||||
* 模拟 telnet ,检测端口是否开放
|
||||
* @param port
|
||||
* @param host
|
||||
* @param timeout
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
async function telnet(port, host, timeout=3000){
|
||||
$logger.debug(`port=${port} host=${host} timeout=${timeout}`)
|
||||
return new Promise(function (resolve, reject){
|
||||
const socket = new net.Socket();
|
||||
|
||||
socket.setTimeout(timeout, function() {
|
||||
socket.end();
|
||||
reject("链接超时")
|
||||
});
|
||||
|
||||
socket.connect(port, host);
|
||||
|
||||
socket.on('connect', function() {
|
||||
resolve('连接成功');
|
||||
socket.end();
|
||||
});
|
||||
|
||||
socket.on('error', function(err) {
|
||||
reject('连接失败');
|
||||
});
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
async function killport(port) {
|
||||
return killer.kill( port );
|
||||
// let func = osutil.choise([
|
||||
// require("./windows/net").killport,
|
||||
// require("./linux/net").killport,
|
||||
// ])
|
||||
// return func && func(port);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取端口信息
|
||||
* 因为命令输出缓存问题,有缺陷。
|
||||
* @param port
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
async function getport(port) {
|
||||
$logger.info( "暂未实现" );
|
||||
}
|
||||
|
||||
|
||||
async function checkip(){
|
||||
const url = "https://myip.ipip.net/json"
|
||||
const http = url.startsWith("https:") ? require("node:https") : require('node:http');
|
||||
return new Promise((resolve, reject) => {
|
||||
http.get(url, (res) => {
|
||||
let data = '';
|
||||
|
||||
// A chunk of data has been recieved.
|
||||
res.on('data', (chunk) => {
|
||||
data += chunk;
|
||||
});
|
||||
|
||||
// The whole response has been received. Resolve the promise with result
|
||||
res.on('end', () => {
|
||||
resolve(JSON.parse(data));
|
||||
});
|
||||
|
||||
}).on("error", (err) => {
|
||||
// In case of any error reject the promise
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
killport, getport, telnet, checkip
|
||||
require("./init")
|
||||
const osutil = require("./util/osutil")
|
||||
const killer = require('cross-port-killer');
|
||||
const net = require('node:net');
|
||||
|
||||
|
||||
/**
|
||||
* 模拟 telnet ,检测端口是否开放
|
||||
* @param port
|
||||
* @param host
|
||||
* @param timeout
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
async function telnet(port, host, timeout=3000){
|
||||
$logger.debug(`port=${port} host=${host} timeout=${timeout}`)
|
||||
return new Promise(function (resolve, reject){
|
||||
const socket = new net.Socket();
|
||||
|
||||
socket.setTimeout(timeout, function() {
|
||||
socket.end();
|
||||
reject("链接超时")
|
||||
});
|
||||
|
||||
socket.connect(port, host);
|
||||
|
||||
socket.on('connect', function() {
|
||||
resolve('连接成功');
|
||||
socket.end();
|
||||
});
|
||||
|
||||
socket.on('error', function(err) {
|
||||
reject('连接失败');
|
||||
});
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
async function killport(port) {
|
||||
return killer.kill( port );
|
||||
// let func = osutil.choise([
|
||||
// require("./windows/net").killport,
|
||||
// require("./linux/net").killport,
|
||||
// ])
|
||||
// return func && func(port);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取端口信息
|
||||
* 因为命令输出缓存问题,有缺陷。
|
||||
* @param port
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
async function getport(port) {
|
||||
$logger.info( "暂未实现" );
|
||||
}
|
||||
|
||||
|
||||
async function checkip(){
|
||||
const url = "https://myip.ipip.net/json"
|
||||
const http = url.startsWith("https:") ? require("node:https") : require('node:http');
|
||||
return new Promise((resolve, reject) => {
|
||||
http.get(url, (res) => {
|
||||
let data = '';
|
||||
|
||||
// A chunk of data has been recieved.
|
||||
res.on('data', (chunk) => {
|
||||
data += chunk;
|
||||
});
|
||||
|
||||
// The whole response has been received. Resolve the promise with result
|
||||
res.on('end', () => {
|
||||
resolve(JSON.parse(data));
|
||||
});
|
||||
|
||||
}).on("error", (err) => {
|
||||
// In case of any error reject the promise
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
killport, getport, telnet, checkip
|
||||
}
|
||||
Reference in New Issue
Block a user