Make Zeroconf only bind to the default interface (#2100)
authoraltserg <79573763+altserg@users.noreply.github.com>
Wed, 9 Apr 2025 10:22:28 +0000 (12:22 +0200)
committerGitHub <noreply@github.com>
Wed, 9 Apr 2025 10:22:28 +0000 (12:22 +0200)
music_assistant/mass.py

index 0da50bd23b950bb2d1bda2e9074a5c8fff8642b9..e3a5276a214820efde0236e65e53afc18e0bc5b2 100644 (file)
@@ -19,7 +19,13 @@ from music_assistant_models.errors import MusicAssistantError, SetupFailedError
 from music_assistant_models.event import MassEvent
 from music_assistant_models.helpers import set_global_cache_values
 from music_assistant_models.provider import ProviderManifest
-from zeroconf import IPVersion, NonUniqueNameException, ServiceStateChange, Zeroconf
+from zeroconf import (
+    InterfaceChoice,
+    IPVersion,
+    NonUniqueNameException,
+    ServiceStateChange,
+    Zeroconf,
+)
 from zeroconf.asyncio import AsyncServiceBrowser, AsyncServiceInfo, AsyncZeroconf
 
 from music_assistant.constants import (
@@ -129,7 +135,7 @@ class MusicAssistant:
         self.version = await get_package_version("music_assistant") or "0.0.0"
         # create shared zeroconf instance
         # TODO: enumerate interfaces and enable IPv6 support
-        self.aiozc = AsyncZeroconf(ip_version=IPVersion.V4Only)
+        self.aiozc = AsyncZeroconf(ip_version=IPVersion.V4Only, interfaces=InterfaceChoice.Default)
         # create shared aiohttp ClientSession
         self.http_session = ClientSession(
             loop=self.loop,