1
0
mirror of https://github.com/cp6/my-idlers.git synced 2024-11-16 23:42:32 +01:00
my-idlers/node_modules/default-gateway
cp6 fd22b0bf58 V2 (Laravel re-make)
V2 (Laravel re-make)
2022-03-06 02:02:12 +11:00
..
android.js V2 (Laravel re-make) 2022-03-06 02:02:12 +11:00
darwin.js V2 (Laravel re-make) 2022-03-06 02:02:12 +11:00
freebsd.js V2 (Laravel re-make) 2022-03-06 02:02:12 +11:00
ibmi.js V2 (Laravel re-make) 2022-03-06 02:02:12 +11:00
index.js V2 (Laravel re-make) 2022-03-06 02:02:12 +11:00
LICENSE V2 (Laravel re-make) 2022-03-06 02:02:12 +11:00
linux.js V2 (Laravel re-make) 2022-03-06 02:02:12 +11:00
openbsd.js V2 (Laravel re-make) 2022-03-06 02:02:12 +11:00
package.json V2 (Laravel re-make) 2022-03-06 02:02:12 +11:00
README.md V2 (Laravel re-make) 2022-03-06 02:02:12 +11:00
sunos.js V2 (Laravel re-make) 2022-03-06 02:02:12 +11:00
win32.js V2 (Laravel re-make) 2022-03-06 02:02:12 +11:00

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