# mdns

> multicast DNS service discovery

Latest version **2.7.2** (published 2020-11-17) · 0 weekly downloads

## Install

```sh
npm install mdns
pnpm add mdns
yarn add mdns
bun add mdns
```

## Health

**Score 23/100 (F)** — status: abandoned.

Positive: has types package; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.7.2 |
| Published | 2020-11-17 |
| First published | 2011-03-31 |
| Weekly downloads | 0 |
| TypeScript types | separate (@types/mdns) |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 232.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | yes |
| GitHub stars | 876 |
| Author | David Siegel |
| Maintainers | agnat, ronkorving |
| Keywords | zeroconf, bonjour, dns_sd, mDNSResponder |

## Links

- npm: https://www.npmjs.com/package/mdns
- Repository: https://github.com/agnat/node_mdns
- Homepage: http://agnat.github.com/node_mdns
- Issues: http://github.com/agnat/node_mdns/issues
- npm.io page: https://npm.io/package/mdns

## Dependencies (2)

- [nan](https://npm.io/package/nan.md) ^2.14.0
- [bindings](https://npm.io/package/bindings.md) ~1.2.1

## Alternatives

- [@mdxeditor/editor](https://npm.io/package/@mdxeditor/editor.md) — 962.4K weekly downloads
- [mmdb-lib](https://npm.io/package/mmdb-lib.md) — 680.9K weekly downloads
- [playcanvas](https://npm.io/package/playcanvas.md) — 36.2K weekly downloads
- [@glw907/cairn-cms](https://npm.io/package/@glw907/cairn-cms.md) — 967 weekly downloads
- [markdown-to-confluence](https://npm.io/package/markdown-to-confluence.md) — 103 weekly downloads

## Recent versions

- 2.7.2 (latest) — 2020-11-17
- 2.7.1 — 2020-11-17
- 2.7.0 — 2020-11-17
- 2.6.0 — 2020-11-16
- 2.5.1 — 2019-07-26
- 2.5.0 — 2019-06-12
- 2.4.0 — 2018-05-04
- 2.3.4 — 2017-11-13
- 2.3.3 — 2016-05-03
- 2.3.2 — 2016-04-27
- 2.3.1 — 2016-02-26
- 2.3.0 — 2016-02-01
- 2.2.11 — 2015-12-11
- 2.2.10 — 2015-09-08
- 2.2.9 — 2015-06-02
- … 16 more at https://npm.io/package/mdns/versions

## README

# mdns -- node.js Service Discovery

* Package: mdns
* Description: multicast DNS service discovery
* Installation: `npm install mdns` (see below)
* Documentation: [mdns user guide](http://agnat.github.com/node_mdns/user_guide.html)
* License: [MIT](http://github.com/agnat/node_mdns/blob/master/LICENSE)
* Donations: [![Flattr this git repository](http://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=agnat&url=https://github.com/agnat/node_mdns&title=node_mdns&tags=github&category=software)

mdns adds multicast DNS service discovery, also known as zeroconf or bonjour to Node.js. It provides an object based interface to announce and browse services on the local network.

## Synopsis

```js
// import the module
const mdns = require('mdns');

// advertise a http server on port 4321
const ad = mdns.createAdvertisement(mdns.tcp('http'), 4321);
ad.start();

// watch all http servers
const browser = mdns.createBrowser(mdns.tcp('http'));
browser.on('serviceUp', service => {
  console.log("service up: ", service);
});
browser.on('serviceDown', service => {
  console.log("service down: ", service);
});
browser.start();

// discover all available service types
const all_the_types = mdns.browseThemAll(); // all_the_types is just another browser...
```

## Installation

On Linux and other systems using the avahi daemon the avahi dns_sd compat library and its header files are required.  On debianesque systems the package name is `libavahi-compat-libdnssd-dev`, on fedoraesque systems the package is `avahi-compat-libdns_sd-devel`.  On other platforms Apple's [mDNSResponder](http://opensource.apple.com/tarballs/mDNSResponder/) is recommended. Care should be taken not to install more than one mDNS stack on a system.

On Windows you are going to need Apples "Bonjour SDK for Windows". You can download it either from [Apple](https://developer.apple.com/download/more/?=Bonjour%20SDK%20for%20Windows) (registration required) or various unofficial sources. Take your pick. After installing the SDK restart your computer and make sure the `BONJOUR_SDK_HOME` environment variable is set. You'll also need a compiler. Microsoft Visual Studio Express will do. On Windows node >=0.7.9 is required.

mdns is available as a npm package:

```sh
npm install mdns
```

If you want to play with the latest source code, here is a more manual approach:

```sh
git clone http://github.com/agnat/node_mdns
cd node_mdns
npm link && npm test
```

In case you want to run or even publish your package using the development version of mdns you may set the version field to a tarball URL:

```json
{ "name": "discomvobulator"
, "version": "0.0.1"
, "description": "covers all your discomvobulation needs"
, "dependencies":
  { "mdns": "https://github.com/agnat/node_mdns/tarball/master"
  }
}
```

## Documentation

See the [user guide](http://agnat.github.com/node_mdns/user_guide.html).

## Contributors

In random order:

* Orlando Vazquez ([orlandov](https://github.com/orlandov))
* Ryan Dahl ([ry](https://github.com/ry))
* Dominic Tarr ([dominictarr](https://github.com/dominictarr))
* Emil Stenqvist ([emilisto](https://github.com/emilisto))
* Toby Ealden ([TobyEalden](https://github.com/TobyEalden))
* Ron Korving ([ronkorving](https://github.com/ronkorving))
* Don Park ([donpark](https://github.com/donpark))
* Cong Liu ([ghostoy](https://github.com/ghostoy))
* Tian Zhang ([KhaosT](https://github.com/KhaosT))

Your name is missing on the list? Shame on me. Please open an issue.

## Bugs and Contributions

If you find a bug, please report it using the [issue tracker](http://github.com/agnat/node_mdns/issues).

---
_Source: https://npm.io/package/mdns · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
