From 8d1b302e7059b3f9727d8693715b9db51ee25651 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Sun, 8 Sep 2019 16:15:10 +0200 Subject: [PATCH] fix(core): update --- package-lock.json | 5 +++++ package.json | 3 ++- test/test.ts | 7 ++++++- ts/smartnetwork.classes.smartnetwork.ts | 10 ++++++++++ ts/smartnetwork.plugins.ts | 5 +++-- 5 files changed, 26 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index f6f643e..f747358 100644 --- a/package-lock.json +++ b/package-lock.json @@ -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", diff --git a/package.json b/package.json index 812013b..7c4b435 100644 --- a/package.json +++ b/package.json @@ -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/*", diff --git a/test/test.ts b/test/test.ts index 03a1c97..a61235d 100644 --- a/test/test.ts +++ b/test/test.ts @@ -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(); diff --git a/ts/smartnetwork.classes.smartnetwork.ts b/ts/smartnetwork.classes.smartnetwork.ts index 2af37b2..36b8ed1 100644 --- a/ts/smartnetwork.classes.smartnetwork.ts +++ b/ts/smartnetwork.classes.smartnetwork.ts @@ -133,4 +133,14 @@ 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(); + const gateways = await this.getGateways(); + const defaultGateway = gateways[defaultGatewayName]; + return { + ipv4: defaultGateway[0], + ipv6: defaultGateway[1] + }; + } } diff --git a/ts/smartnetwork.plugins.ts b/ts/smartnetwork.plugins.ts index e95a91b..1967b21 100644 --- a/ts/smartnetwork.plugins.ts +++ b/ts/smartnetwork.plugins.ts @@ -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 };