Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/node-modules/address
Get current machine IP and MAC address.
https://github.com/node-modules/address
Last synced: 5 days ago
JSON representation
Get current machine IP and MAC address.
- Host: GitHub
- URL: https://github.com/node-modules/address
- Owner: node-modules
- License: other
- Created: 2013-07-30T15:08:35.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2024-06-21T05:29:35.000Z (5 months ago)
- Last Synced: 2024-10-30T16:39:46.087Z (9 days ago)
- Language: TypeScript
- Homepage:
- Size: 110 KB
- Stars: 236
- Watchers: 22
- Forks: 32
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
- awesome-nodejs - address - Get current machine IP and MAC address. ![](https://img.shields.io/github/stars/node-modules/address.svg?style=social&label=Star) (Repository / Network)
- awesome-nodejs - address - 获取 IP 和 MAC 地址 (Uncategorized / Uncategorized)
README
# address
[![NPM version][npm-image]][npm-url]
[![Node.js CI](https://github.com/node-modules/address/actions/workflows/nodejs.yml/badge.svg)](https://github.com/node-modules/address/actions/workflows/nodejs.yml)
[![Test coverage][coveralls-image]][coveralls-url]
[![npm download][download-image]][download-url][npm-image]: https://img.shields.io/npm/v/address.svg?style=flat-square
[npm-url]: https://npmjs.org/package/address
[coveralls-image]: https://img.shields.io/coveralls/node-modules/address.svg?style=flat-square
[coveralls-url]: https://coveralls.io/r/node-modules/address?branch=master
[download-image]: https://img.shields.io/npm/dm/address.svg?style=flat-square
[download-url]: https://npmjs.org/package/addressGet current machine IPv4, IPv6, MAC and DNS servers.
DNS servers receive from `/etc/resolv.conf`.
## Install
```bash
npm install address
```## Usage
Get IP is sync and get MAC is async for now.
- esm & typescript
```ts
import { ip, ipv6, mac } from 'address';// default interface 'eth' on linux, 'en' on osx.
ip(); // '192.168.0.2'
ipv6(); // 'fe80::7aca:39ff:feb0:e67d'
mac(function (err, addr) {
console.log(addr); // '78:ca:39:b0:e6:7d'
});// local loopback
ip('lo'); // '127.0.0.1'// vboxnet MAC
mac('vboxnet', function (err, addr) {
console.log(addr); // '0a:00:27:00:00:00'
});
```- commonjs
```js
const { ip, ipv6, mac } = require('address');// default interface 'eth' on linux, 'en' on osx.
ip(); // '192.168.0.2'
ipv6(); // 'fe80::7aca:39ff:feb0:e67d'
mac(function (err, addr) {
console.log(addr); // '78:ca:39:b0:e6:7d'
});// local loopback
ip('lo'); // '127.0.0.1'// vboxnet MAC
mac('vboxnet', function (err, addr) {
console.log(addr); // '0a:00:27:00:00:00'
});
```### Get all addresses: IPv4, IPv6 and MAC
- esm & typescript
```ts
import { address } from 'address';address((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', (err, addrs) => {
console.log(addrs.ip, addrs.ipv6, addrs.mac);
// '192.168.56.1', null, '0a:00:27:00:00:00'
});
```- commonjs
```js
const { address } = require('address');address((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', (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
- esm & typescript
```ts
import { getInterfaceAddress } from 'address';getInterfaceAddress('IPv4', 'eth1');
// { address: '192.168.1.1', family: 'IPv4', mac: '78:ca:39:b0:e6:7d' }
```- commonjs
```js
const { getInterfaceAddress } = require('address');getInterfaceAddress('IPv4', 'eth1');
// { address: '192.168.1.1', family: 'IPv4', mac: '78:ca:39:b0:e6:7d' }
```### Get DNS servers
- esm & typescript
```js
import { dns } from 'address';dns((err, servers) => {
console.log(servers);
// ['10.13.2.1', '10.13.2.6']
});
```- commonjs
```js
const { dns } = require('address');dns((err, servers) => {
console.log(servers);
// ['10.13.2.1', '10.13.2.6']
});
```### Promise style apis
```ts
import { address, mac, dns } from 'address/promises';const addr = await address();
const macAddress = await mac();
const servers = await dns();
```## License
[MIT](LICENSE.txt)
## Contributors
|[
fengmk2](https://github.com/fengmk2)
|[
alsotang](https://github.com/alsotang)
|[
jkelleyrtp](https://github.com/jkelleyrtp)
|[
slyon](https://github.com/slyon)
|[
mariodu](https://github.com/mariodu)
|[
mathieutu](https://github.com/mathieutu)
|
| :---: | :---: | :---: | :---: | :---: | :---: |
[
zhangyuheng](https://github.com/zhangyuheng)
|[
semantic-release-bot](https://github.com/semantic-release-bot)
|[
coolme200](https://github.com/coolme200)
|[
whxaxes](https://github.com/whxaxes)This project follows the git-contributor [spec](https://github.com/xudafeng/git-contributor), auto updated at `Fri Sep 22 2023 20:49:32 GMT+0800`.