|
|
@ -1,7 +1,7 @@
|
|
|
|
// https://github.com/ben-bradley/ping-lite/blob/master/ping-lite.js
|
|
|
|
// https://github.com/ben-bradley/ping-lite/blob/master/ping-lite.js
|
|
|
|
// Fixed on Windows
|
|
|
|
// Fixed on Windows
|
|
|
|
|
|
|
|
const net = require("net");
|
|
|
|
let spawn = require("child_process").spawn,
|
|
|
|
const spawn = require("child_process").spawn,
|
|
|
|
events = require("events"),
|
|
|
|
events = require("events"),
|
|
|
|
fs = require("fs"),
|
|
|
|
fs = require("fs"),
|
|
|
|
WIN = /^win/.test(process.platform),
|
|
|
|
WIN = /^win/.test(process.platform),
|
|
|
@ -24,14 +24,24 @@ function Ping(host, options) {
|
|
|
|
this._bin = "c:/windows/system32/ping.exe";
|
|
|
|
this._bin = "c:/windows/system32/ping.exe";
|
|
|
|
this._args = (options.args) ? options.args : [ "-n", "1", "-w", "5000", host ];
|
|
|
|
this._args = (options.args) ? options.args : [ "-n", "1", "-w", "5000", host ];
|
|
|
|
this._regmatch = /[><=]([0-9.]+?)ms/;
|
|
|
|
this._regmatch = /[><=]([0-9.]+?)ms/;
|
|
|
|
|
|
|
|
|
|
|
|
} else if (LIN) {
|
|
|
|
} else if (LIN) {
|
|
|
|
this._bin = "/bin/ping";
|
|
|
|
this._bin = "/bin/ping";
|
|
|
|
this._args = (options.args) ? options.args : [ "-n", "-w", "2", "-c", "1", host ];
|
|
|
|
|
|
|
|
this._regmatch = /=([0-9.]+?) ms/; // need to verify this
|
|
|
|
const defaultArgs = [ "-n", "-w", "2", "-c", "1", host ];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (net.isIPv6(host)) {
|
|
|
|
|
|
|
|
defaultArgs.unshift("-6");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this._args = (options.args) ? options.args : defaultArgs;
|
|
|
|
|
|
|
|
this._regmatch = /=([0-9.]+?) ms/;
|
|
|
|
|
|
|
|
|
|
|
|
} else if (MAC) {
|
|
|
|
} else if (MAC) {
|
|
|
|
this._bin = "/sbin/ping";
|
|
|
|
this._bin = "/sbin/ping";
|
|
|
|
this._args = (options.args) ? options.args : [ "-n", "-t", "2", "-c", "1", host ];
|
|
|
|
this._args = (options.args) ? options.args : [ "-n", "-t", "2", "-c", "1", host ];
|
|
|
|
this._regmatch = /=([0-9.]+?) ms/;
|
|
|
|
this._regmatch = /=([0-9.]+?) ms/;
|
|
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
throw new Error("Could not detect your ping binary.");
|
|
|
|
throw new Error("Could not detect your ping binary.");
|
|
|
|
}
|
|
|
|
}
|
|
|
|