Modlar
gateway.tailscale.mode:
Durum ve denetim çıktısı, bu OpenClaw Serve/Funnel modu için Tailscale erişimini kullanır.
off, OpenClaw’ın Serve veya Funnel’ı yönetmediği anlamına gelir; yerel Tailscale arka plan programının durdurulduğu veya oturumunun kapatıldığı anlamına gelmez.
Yapılandırma örnekleri
Yalnızca tailnet (Serve)
https://<magicdns>/ (veya yapılandırdığınız gateway.controlUi.basePath)
Control UI’yi cihaz ana bilgisayar adı yerine adlandırılmış bir Tailscale Hizmeti üzerinden kullanıma açmak için gateway.tailscale.serviceName değerini Hizmet adına ayarlayın:
https://openclaw.<tailnet-name>.ts.net/ olarak bildirir. Tailscale Hizmetleri, ana bilgisayarın tailnet’inizde onaylı ve etiketlenmiş bir Node olmasını gerektirir. Bunu etkinleştirmeden önce Tailscale’de etiketi yapılandırıp Hizmeti onaylayın; aksi takdirde gateway başlatılırken tailscale serve --service=... başarısız olur.
Yalnızca tailnet (Tailnet IP’sine bağlanma)
Gateway’in Serve/Funnel olmadan doğrudan Tailnet IP’sini dinlemesi için bunu kullanın:- Control UI:
http://<tailscale-ip>:18789/ - WebSocket:
ws://<tailscale-ip>:18789
Bağlanılabilir bir Tailnet IPv4 adresi mevcut olduğunda Gateway, kimliği doğrulanmış aynı ana bilgisayardaki istemciler için ayrıca
http://127.0.0.1:18789 gerektirir. Başlatma sırasında kullanılabilir bir Tailnet adresi yoksa yalnızca geri döngüye geri döner; doğrudan Tailnet erişimi eklemek için Tailscale kullanılabilir hâle geldikten sonra yeniden başlatın. Her iki yol da LAN veya genel erişim eklemez.Genel internet (Funnel + paylaşılan parola)
OPENCLAW_GATEWAY_PASSWORD kullanmayı tercih edin.
CLI örnekleri
Kimlik doğrulama
gateway.auth.mode, el sıkışmayı denetler:
Tailscale kimlik üst bilgileri (yalnızca Serve)
tailscale.mode: "serve" olduğunda ve gateway.auth.allowTailscale, true olarak ayarlandığında Control UI/WebSocket kimlik doğrulaması, belirteç/parola yerine Tailscale kimlik üst bilgilerini (tailscale-user-login) kullanabilir. OpenClaw, isteğin x-forwarded-for adresini yerel Tailscale arka plan programı (tailscale whois) üzerinden çözümleyip kabul etmeden önce üst bilgi oturum açma bilgisiyle eşleştirerek üst bilgiyi doğrular. Bir istek yalnızca geri döngüden gelip Tailscale’in x-forwarded-for, x-forwarded-proto ve x-forwarded-host üst bilgilerini taşıdığında bu yolu kullanmaya hak kazanır.
Bu belirteçsiz akış, gateway ana bilgisayarının güvenilir olduğunu varsayar. Güvenilmeyen yerel kod aynı ana bilgisayarda çalışabiliyorsa gateway.auth.allowTailscale: false ayarını yapın ve bunun yerine belirteç/parola kimlik doğrulamasını zorunlu kılın.
Atlamanın kapsamı:
- Yalnızca Control UI WebSocket kimlik doğrulama yüzeyi için geçerlidir. HTTP API uç noktaları (
/v1/*,/tools/invoke,/api/channels/*vb.) Tailscale kimlik üst bilgisi kimlik doğrulamasını hiçbir zaman kullanmaz; her zaman gateway’in normal HTTP kimlik doğrulama modunu izler. - Tarayıcı cihaz kimliğini zaten taşıyan Control UI operatör oturumlarında, doğrulanmış bir Tailscale kimliği önyükleme belirteci/QR eşleştirme gidiş dönüşünü atlar.
- Cihaz kimliğinin kendisini atlamaz: cihazsız istemciler yine reddedilir ve Node rolü bağlantıları yine normal eşleştirme ve kimlik doğrulama kontrollerinden geçer.
Notlar
- Tailscale Serve/Funnel,
tailscaleCLI’nin kurulu ve oturum açmış olmasını gerektirir. tailscale.mode: "funnel", genel erişimi önlemek için kimlik doğrulama modupasswordolmadığı sürece başlatılmayı reddeder.gateway.tailscale.serviceNameyalnızca Serve modu için geçerlidir vetailscale serve --service=<name>öğesine iletilir. Değer, Tailscale’insvc:<dns-label>biçimini kullanmalıdır; örneğinsvc:openclaw. Tailscale, Hizmet ana bilgisayarlarının etiketlenmiş Node’lar olmasını gerektirir ve Serve bunu yayımlamadan önce Hizmetin yönetici konsolunda onaylanması gerekebilir.gateway.tailscale.resetOnExit, kapatma sırasındatailscale serve/tailscale funnelyapılandırmasını geri alır.gateway.tailscale.preserveFunnel: true, haricî olarak yapılandırılmış birtailscale funnelrotasını gateway yeniden başlatmaları boyunca etkin tutar.mode: "serve"ile OpenClaw, Serve’i yeniden uygulamadan öncetailscale funnel statusdenetimi yapar ve bir Funnel rotası gateway portunu zaten kapsıyorsa bunu atlar. OpenClaw tarafından yönetilen Funnel’ın yalnızca parola ilkesi değişmez.gateway.bind: "tailnet", bir Tailnet IPv4 adresi kullanılabilir olduğunda doğrudan Tailnet bağlantısını (HTTPS ve Serve/Funnel olmadan) ve gerekli yerel127.0.0.1değerini kullanır; aksi takdirde yalnızca geri döngüye geri döner.gateway.bind: "auto", geri döngüyü tercih eder; aynı ana bilgisayardaki geri döngü erişimini korurken ağ erişimini Tailnet ile sınırlamak içintailnetkullanın.- Serve/Funnel yalnızca Gateway Control UI + WS öğelerini kullanıma açar. Node’lar aynı Gateway WS uç noktası üzerinden bağlandığından Serve, Node erişimi için de çalışır.
Tailscale ön koşulları ve sınırları
- Serve, tailnet’iniz için HTTPS’nin etkinleştirilmesini gerektirir; eksikse CLI istemde bulunur.
- Serve, Tailscale kimlik üst bilgilerini ekler; Funnel eklemez.
- Funnel; Tailscale v1.38.3+, MagicDNS, etkinleştirilmiş HTTPS ve bir funnel Node özniteliği gerektirir.
- Funnel, TLS üzerinden yalnızca
443,8443ve10000portlarını destekler. - macOS’te Funnel, Tailscale uygulamasının açık kaynaklı varyantını gerektirir.
Tarayıcı denetimi (uzak Gateway + yerel tarayıcı)
Gateway’i bir makinede çalıştırıp başka bir makinedeki tarayıcıyı yönetmek için tarayıcı makinesinde bir Node ana bilgisayarı çalıştırın ve ikisini de aynı tailnet’te tutun. Gateway, tarayıcı eylemlerini Node’a proxy üzerinden iletir; ayrı bir denetim sunucusu veya Serve URL’si gerekmez. Tarayıcı denetimi için Funnel’dan kaçının; Node eşleştirmesini operatör erişimi gibi değerlendirin.Daha fazla bilgi
- Tailscale Serve genel bakışı: https://tailscale.com/kb/1312/serve
tailscale servekomutu: https://tailscale.com/kb/1242/tailscale-serve- Tailscale Funnel genel bakışı: https://tailscale.com/kb/1223/tailscale-funnel
tailscale funnelkomutu: https://tailscale.com/kb/1311/tailscale-funnel