
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
npm install mdns
(see below)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
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...
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 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 (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:
npm install mdns
If you want to play with the latest source code, here is a more manual approach:
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:
{ "name": "discomvobulator"
, "version": "0.0.1"
, "description": "covers all your discomvobulation needs"
, "dependencies":
{ "mdns": "https://github.com/agnat/node_mdns/tarball/master"
}
}
See the user guide.
In random order:
Your name is missing on the list? Shame on me. Please open an issue.
If you find a bug, please report it using the issue tracker.
FAQs
multicast DNS service discovery
The npm package mdns receives a total of 2,060 weekly downloads. As such, mdns popularity was classified as popular.
We found that mdns demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.