Pion mDNS

A Go implementation of mDNS

Pion mDNS Slack Widget
GitHub Workflow Status Go Reference Coverage Status Go Report Card License: MIT


Go mDNS implementation. The original user is Pion WebRTC, but we would love to see it work for everyone. ### Running Server For a mDNS server that responds to queries for `pion-test.local` ```sh go run examples/server/main.go ``` For a mDNS server that responds to queries for `pion-test.local` with a given address ```sh go run examples/server/publish_ip/main.go -ip=[IP] ``` If you don't set the `ip` parameter, "1.2.3.4" will be used instead. ### Running Client To query using Pion you can run the `query` example ```sh go run examples/query/main.go ``` You can use the macOS client ``` dns-sd -q pion-test.local ``` Or the avahi client ``` avahi-resolve -a pion-test.local ``` ### RFCs #### Implemented - **RFC 6762** [Multicast DNS][rfc6762] - **draft-ietf-rtcweb-mdns-ice-candidates-02** [Using Multicast DNS to protect privacy when exposing ICE candidates](https://datatracker.ietf.org/doc/html/draft-ietf-rtcweb-mdns-ice-candidates-02.html) [rfc6762]: https://tools.ietf.org/html/rfc6762 ### Roadmap The library is used as a part of our WebRTC implementation. Please refer to that [roadmap](https://github.com/pion/webrtc/issues/9) to track our major milestones. ### Community Pion has an active community on the [Slack](https://pion.ly/slack). Follow the [Pion Twitter](https://twitter.com/_pion) for project updates and important WebRTC news. We are always looking to support **your projects**. Please reach out if you have something to build! If you need commercial support or don't want to use public methods you can contact us at [team@pion.ly](mailto:team@pion.ly) ### Contributing Check out the [contributing wiki](https://github.com/pion/webrtc/wiki/Contributing) to join the group of amazing people making this project possible ### License MIT License - see [LICENSE](LICENSE) for full text