mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-26 19:59:34 +00:00
Adds opt-in `gateway.tailscale.preserveFunnel`. When `tailscale.mode = "serve"` and an externally configured Tailscale Funnel route already covers the gateway port, OpenClaw checks `tailscale funnel status --json` before re-applying `tailscale serve` and skips both Serve and the `resetOnExit` teardown for that run, preserving operator-managed Funnel exposure across gateway restarts. The Funnel-status parser handles every documented Tailscale target scheme (http, https, https+insecure) via an RFC 3986 scheme strip, plus loopback hostnames (127.0.0.1, localhost, ::1) and bare-port forms. AllowFunnel-disabled hosts and other-port routes are ignored. Closes #57241.