Web (Gateway)
Gateway, Gateway WebSocket ile aynı porttan küçük bir tarayıcı Kontrol UI (Vite + Lit) sunar:- varsayılan:
http://<host>:18789/ - isteğe bağlı önek:
gateway.controlUi.basePathayarlayın (örn./openclaw)
Webhook’lar
hooks.enabled=true olduğunda, Gateway aynı HTTP sunucusunda küçük bir webhook uç noktası da sunar.
Kimlik doğrulama ve yükler için Gateway yapılandırması → hooks bölümüne bakın.
Config (default-on)
Varlıklar mevcut olduğunda (dist/control-ui) Kontrol UI varsayılan olarak etkindir.
Yapılandırma ile denetleyebilirsiniz:
Tailscale erişimi
Entegre Serve (önerilen)
Gateway’i loopback üzerinde tutun ve Tailscale Serve’in proxy’lemesine izin verin:https://<magicdns>/(veya yapılandırılmışgateway.controlUi.basePath)
Tailnet bağlama + belirteç
http://<tailscale-ip>:18789/(veya yapılandırılmışgateway.controlUi.basePath)
Genel internet (Funnel)
Güvenlik notları
- Gateway kimlik doğrulaması varsayılan olarak gereklidir (belirteç/parola veya Tailscale kimlik başlıkları).
- Loopback olmayan bağlamalar yine de paylaşılan bir belirteç/parola gerektirir (
gateway.authveya ortam değişkeni). - Sihirbaz varsayılan olarak bir gateway belirteci üretir (loopback’te bile).
- UI,
connect.params.auth.tokenveyaconnect.params.auth.passwordgönderir. - Kontrol UI, anti-clickjacking başlıkları gönderir ve
gateway.controlUi.allowedOriginsayarlanmadıkça yalnızca aynı kaynaklı tarayıcı websocket bağlantılarını kabul eder. - Serve ile,
gateway.auth.allowTailscaletrueolduğunda Tailscale kimlik başlıkları kimlik doğrulamayı karşılayabilir (belirteç/parola gerekmez). Açık kimlik bilgilerini zorunlu kılmak içingateway.auth.allowTailscale: falseayarlayın. Tailscale ve Güvenlik bölümlerine bakın. gateway.tailscale.mode: "funnel",gateway.auth.mode: "password"(paylaşılan parola) gerektirir.
UI’yi derleme
Gateway, statik dosyalarıdist/control-ui konumundan sunar. Şu komutla derleyin: