Bonjour / mDNS-upptäckt
OpenClaw använder Bonjour (mDNS / DNS‐SD) som en LAN‐only bekvämlighet för att upptäcka en aktiv Gateway (WebSocket slutpunkt). Den är bäst-ansträngning och ersätter inte SSH eller Skailnet-baserad anslutning.Wide‑area Bonjour (Unicast DNS‑SD) över Tailscale
Om noden och gateway är på olika nätverk, multicast mDNS kommer inte att passera gränsen. Du kan behålla samma upptäckt UX genom att växla till unicast DNS‐SD (“Wide‐Area Bonjour”) över Tailscale. Övergripande steg:- Kör en DNS‑server på gateway‑värden (nåbar över Tailnet).
- Publicera DNS‑SD‑poster för
_openclaw-gw._tcpunder en dedikerad zon (exempel:openclaw.internal.). - Konfigurera Tailscale split DNS så att din valda domän löses via den DNS‑servern för klienter (inklusive iOS).
openclaw.internal. är bara ett exempel.
iOS/Android noder bläddra både lokala och din konfigurerade wide‐area domain.
Gateway‑konfig (rekommenderas)
Engångsinstallation av DNS‑server (gateway‑värd)
- lyssna på port 53 endast på gatewayens Tailscale‑gränssnitt
- betjäna din valda domän (exempel:
openclaw.internal.) från~/.openclaw/dns/<domain>.db
Tailscale DNS‑inställningar
I Tailscale‑administrationskonsolen:- Lägg till en namnserver som pekar på gatewayens tailnet‑IP (UDP/TCP 53).
- Lägg till split DNS så att din upptäcktsdomän använder den namnservern.
_openclaw-gw._tcp i din upptäcktsdomän utan multicast.
Gateway‑lyssnarsäkerhet (rekommenderas)
Gateway WS-porten (standard18789) binder till loopback som standard. För LAN/tailnet
åtkomst, bind explicit och håll auth aktiverad.
För tailnet‑endast‑uppsättningar:
- Sätt
gateway.bind: "tailnet"i~/.openclaw/openclaw.json. - Starta om Gateway (eller starta om macOS‑menyradsappen).
Vad som annonseras
Endast Gateway annonserar_openclaw-gw._tcp.
Tjänsttyper
_openclaw-gw._tcp— gateway‑transportbeacon (används av macOS/iOS/Android‑noder).
TXT‑nycklar (icke‑hemliga ledtrådar)
Gatewayn annonserar små icke‑hemliga ledtrådar för att göra UI‑flöden smidiga:role=gatewaydisplayName=<friendly name>lanHost=<hostname>.localgatewayPort=<port>(Gateway WS + HTTP)gatewayTls=1(endast när TLS är aktiverat)gatewayTlsSha256=<sha256>(endast när TLS är aktiverat och fingeravtryck finns)canvasPort=<port>(endast när canvas‑värden är aktiverad; standard18793)sshPort=<port>(standard 22 när den inte åsidosätts)transport=gatewaycliPath=<path>(valfritt; absolut sökväg till en körbaropenclaw‑entrypoint)tailnetDns=<magicdns>(valfri ledtråd när Tailnet är tillgängligt)
- Bonjour/mDNS TXT-poster är oautentiserade. Klienter får inte behandla TXT som auktoritativ routning.
- Klienter ska routa med den resolverade tjänsteendpointen (SRV + A/AAAA). Behandla
lanHost,tailnetDns,gatewayPortochgatewayTlsSha256endast som hintar. - TLS-pinning får aldrig tillåta att en annonserad
gatewayTlsSha256åsidosätter en tidigare lagrad pin. - iOS-/Android-noder ska behandla direktanslutningar baserade på discovery som endast TLS och kräva uttrycklig användarbekräftelse innan ett fingeravtryck som ses för första gången betros.
Felsökning på macOS
Om bläddring fungerar men upplösning misslyckas träffar du oftast på en LAN‑policy eller ett mDNS‑resolverproblem.-
Bläddra bland instanser:
-
Lös upp en instans (ersätt
<instance>):
Felsökning i Gateway‑loggar
Gateway skriver en rullande loggfil (tryckt vid start somgateway loggfil: ...). Leta efter bonjour: rader, särskilt:
bonjour: advertise failed ...bonjour: ... namnkonflikt löst/hostname konflikt löstbonjour: watchdog detected non-announced service ...
Felsökning på iOS‑nod
iOS‑noden använderNWBrowser för att upptäcka _openclaw-gw._tcp.
Loggen inkluderar tillståndsövergångar i webbläsaren och ändringar i resultatmängden.
- Inställningar → Gateway → Avancerat → Discovery Debug Logs
- Inställningar → Gateway → Avancerat → Discovery Logs → återskapa → Kopiera
Escapade instansnamn (\032)
- Bonjour passerar inte nätverk: använd Tailnet eller SSH.
- Multicast blockeras: vissa Wi‑Fi‑nätverk inaktiverar mDNS.
- Viloläge / gränssnittschurn: macOS kan tillfälligt tappa mDNS‑resultat; försök igen.
- Bläddra bland verk men lösa fel: håll maskinnamnen enkla (undvik emojis eller skiljeturering), starta sedan om Gateway. Tjänsten instans namn härstammar från värdnamnet, så alltför komplexa namn kan förvirra vissa resolvers.
Escapade instansnamn (\032)
Bonjour/DNS‑SD escaper ofta byte i tjänstinstansnamn som decimala \DDD‑
sekvenser (t.ex. blir mellanslag \032).
OPENCLAW_DISABLE_BONJOUR=1inaktiverar annonsering (legacy:OPENCLAW_DISABLE_BONJOUR).gateway.bindi~/.openclaw/openclaw.jsonstyr Gatewayns bind‑läge.
Relaterad dokumentation
- Upptäcktspolicy och transportval: Discovery
- Nodparkoppling + godkännanden: Gateway pairing
OPENCLAW_SSH_PORTåsidosätter SSH‑porten som annonseras i TXT (legacy:OPENCLAW_SSH_PORT).OPENCLAW_TAILNET_DNSpublicerar en MagicDNS‑ledtråd i TXT (legacy:OPENCLAW_TAILNET_DNS).OPENCLAW_CLI_PATHåsidosätter den annonserade CLI‑sökvägen (legacy:OPENCLAW_CLI_PATH).
Relaterad dokumentation
- Upptäcktspolicy och transportval: Discovery
- Nodparkoppling + godkännanden: Gateway pairing