Skip to content

🤖 feat: add Tailscale bind host selection#3239

Open
coadler wants to merge 2 commits intomainfrom
remote-access-abv6
Open

🤖 feat: add Tailscale bind host selection#3239
coadler wants to merge 2 commits intomainfrom
remote-access-abv6

Conversation

@coadler
Copy link
Copy Markdown
Collaborator

@coadler coadler commented May 6, 2026

Summary

Adds Tailscale-aware bind host selection to the remote access experiment so users can bind mux to a detected local Tailscale address instead of only localhost or all interfaces.

Implementation

  • Detects bindable Tailscale addresses from OS network interfaces, using Tailscale-named interfaces directly and consulting tailscale ip to prove generic interface addresses belong to Tailscale.
  • Filters Tailscale CLI output to known Tailscale IPv4/IPv6 ranges so generic RFC6598 CGNAT addresses are not mislabeled without proof.
  • Exposes detected addresses through API server status as tailscaleBindHosts.
  • Adds Tailscale entries to the remote access bind-host selector and persists the selected address via the existing apiServerBindHost setting.

Validation

  • make static-check
  • bun test node/services/serverService.test.ts

Risks

Low. The change extends the existing custom bind-host path and only changes remote access settings when the user explicitly selects a Tailscale address. Generic 100.64.0.0/10 addresses now require Tailscale CLI proof before being labeled as Tailscale.


Generated with mux • Model: openai:gpt-5.5 • Thinking: xhigh • Cost: $0.00

Expose detected local Tailscale addresses in API server status and allow the remote access experiment to bind mux to one of them.

Generated with mux • Model: openai:gpt-5.5 • Thinking: xhigh • Cost: $0.00
@coadler
Copy link
Copy Markdown
Collaborator Author

coadler commented May 6, 2026

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 8dab07c185

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/node/services/serverService.ts Outdated
Avoid labeling generic 100.64.0.0/10 addresses as Tailscale unless the interface name or Tailscale CLI output proves the address belongs to Tailscale.

Generated with mux • Model: openai:gpt-5.5 • Thinking: xhigh • Cost: $0.00
@coadler
Copy link
Copy Markdown
Collaborator Author

coadler commented May 6, 2026

@codex review

Please take another look. I tightened generic 100.64.0.0/10 detection to require Tailscale CLI proof and resolved the prior thread.

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. 🚀

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant