Skip to content

feat: add support for mDNS using avahi or built-in backend#277

Merged
devgianlu merged 3 commits intodevgianlu:masterfrom
YutongGu:zeroconf-backend-override
Jan 1, 2026
Merged

feat: add support for mDNS using avahi or built-in backend#277
devgianlu merged 3 commits intodevgianlu:masterfrom
YutongGu:zeroconf-backend-override

Conversation

@YutongGu
Copy link
Copy Markdown
Contributor

Description

Adds support for using an existing avahi-daemon for mDNS service registration instead of the built-in mDNS responder. This is useful for:

  • Embedded systems where a single mDNS daemon is preferred
  • Avoiding port conflicts with other mDNS services
  • Integration with system service management

Configuration:

zeroconf_backend: avahi  # Options: "builtin" (default), "avahi"

Or via command line:

go-librespot -c zeroconf_backend=avahi

Compatibility:

  • Avahi 0.6.x and later (uses stable D-Bus API)
  • Tested with Avahi 0.7 and 0.8

…in backend

This update introduces a new configuration option for selecting the mDNS backend in the Zeroconf service. Users can now choose between the built-in mDNS responder and the avahi-daemon for service registration. The configuration schema has been updated accordingly, and the necessary backend implementations have been added.
@YutongGu
Copy link
Copy Markdown
Contributor Author

Oops looks like this duplicates #224. Happy to close this as duplicate if we prefer those changes over this one.

Comment thread config_schema.json
@devgianlu
Copy link
Copy Markdown
Owner

This looks better than my attempt because it doesn't add a runtime dependency on Avahi. Looking forward to merge this.

@devgianlu
Copy link
Copy Markdown
Owner

LGTM, can you fix the formatting for the CI to succeed?

@devgianlu devgianlu merged commit c70f355 into devgianlu:master Jan 1, 2026
8 checks passed
mcMineyC pushed a commit to mcMineyC/go-librespot_embedded that referenced this pull request Mar 27, 2026
…#277)

* feat: add support for mDNS service registration using avahi or built-in backend

This update introduces a new configuration option for selecting the mDNS backend in the Zeroconf service. Users can now choose between the built-in mDNS responder and the avahi-daemon for service registration. The configuration schema has been updated accordingly, and the necessary backend implementations have been added.

* Update README to include background on zeroconf modes

* Fix formatting issues for CI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants