Skip to content

fix: add socket to avoid network issue - #34

Merged
InftyAI-Agent merged 4 commits into
InftyAI:mainfrom
kerthcet:fix/websock-error
Aug 3, 2026
Merged

fix: add socket to avoid network issue#34
InftyAI-Agent merged 4 commits into
InftyAI:mainfrom
kerthcet:fix/websock-error

Conversation

@kerthcet

@kerthcet kerthcet commented Aug 3, 2026

Copy link
Copy Markdown
Member

What this PR does / why we need it

Which issue(s) this PR fixes

Fixes #

Special notes for your reviewer

Does this PR introduce a user-facing change?


Signed-off-by: kerthcet <kerthcet@gmail.com>
Copilot AI review requested due to automatic review settings August 3, 2026 14:26
@InftyAI-Agent InftyAI-Agent added needs-triage Indicates an issue or PR lacks a label and requires one. needs-priority Indicates a PR lacks a label and requires one. do-not-merge/needs-kind Indicates a PR lacks a label and requires one. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Aug 3, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the SandD daemon’s tunnel-mode networking so that, when running Tailscale in --tun=userspace-networking, the daemon can reliably reach the controller by dialing the WebSocket through tailscaled’s localhost SOCKS5 proxy (including “remote DNS” semantics for MagicDNS names). It also adds dedicated tunnel-mode E2E coverage and CI execution for that path.

Changes:

  • Route tunnel-mode WebSocket connections through tailscaled’s SOCKS5 proxy and share a single serve loop across direct vs tunnel transports.
  • Add a tunnel-mode E2E test stack (headscale + controller + unprivileged daemon) plus a new pytest marker and Makefile target to run it.
  • Add a CI job to run the tunnel-mode E2E test suite.

Reviewed changes

Copilot reviewed 7 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
sandd/src/main.rs Adds SOCKS5-based dialing for tunnel mode and refactors to a shared serve() implementation.
sandd/Cargo.toml Adds tokio-socks dependency required for SOCKS5 tunneling.
python/tests/test_e2e_tunnel.py New E2E regression test that forces the MagicDNS + userspace-networking + SOCKS5 path.
pyproject.toml Registers the new tunnel pytest marker.
Makefile Adds test-e2e-tunnel target and updates E2E test selection logic.
hack/docker/docker-compose.tunnel-e2e.yml New compose stack to run headscale + controller + unprivileged daemon for tunnel E2E.
Cargo.lock Locks tokio-socks and transitive dependencies.
.github/workflows/rust-ci.yaml Adds a CI job to run tunnel-mode E2E tests.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread sandd/src/main.rs Outdated
Comment thread Makefile Outdated
kerthcet and others added 3 commits August 3, 2026 15:33
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: kerthcet <kerthcet@gmail.com>
Signed-off-by: kerthcet <kerthcet@gmail.com>
@kerthcet

kerthcet commented Aug 3, 2026

Copy link
Copy Markdown
Member Author

/lgtm
/kind bug

@InftyAI-Agent InftyAI-Agent added lgtm Looks good to me, indicates that a PR is ready to be merged. bug Categorizes issue or PR as related to a bug. and removed do-not-merge/needs-kind Indicates a PR lacks a label and requires one. labels Aug 3, 2026

@InftyAI-Agent InftyAI-Agent left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Approved: PR has both lgtm and approved labels

@InftyAI-Agent
InftyAI-Agent merged commit c407fb8 into InftyAI:main Aug 3, 2026
22 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. bug Categorizes issue or PR as related to a bug. lgtm Looks good to me, indicates that a PR is ready to be merged. needs-priority Indicates a PR lacks a label and requires one. needs-triage Indicates an issue or PR lacks a label and requires one.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants