Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

35. Bonjour / mDNS aniqlash

  1. OpenClaw faol Gateway (WebSocket endpoint) ni aniqlash uchun faqat LAN doirasidagi qulaylik sifatida Bonjour (mDNS / DNS‑SD) dan foydalanadi. 37. Bu best‑effort bo‘lib, SSH yoki Tailnet asosidagi ulanishni almashtirmaydi.

38. Tailscale orqali keng hududli Bonjour (Unicast DNS‑SD)

  1. Agar tugun va gateway turli tarmoqlarda bo‘lsa, multicast mDNS chegaradan o‘tmaydi. 40. Tailscale orqali unicast DNS‑SD ("Wide‑Area Bonjour") ga o‘tib, xuddi shu aniqlash UX’ini saqlab qolishingiz mumkin.

  2. Yuqori darajadagi qadamlar:

    1. Gateway xostida DNS serverni ishga tushiring (Tailnet orqali yetib boriladigan).
    1. Ajratilgan zona ostida _openclaw-gw._tcp uchun DNS‑SD yozuvlarini e’lon qiling (misol: openclaw.internal.).
    1. Tanlangan domeningiz mijozlar (jumladan iOS) uchun o‘sha DNS server orqali yechilishi uchun Tailscale split DNS ni sozlang.

45) OpenClaw istalgan aniqlash domenini qo‘llab-quvvatlaydi; openclaw.internal. faqat misol. 46) iOS/Android tugunlari local. va siz sozlagan keng hududli domenni birgalikda ko‘rib chiqadi.

47. Gateway konfiguratsiyasi (tavsiya etiladi)

48. {
  gateway: { bind: "tailnet" }, // faqat tailnet (tavsiya etiladi)
  discovery: { wideArea: { enabled: true } }, // keng hududli DNS‑SD e’lon qilishni yoqadi
}

49. Bir martalik DNS server sozlamasi (gateway xosti)

50. openclaw dns setup --apply
  1. Bu CoreDNS’ni o‘rnatadi va uni quyidagicha sozlaydi:
    1. 53‑portda faqat gateway’ning Tailscale interfeyslarida tinglaydi
    1. tanlangan domeningizni (misol: openclaw.internal.) ~/.openclaw/dns/<domain>.db dan xizmat qiladi
  1. Tailnet’ga ulangan mashinadan tekshiring:
5. dns-sd -B _openclaw-gw._tcp openclaw.internal.
dig @<TAILNET_IPV4> -p 53 _openclaw-gw._tcp.openclaw.internal PTR +short

6. Tailscale DNS sozlamalari

  1. Tailscale admin konsolida:
    1. Gateway’ning tailnet IP manziliga (UDP/TCP 53) yo‘naltirilgan nameserver qo‘shing.
    1. Discovery domeningiz shu nameserver’dan foydalanishi uchun split DNS qo‘shing.
  1. Mijozlar tailnet DNS’ni qabul qilgach, iOS tugunlari multicast’siz discovery domeningizda _openclaw-gw._tcp ni ko‘ra oladi.

11. Gateway tinglovchi xavfsizligi (tavsiya etiladi)

  1. Gateway WS porti (standart 18789) sukut bo‘yicha loopback’ga bog‘lanadi. 13. LAN/tailnet kirish uchun, aniq bog‘lang va autentifikatsiyani yoqilgan holda qoldiring.

  2. Faqat tailnet sozlamalari uchun:

    1. ~/.openclaw/openclaw.json faylida gateway.bind: "tailnet" ni o‘rnating.
    1. Gateway’ni qayta ishga tushiring (yoki macOS menyubar ilovasini qayta ishga tushiring).

17. Nimalar e’lon qilinadi

  1. Faqat Gateway _openclaw-gw._tcp ni e’lon qiladi.

19. Xizmat turlari

    1. _openclaw-gw._tcp — gateway transport beacon (macOS/iOS/Android tugunlari tomonidan ishlatiladi).

21. TXT kalitlari (maxfiy bo‘lmagan ishoralar)

  1. Gateway UI jarayonlarini qulay qilish uchun kichik, maxfiy bo‘lmagan ishoralarni e’lon qiladi:
    1. role=gateway
    1. displayName=<friendly name>
    1. lanHost=<hostname>.local
    1. gatewayPort=<port> (Gateway WS + HTTP)
    1. gatewayTls=1 (faqat TLS yoqilganida)
    1. gatewayTlsSha256=<sha256> (faqat TLS yoqilgan va fingerprint mavjud bo‘lganda)
    1. canvasPort=<port> (faqat canvas xosti yoqilganda; standart 18793)
    1. sshPort=<port> (o‘zgartirilmagan bo‘lsa, sukut bo‘yicha 22)
    1. transport=gateway
    1. cliPath=<path> (ixtiyoriy; ishga tushiriladigan openclaw kirish nuqtasiga mutlaq yo‘l)
    1. tailnetDns=<magicdns> (Tailnet mavjud bo‘lganda ixtiyoriy ishora)

34. macOS’da nosozliklarni tuzatish

  1. Foydali o‘rnatilgan vositalar:
    1. Instansiyalarni ko‘rish:

bash 37. dns-sd -B _openclaw-gw._tcp local.

    1. Bitta instansiyani aniqlash ( <instance> ni almashtiring):

bash 39. dns-sd -L "<instance>" _openclaw-gw._tcp local.

  1. Agar ko‘rish ishlasa, lekin aniqlash ishlamasa, odatda LAN siyosati yoki mDNS rezolver muammosiga duch kelasiz.

41. Gateway loglarida nosozliklarni tuzatish

  1. Gateway aylanuvchi log faylini yozadi (ishga tushishda quyidagicha chop etiladi: gateway log file: ...). 43. Ayniqsa bonjour: qatorlariga e’tibor bering:
    1. bonjour: advertise failed ...
    1. `bonjour: ...
    2. name conflict resolved/hostname conflict resolved47.bonjour: watchdog detected non-announced service ...`
    1. iOS tugunida nosozliklarni tuzatish

49. iOS tuguni _openclaw-gw._tcp ni aniqlash uchun NWBrowser dan foydalanadi.

  1. Loglarni olish uchun:

Jurnallarni yozib olish uchun:

  • Sozlamalar → Gateway → Kengaytirilgan → Discovery Debug Logs
  • Sozlamalar → Gateway → Kengaytirilgan → Discovery Logs → qayta takrorlang → Copy

Jurnal brauzer holati o‘zgarishlari va natijalar to‘plamidagi o‘zgarishlarni o‘z ichiga oladi.

Keng tarqalgan nosozlik holatlari

  • Bonjour tarmoqlar o‘rtasida ishlamaydi: Tailnet yoki SSH’dan foydalaning.
  • workdir, env
  • Uyqu rejimi / interfeys almashinuvi: macOS vaqtincha mDNS natijalarini yo‘qotishi mumkin; qayta urinib ko‘ring.
  • Browse ishlaydi, lekin resolve muvaffaqiyatsiz: qurilma nomlarini sodda saqlang (emojilar yoki tinish belgilaridan saqlaning), so‘ng Gateway’ni qayta ishga tushiring. Xizmat nusxasi nomi quyidagidan kelib chiqadi the host name, so overly complex names can confuse some resolvers.

Escaped nusxa nomlari (\032)

Bonjour/DNS‑SD often escapes bytes in service instance names as decimal \DDD sequences (e.g. spaces become \032).

  • This is normal at the protocol level.
  • Multicast bloklangan: ba’zi Wi‑Fi tarmoqlari mDNS’ni o‘chirib qo‘yadi.

Disabling / configuration

  • OPENCLAW_DISABLE_BONJOUR=1 disables advertising (legacy: OPENCLAW_DISABLE_BONJOUR).
  • gateway.bind in ~/.openclaw/openclaw.json controls the Gateway bind mode.
  • OPENCLAW_SSH_PORT overrides the SSH port advertised in TXT (legacy: OPENCLAW_SSH_PORT).
  • OPENCLAW_TAILNET_DNS publishes a MagicDNS hint in TXT (legacy: OPENCLAW_TAILNET_DNS).
  • OPENCLAW_CLI_PATH overrides the advertised CLI path (legacy: OPENCLAW_CLI_PATH).