Skip to content

Loopback-first Web Service with private Serve and public Funnel - #475

Open
Adam-Dalloul wants to merge 6 commits into
xintaofei:mainfrom
Adam-Dalloul:web-service-loopback-first
Open

Loopback-first Web Service with private Serve and public Funnel#475
Adam-Dalloul wants to merge 6 commits into
xintaofei:mainfrom
Adam-Dalloul:web-service-loopback-first

Conversation

@Adam-Dalloul

@Adam-Dalloul Adam-Dalloul commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Web Service Start was binding 0.0.0.0 even when the address picker only displayed loopback.

This PR:

  • defaults bind to 127.0.0.1
  • LAN switch + constant-time tokens
  • Private is bundled codeg-tsnet (official tsnet v1.102.2). No Tailscale app on the PC. First flip opens Tailscale login in the browser, then Codeg is the node.
  • Public is Funnel through the same sidecar (weaker, public URL + token)
  • If the sidecar is not in the build, it can still drive an already-installed Tailscale CLI
  • QR is {url, token, mode} for Codeg iOS (codeg-ios#5)

Rebuild Codeg (pnpm tauri:prepare-sidecars needs Go) to ship the sidecar. iOS still needs bootstrap_tailscalekit.sh on a Mac.

@Adam-Dalloul Adam-Dalloul changed the title Default Web Service to loopback and compare tokens in constant time Loopback-first Web Service plus official Tailscale Funnel Aug 15, 2026
@Adam-Dalloul Adam-Dalloul changed the title Loopback-first Web Service plus official Tailscale Funnel Loopback-first Web Service with private Serve and public Funnel Aug 15, 2026
Start no longer binds 0.0.0.0 unless the user turns on LAN access.
Missing bind-mode metadata is loopback. Bearer and WebSocket tokens
compare without an early exit on the first differing byte.

codeg-server still uses CODEG_HOST (default 0.0.0.0). Phone/anywhere
HTTPS remains the existing Funnel sidecar work.
@Adam-Dalloul
Adam-Dalloul force-pushed the web-service-loopback-first branch from 8e57403 to 7286748 Compare August 16, 2026 17:01
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