Compare commits

...

4 Commits

Author SHA1 Message Date
ad0fa8c65a 1.1.14 2019-09-08 16:24:59 +02:00
88a9bfc20d fix(core): update 2019-09-08 16:24:59 +02:00
0248d6f253 1.1.13 2019-09-08 16:15:10 +02:00
8d1b302e70 fix(core): update 2019-09-08 16:15:10 +02:00
5 changed files with 32 additions and 6 deletions

7
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartnetwork",
"version": "1.1.12",
"version": "1.1.14",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -1804,6 +1804,11 @@
"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
"dev": true
},
"systeminformation": {
"version": "4.14.8",
"resolved": "https://verdaccio.lossless.one/systeminformation/-/systeminformation-4.14.8.tgz",
"integrity": "sha512-05wW1YaMBI6LlVtvw2wXQGr0thpX8E0IImYcpbqUiNanfmq8e+V89pDW2L5V/mN8kU37W0VtVySftQ0PwMIXKw=="
},
"ts-node": {
"version": "8.3.0",
"resolved": "https://verdaccio.lossless.one/ts-node/-/ts-node-8.3.0.tgz",

View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartnetwork",
"version": "1.1.12",
"version": "1.1.14",
"private": false,
"description": "network diagnostics",
"main": "dist/index.js",
@ -25,7 +25,8 @@
"@types/portscanner": "^2.1.0",
"default-gateway": "^5.0.3",
"portscanner": "^2.2.0",
"speedtest-net": "^1.5.1"
"speedtest-net": "^1.5.1",
"systeminformation": "^4.14.8"
},
"files": [
"ts/*",

View File

@ -24,9 +24,14 @@ tap.test('should scan a port', async () => {
// await expect(testSmartNetwork.isRemotePortAvailable('lossless.com:444')).to.eventually.be.false;
});
tap.test('should get the default gateways', async () => {
tap.test('should get gateways', async () => {
const gatewayResult = await testSmartNetwork.getGateways();
console.log(gatewayResult);
});
tap.test('should get the default gateway', async () => {
const gatewayResult = await testSmartNetwork.getDefaultGateway();
console.log(gatewayResult);
});
tap.start();

View File

@ -133,4 +133,18 @@ export class SmartNetwork {
const result = plugins.os.networkInterfaces();
return result;
}
public async getDefaultGateway(): Promise<{ipv4: plugins.os.NetworkInterfaceInfo, ipv6: plugins.os.NetworkInterfaceInfo}> {
const defaultGatewayName = await plugins.systeminformation.networkInterfaceDefault();
if (!defaultGatewayName) {
console.log('Cannot determine default gateway');
return null;
}
const gateways = await this.getGateways();
const defaultGateway = gateways[defaultGatewayName];
return {
ipv4: defaultGateway[0],
ipv6: defaultGateway[1]
};
}
}

View File

@ -12,7 +12,8 @@ import * as smartstring from '@pushrocks/smartstring';
export { smartpromise, smartstring };
// @third party scope
const speedtestNet = require('speedtest-net');
import * as portscanner from 'portscanner';
import speedtestNet from 'speedtest-net';
import * as systeminformation from 'systeminformation';
export { speedtestNet, portscanner };
export { speedtestNet, portscanner, systeminformation };