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

42 lines
948 B
Markdown

# 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.