A Node.js add-on for multicast DNS service discovery (Zeroconf/Bonjour) to announce and browse services on local networks.
mdns is a Node.js add-on that implements multicast DNS service discovery, allowing applications to automatically advertise and discover services on a local network. It solves the problem of manual service configuration in distributed systems by leveraging Zeroconf/Bonjour protocols.
Node.js developers building networked applications, IoT devices, or distributed systems that require automatic service discovery without centralized configuration.
Developers choose mdns for its native Node.js integration, cross-platform support (Linux, macOS, Windows), and straightforward API that abstracts complex multicast DNS details while maintaining compatibility with existing Zeroconf/Bonjour ecosystems.
mdns/zeroconf/bonjour service discovery add-on for node.js
Provides a clean, event-driven JavaScript interface with simple methods like createAdvertisement and createBrowser, making it intuitive for Node.js developers to integrate service discovery.
Works on Linux, macOS, and Windows by abstracting underlying system libraries like avahi and Bonjour, ensuring compatibility with existing Zeroconf/Bonjour ecosystems.
Browsers emit 'serviceUp' and 'serviceDown' events, allowing applications to react immediately to network changes without manual polling or configuration.
Includes mdns.browseThemAll() to dynamically explore all available service types on the network, enabling flexible and adaptive application design.
Requires platform-specific dependencies such as avahi-dev packages on Linux or Bonjour SDK on Windows, along with environment variable setup and compilers, which can be a barrier to quick deployment.
As a Node.js add-on, it relies on native code compilation, leading to potential compatibility issues with different Node versions and increased complexity in environments like Docker or CI/CD pipelines.
The user guide is externally hosted and the README provides only a synopsis, which may leave developers struggling with advanced use cases, error handling, or troubleshooting platform-specific issues.
Hypercore is a secure, distributed append-only log.
🌊 Simple, robust, BitTorrent tracker (client & server) implementation
🕸 Simple, robust, BitTorrent DHT implementation
[ARCHIVED] now part of the https://github.com/ipfs/js-ipfs repo
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.