Socket
Socket
Sign inDemoInstall

default-gateway

Package Overview
Dependencies
20
Maintainers
1
Versions
54
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 5.0.5 to 6.0.0

4

android.js
"use strict";
const net = require("net");
const {isIP} = require("net");
const execa = require("execa");

@@ -16,3 +16,3 @@

const [_, gateway, iface] = /default via (.+?) dev (.+?)( |$)/.exec(line) || [];
if (gateway && net.isIP(gateway)) {
if (gateway && isIP(gateway)) {
result = {gateway, interface: (iface ? iface : null)};

@@ -19,0 +19,0 @@ return true;

"use strict";
const net = require("net");
const os = require("os");
const {isIP} = require("net");
const {release} = require("os");
const execa = require("execa");

@@ -15,3 +15,3 @@ const dests = ["default", "0.0.0.0", "0.0.0.0/0", "::", "::/0"];

// previously it was in column 5
const v4IfaceColumn = parseInt(os.release()) >= 19 ? 3 : 5;
const v4IfaceColumn = parseInt(release()) >= 19 ? 3 : 5;

@@ -26,3 +26,3 @@ const parse = (stdout, family) => {

const iface = results[family === "v4" ? v4IfaceColumn : 3];
if (dests.includes(target) && gateway && net.isIP(gateway)) {
if (dests.includes(target) && gateway && isIP(gateway)) {
result = {gateway, interface: (iface ? iface : null)};

@@ -29,0 +29,0 @@ return true;

"use strict";
const net = require("net");
const {isIP} = require("net");
const execa = require("execa");

@@ -17,3 +17,3 @@ const dests = ["default", "0.0.0.0", "0.0.0.0/0", "::", "::/0"];

const [target, gateway, _, iface] = line.split(/ +/) || [];
if (dests.includes(target) && gateway && net.isIP(gateway)) {
if (dests.includes(target) && gateway && isIP(gateway)) {
result = {gateway, interface: (iface ? iface : null)};

@@ -20,0 +20,0 @@ return true;

"use strict";
const os = require("os");
const platform = os.platform();
const {platform, type} = require("os");
if (["aix", "android", "darwin", "freebsd", "linux", "openbsd", "sunos", "win32"].includes(platform)) {
const plat = platform();
if (["aix", "android", "darwin", "freebsd", "linux", "openbsd", "sunos", "win32"].includes(plat)) {
let file;
if (platform === "aix") {
if (plat === "aix") {
// AIX `netstat` output is compatible with Solaris
file = `${os.type() === "OS400" ? "ibmi" : "sunos"}.js`;
file = `${type() === "OS400" ? "ibmi" : "sunos"}.js`;
} else {
file = `${platform}.js`;
file = `${plat}.js`;
}

@@ -21,3 +22,3 @@

} else {
const unsupported = () => {throw new Error(`Unsupported Platform: ${platform}`)};
const unsupported = () => {throw new Error(`Unsupported Platform: ${plat}`)};
module.exports.v4 = unsupported;

@@ -24,0 +25,0 @@ module.exports.v6 = unsupported;

"use strict";
const net = require("net");
const os = require("os");
const {isIP} = require("net");
const {networkInterfaces} = require("os");
const execa = require("execa");

@@ -19,7 +19,7 @@

const iface = (results[2] || "").substring(5);
if (gateway && net.isIP(gateway)) { // default via 1.2.3.4 dev en0
if (gateway && isIP(gateway)) { // default via 1.2.3.4 dev en0
result = {gateway, interface: (iface ? iface : null)};
return true;
} else if (iface && !gateway) { // default via dev en0
const interfaces = os.networkInterfaces();
const interfaces = networkInterfaces();
const addresses = interfaces[iface];

@@ -29,3 +29,3 @@ if (!addresses || !addresses.length) return;

addresses.some(addr => {
if (addr.family.substring(2) === family && net.isIP(addr.address)) {
if (addr.family.substring(2) === family && isIP(addr.address)) {
result = {gateway: addr.address, interface: (iface ? iface : null)};

@@ -32,0 +32,0 @@ return true;

"use strict";
const net = require("net");
const {isIP} = require("net");
const execa = require("execa");

@@ -20,3 +20,3 @@ const dests = ["default", "0.0.0.0", "0.0.0.0/0", "::", "::/0"];

const iface = results[7];
if (dests.includes(target) && gateway && net.isIP(gateway)) {
if (dests.includes(target) && gateway && isIP(gateway)) {
result = {gateway, interface: (iface ? iface : null)};

@@ -23,0 +23,0 @@ return true;

{
"name": "default-gateway",
"version": "5.0.5",
"version": "6.0.0",
"description": "Get the default network gateway, cross-platform.",

@@ -8,17 +8,9 @@ "author": "silverwind <me@silverwind.io>",

"license": "BSD-2-Clause",
"main": "index.js",
"scripts": {
"test": "eslint *.js && node --pending-deprecation --trace-deprecation --throw-deprecation --trace-warnings test.js"
"test": "make test"
},
"engines": {
"node": "^8.12.0 || >=9.7.0"
"node": ">= 10"
},
"dependencies": {
"execa": "^3.3.0"
},
"devDependencies": {
"eslint": "6.6.0",
"eslint-config-silverwind": "5.0.0",
"updates": "9.0.1",
"ver": "6.0.2"
},
"files": [

@@ -35,2 +27,12 @@ "index.js",

],
"dependencies": {
"execa": "^4.0.0"
},
"devDependencies": {
"eslint": "6.8.0",
"eslint-config-silverwind": "10.0.1",
"jest": "25.1.0",
"updates": "10.2.2",
"versions": "8.2.4"
},
"keywords": [

@@ -37,0 +39,0 @@ "default gateway",

# default-gateway
[![](https://img.shields.io/npm/v/default-gateway.svg?style=flat)](https://www.npmjs.org/package/default-gateway) [![](https://img.shields.io/npm/dm/default-gateway.svg)](https://www.npmjs.org/package/default-gateway) [![](https://api.travis-ci.org/silverwind/default-gateway.svg?style=flat)](https://travis-ci.org/silverwind/default-gateway)
[![](https://img.shields.io/npm/v/default-gateway.svg?style=flat)](https://www.npmjs.org/package/default-gateway) [![](https://img.shields.io/npm/dm/default-gateway.svg)](https://www.npmjs.org/package/default-gateway)

@@ -4,0 +4,0 @@ > Get the default network gateway, cross-platform.

"use strict";
const net = require("net");
const {isIP} = require("net");
const execa = require("execa");

@@ -20,3 +20,3 @@ const dests = ["default", "0.0.0.0", "0.0.0.0/0", "::", "::/0"];

const iface = results[5];
if (dests.includes(target) && gateway && net.isIP(gateway)) {
if (dests.includes(target) && gateway && isIP(gateway)) {
result = {gateway, interface: (iface ? iface : null)};

@@ -23,0 +23,0 @@ return true;

"use strict";
const {isIP} = require("net");
const {networkInterfaces} = require("os");
const execa = require("execa");
const os = require("os");
const net = require("net");

@@ -31,3 +31,3 @@ const gwArgs = "path Win32_NetworkAdapterConfiguration where IPEnabled=true get DefaultIPGateway,GatewayCostMetric,IPConnectionMetric,Index /format:table".split(" ");

for (const [index, gateway] of Object.entries(gateways)) {
if (!gateway || `v${net.isIP(gateway)}` !== family) continue;
if (!gateway || `v${isIP(gateway)}` !== family) continue;

@@ -52,3 +52,3 @@ const metric = parseInt(gatewayCosts[index]) + parseInt(ipMetric);

// https://github.com/silverwind/default-gateway/issues/14
for (const [osname, addrs] of Object.entries(os.networkInterfaces())) {
for (const [osname, addrs] of Object.entries(networkInterfaces())) {
for (const addr of addrs) {

@@ -55,0 +55,0 @@ if (addr && addr.mac && addr.mac.toLowerCase() === mac) {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc