init
This commit is contained in:
41
docs/desktop-migration.md
Normal file
41
docs/desktop-migration.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user