Notoriously Psychedelic Modules
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    addresspublic

    address

    NPM version build status Test coverage Gittip David deps npm download

    Get current machine IP, MAC and DNS servers.

    DNS servers receive from /etc/resolv.conf.

    Install

    $ npm install address

    Usage

    Get IP is sync and get MAC is async for now.

    var address = require('address');
     
    // default interface 'eth' on linux, 'en' on osx.
    address.ip();   // '192.168.0.2'
    address.ipv6(); // 'fe80::7aca:39ff:feb0:e67d'
    address.mac(function (err, addr) {
      console.log(addr); // '78:ca:39:b0:e6:7d'
    });
     
    // local loopback
    address.ip('lo'); // '127.0.0.1'
     
    // vboxnet MAC
    address.mac('vboxnet', function (err, addr) {
      console.log(addr); // '0a:00:27:00:00:00'
    });

    Get all addresses: IPv4, IPv6 and MAC

    address(function (err, addrs) {
      console.log(addrs.ip, addrs.ipv6, addrs.mac);
      // '192.168.0.2', 'fe80::7aca:39ff:feb0:e67d', '78:ca:39:b0:e6:7d'
    });
     
    address('vboxnet', function (err, addrs) {
      console.log(addrs.ip, addrs.ipv6, addrs.mac);
      // '192.168.56.1', null, '0a:00:27:00:00:00'
    });

    Get an interface info with family

    address.interface('IPv4', 'eth1');
    // { address: '192.168.1.1', family: 'IPv4', mac: '78:ca:39:b0:e6:7d' }

    Get DNS servers

    address.dns(function (err, addrs) {
      console.log(addrs);
      // ['10.13.2.1', '10.13.2.6']
    });

    benchmark

    run $ npm run benchmark

    18,929 op/s » #ip
    17,622 op/s » #ipv6
    16,347 op/s » #mac
    11,906 op/s » #dns
    

    License

    MIT

    install

    npm i address

    Downloadsweekly downloads

    621,015

    version

    1.0.3

    license

    MIT

    repository

    githubgithub

    last publish

    collaborators

    • avatar