Skip to content
/ mdns Public

Pure Go implementation of Multicast DNS


Notifications You must be signed in to change notification settings


Repository files navigation

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

go run examples/server/main.go

For a mDNS server that responds to queries for pion-test.local with a given address

go run examples/server/publish_ip/main.go -ip=[IP]

If you don't set the ip parameter, "" will be used instead.

Running Client

To query using Pion you can run the query example

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




The library is used as a part of our WebRTC implementation. Please refer to that roadmap to track our major milestones.


Pion has an active community on the Slack.

Follow the Pion Twitter 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


Check out the contributing wiki to join the group of amazing people making this project possible


MIT License - see LICENSE for full text