Pure JavaScript/NodeJS mDNS discovery implementation.
A lot of the functionality is copied from https://github.com/GoogleChrome/chrome-app-samples/tree/master/mdns-browser but adapted for node.
Install by
npm install mdns-js
It would be great to have a full implementation of mDSN + DNS-SD in pure JS but progress will be slow unless someone is willing to pitch in with pull requests, specifications for wanted functions etc. Also, as you should avoid to have multiple mDNS stacks on a system this might clash with stuff like avahi and bonjour.
var Mdns = require('mdns-js');
var browser = new mdns.createBrowser();
browser.on('ready', function () {
mdns.discover();
});
browser.on('update', function (data) {
console.log('data:', data);
});
This library is using the debug module from TJ Holowaychuk and can be used like this.
DEBUG=mdns* node examples/simple.js
This will spit out a lot of information that might be useful.
Pull-request will be gladly accepted.
If possible any api should be as close match to the api of node-mdns but be pragmatic. Look at issue #5.
Before creating a pull-request please run
npm run lint
on any changed code. There is a .jshintrc file included in the project, use it, and don't be offended by it.
Apache 2.0. See LICENSE file.
- https://github.com/GoogleChrome/chrome-app-samples/tree/master/samples/mdns-browser
- http://en.wikipedia.org/wiki/Multicast_DNS
- http://en.wikipedia.org/wiki/Zero_configuration_networking#Service_discovery
- RFC 6762 - mDNS - http://tools.ietf.org/html/rfc6762
- RFC 6763 - DNS Based Service Discovery - http://tools.ietf.org/html/rfc6763
- http://www.tcpipguide.com/free/t_DNSMessageHeaderandQuestionSectionFormat.htm
- James SigurĂ°arson, @jamiees2