lightfold
Version:
lightweight scaffolding and archiving utility CLI.
101 lines (76 loc) • 2.51 kB
Markdown
address
=======
[![NPM version][npm-image]][npm-url]
[![build status][travis-image]][travis-url]
[![Test coverage][coveralls-image]][coveralls-url]
[![Gittip][gittip-image]][gittip-url]
[![David deps][david-image]][david-url]
[![npm download][download-image]][download-url]
[]: https://img.shields.io/npm/v/address.svg?style=flat-square
[]: https://npmjs.org/package/address
[]: https://img.shields.io/travis/node-modules/address.svg?style=flat-square
[]: https://travis-ci.org/node-modules/address
[]: https://img.shields.io/coveralls/node-modules/address.svg?style=flat-square
[]: https://coveralls.io/r/node-modules/address?branch=master
[]: https://img.shields.io/gittip/fengmk2.svg?style=flat-square
[]: https://www.gittip.com/fengmk2/
[]: https://img.shields.io/david/node-modules/address.svg?style=flat-square
[]: https://david-dm.org/node-modules/address
[]: https://img.shields.io/npm/dm/address.svg?style=flat-square
[]: https://npmjs.org/package/address
Get current machine IP, MAC and DNS servers.
DNS servers receive from `/etc/resolv.conf`.
```bash
$ npm install address
```
Get IP is sync and get MAC is async for now.
```js
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'
});
```
```js
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'
});
```
```js
address.interface('IPv4', 'eth1');
// { address: '192.168.1.1', family: 'IPv4', mac: '78:ca:39:b0:e6:7d' }
```
```js
address.dns(function (err, addrs) {
console.log(addrs);
// ['10.13.2.1', '10.13.2.6']
});
```
run `$ npm run benchmark`
```
18,929 op/s »
17,622 op/s »
16,347 op/s »
11,906 op/s »
```
[](LICENSE.txt)