Files
net-bridge/docs/desktop-migration.md
Meghdad Fadaee 4ffbc3bffe
Some checks failed
CI / Rust (push) Successful in 20s
CI / Android (push) Failing after 8m35s
init
2026-05-31 15:36:07 +03:30

948 B

Future Desktop Client Migration Plan

Shared Core

The Rust crates are already structured so desktop clients can reuse:

  • VSHP frame parsing and encoding.
  • Peer/session models.
  • NAT, MTU, DNS, and flow-control logic where applicable.
  • Transport abstractions.

Desktop-Specific Layers

Windows:

  • Wintun adapter.
  • Windows service.
  • MSI/MSIX installer.
  • Credential Manager key storage.

Linux:

  • TUN device.
  • systemd user/system service.
  • NetworkManager integration where available.
  • Secret Service key storage.

macOS:

  • utun interface.
  • launchd service.
  • Keychain key storage.
  • Notarized app bundle.

Product Migration Steps

  1. Keep clients/desktop as the CLI bring-up tool.
  2. Add OS-specific virtual NIC crates under clients/desktop/src/platform.
  3. Add installers once USB IPv4 forwarding is stable.
  4. Add tray UI after service lifecycle is reliable.
  5. Split GUI from service so crashes do not drop the tunnel.