fix: advertise MagicDNS hosts for Tailscale pairing

Prefer .ts.net names and allow Tailscale CGNAT HTTP on iOS so mobile pairing avoids ATS-blocked raw tailnet IPs.
This commit is contained in:
Ryan Vogel
2026-04-03 13:02:58 +00:00
parent 4abb464345
commit 0f58efe030
3 changed files with 75 additions and 2 deletions
+23
View File
@@ -0,0 +1,23 @@
import { describe, expect, test } from "bun:test"
import { autoTailscaleAdvertiseHost } from "../../src/cli/cmd/serve"
describe("autoTailscaleAdvertiseHost", () => {
const status = {
Self: {
DNSName: "exos.husky-tilapia.ts.net.",
TailscaleIPs: ["100.76.251.88", "fd7a:115c:a1e0::435:fb58"],
},
}
test("advertises the MagicDNS hostname for all-interface listeners", () => {
expect(autoTailscaleAdvertiseHost("0.0.0.0", status)).toBe("exos.husky-tilapia.ts.net")
})
test("advertises the MagicDNS hostname for Tailscale-bound listeners", () => {
expect(autoTailscaleAdvertiseHost("100.76.251.88", status)).toBe("exos.husky-tilapia.ts.net")
})
test("skips the MagicDNS hostname for unrelated listeners", () => {
expect(autoTailscaleAdvertiseHost("192.168.1.20", status)).toBeUndefined()
})
})