networkGatewayDefault() added
This commit is contained in:
Vendored
+1
@@ -643,6 +643,7 @@ export function disksIO(cb?: (data: Systeminformation.DisksIoData) => any): Prom
|
||||
export function diskLayout(cb?: (data: Systeminformation.DiskLayoutData[]) => any): Promise<Systeminformation.DiskLayoutData[]>;
|
||||
|
||||
export function networkInterfaceDefault(cb?: (data: string) => any): Promise<string>;
|
||||
export function networkGatewayDefault(cb?: (data: string) => any): Promise<string>;
|
||||
export function networkInterfaces(cb?: (data: Systeminformation.NetworkInterfacesData[]) => any): Promise<Systeminformation.NetworkInterfacesData[]>;
|
||||
|
||||
export function networkStats(ifaces?: string, cb?: (data: Systeminformation.NetworkStatsData[]) => any): Promise<Systeminformation.NetworkStatsData[]>;
|
||||
|
||||
@@ -347,6 +347,7 @@ exports.disksIO = filesystem.disksIO;
|
||||
exports.diskLayout = filesystem.diskLayout;
|
||||
|
||||
exports.networkInterfaceDefault = network.networkInterfaceDefault;
|
||||
exports.networkGatewayDefault = network.networkGatewayDefault;
|
||||
exports.networkInterfaces = network.networkInterfaces;
|
||||
exports.networkStats = network.networkStats;
|
||||
exports.networkConnections = network.networkConnections;
|
||||
|
||||
@@ -1002,3 +1002,73 @@ function networkConnections(callback) {
|
||||
}
|
||||
|
||||
exports.networkConnections = networkConnections;
|
||||
|
||||
function networkGatewayDefault(callback) {
|
||||
|
||||
return new Promise((resolve) => {
|
||||
process.nextTick(() => {
|
||||
let result = '';
|
||||
if (_linux || _freebsd || _openbsd || _netbsd) {
|
||||
let cmd = 'ip route get 1';
|
||||
try {
|
||||
exec(cmd, { maxBuffer: 1024 * 20000 }, function (error, stdout) {
|
||||
if (!error) {
|
||||
let lines = stdout.toString().split('\n');
|
||||
const line = lines && lines[0] ? lines[0] : '';
|
||||
let parts = line.split(' via ');
|
||||
if (parts && parts[1]) {
|
||||
parts = parts[1].split(' ');
|
||||
result = parts[0];
|
||||
}
|
||||
if (callback) {
|
||||
callback(result);
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
});
|
||||
} catch (e) {
|
||||
if (callback) { callback(result); }
|
||||
resolve(result);
|
||||
}
|
||||
}
|
||||
if (_darwin) {
|
||||
let cmd = 'route -n get default';
|
||||
try {
|
||||
exec(cmd, { maxBuffer: 1024 * 20000 }, function (error, stdout) {
|
||||
if (!error) {
|
||||
let lines = stdout.toString().split('\n').map(line => line.trim());
|
||||
result = util.getValue(lines, 'gateway');
|
||||
if (callback) {
|
||||
callback(result);
|
||||
}
|
||||
resolve(result);
|
||||
}
|
||||
});
|
||||
} catch (e) {
|
||||
if (callback) { callback(result); }
|
||||
resolve(result);
|
||||
}
|
||||
}
|
||||
if (_windows) {
|
||||
try {
|
||||
util.powerShell('Get-CimInstance -ClassName Win32_IP4RouteTable | Where-Object { $_.Destination -eq \'0.0.0.0\' -and $_.Mask -eq \'0.0.0.0\' }).InterfaceIndex')
|
||||
.then(data => {
|
||||
let lines = data.toString().split('\r\n');
|
||||
result = lines && lines[0] ? lines[0] : '';
|
||||
if (callback) {
|
||||
callback(result);
|
||||
}
|
||||
resolve(result);
|
||||
|
||||
});
|
||||
} catch (e) {
|
||||
if (callback) { callback(result); }
|
||||
resolve(result);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
exports.networkGatewayDefault = networkGatewayDefault;
|
||||
|
||||
Reference in New Issue
Block a user