You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
parttimejob/node_modules/default-gateway
侯晓宇 0cb2601919
init
10 months ago
..
node_modules init 10 months ago
LICENSE init 10 months ago
README.md init 10 months ago
android.js init 10 months ago
darwin.js init 10 months ago
freebsd.js init 10 months ago
ibmi.js init 10 months ago
index.js init 10 months ago
linux.js init 10 months ago
openbsd.js init 10 months ago
package.json init 10 months ago
sunos.js init 10 months ago
win32.js init 10 months ago

README.md

default-gateway

Obtains the machine's default gateway through exec calls to OS routing interfaces.

  • On Linux and Android, the ip command must be available (usually provided by the iproute2 package).
  • On Windows, wmic must be available.
  • On IBM i, the db2util command must be available (provided by the db2util package).
  • On Unix (and macOS), the netstat command must be available.

Installation

$ npm i default-gateway

Example

const defaultGateway = require('default-gateway');

const {gateway, interface} = await defaultGateway.v4();
// gateway = '1.2.3.4', interface = 'en1'

const {gateway, interface} = await defaultGateway.v6();
// gateway = '2001:db8::1', interface = 'en2'

const {gateway, interface} = defaultGateway.v4.sync();
// gateway = '1.2.3.4', interface = 'en1'

const {gateway, interface} = defaultGateway.v6.sync();
// gateway = '2001:db8::1', interface = 'en2'

API

defaultGateway.v4()

defaultGateway.v6()

defaultGateway.v4.sync()

defaultGateway.v6.sync()

Returns: result Object

  • gateway: The IP address of the default gateway.
  • interface: The name of the interface. On Windows, this is the network adapter name.

The .v{4,6}() methods return a Promise while the .v{4,6}.sync() variants will return the result synchronously.

The gateway property will always be defined on success, while interface can be null if it cannot be determined. All methods reject/throw on unexpected conditions.

License

© silverwind, distributed under BSD licence