uMDNS
This is an implementation of an RFC 6762 MDNS responder for low power, low memory microcontrollers. It's primary use is with the HomeKit Accessory Framework, but has several properties that may be of interest for other projects:
- Static memory layout, moving most DNS records to ROM
- Independent of a specific UDP/IP stack implementation
It's been built and tested for several platforms. There're some examples, which show the general usage idea.
Prerequisites
- CMake 3.2
- A C99 compiler for your platform that's supported by CMake
Getting the code
This project uses git submodules. Use:
git clone --recursive https://github.com/grover/uMDNS
Please make sure that you use a version of Git that has submodule support. You can also add this project as a submodule to your git repository:
git submodule add https://github.com/grover/uMDNS
Building
Build instructions vary by platform. In some cases you may want to integrate uMDNS into your project. Please consult Build Instructions for details.
Running the tests
Tests do not require an active network connection and will not interfere with your local MDNS network. The tests are provided in a set of executables in the test/ folder.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us. Any contributions are welcome and please add yourself to the contributor list at CONTRIBUTORS.md.
License
This project is licensed under the MIT License - see the LICENSE.md file for details.
Acknowledgments
This project uses code that has been created by others in the open source community:
The licenses of the respective projects apply.