948 B
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
- Keep
clients/desktopas the CLI bring-up tool. - Add OS-specific virtual NIC crates under
clients/desktop/src/platform. - Add installers once USB IPv4 forwarding is stable.
- Add tray UI after service lifecycle is reliable.
- Split GUI from service so crashes do not drop the tunnel.