nali-cli
Version:
Parse geoinfo of IP Address without leaving your terminal
38 lines (31 loc) • 992 B
JavaScript
const { spawn } = require('child_process');
function main(exe, args) {
require('./check-dat')(() => {
const parseIp = require('../util/parse-ip');
const parseCdn = require('../util/parse-cdn');
const command = spawn(exe, args);
if (exe === 'dig' || exe === 'nslookup') {
command.stdout.on('data', data => {
process.stdout.write(parseIp(parseCdn(data.toString())));
});
} else {
command.stdout.on('data', data => {
process.stdout.write(parseIp(data.toString()));
});
}
command.stderr.on('data', data => {
process.stdout.write(data.toString());
});
command.on('exit', code => {
process.exit(code);
});
command.on('error', err => {
if (err.code === 'ENOENT') {
console.error(`ENOENT: Nali CLI 找不到 ${exe}, 请先安装或检查 PATH!`);
} else {
console.error('嗷呜,出现错误惹! ' + err.message || err);
}
});
})
}
module.exports = main;