Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
68 lines (45 sloc) 2.34 KB

mdns — node.js Service Discovery

Package: mdns
Description: multicast DNS service discovery
Version: 0.0.5
Installation: npm install mdns
Documentation: mdns user guide
License: MIT

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.


// import the module
var mdns = require('mdns');

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

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

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


mdns is available as a npm package:

npm install mdns

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 other platforms Apples mDNSResponder is recommended. Care should be taken not to install more than one mDNS stack on a system.

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

git clone
cd node_mdns
npm link && npm test


See the user guide.


… in random order:

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.

Jump to Line
Something went wrong with that request. Please try again.