Skip to content

Cross-Platform Considerations

The NXFR architecture relies on strict boundaries to ensure the core protocol is write-once, run-anywhere, maximizing code reuse and security.

Protocol Agnosticism

The NXFR protocol itself is completely platform-agnostic. The nxfr-core library acts as a pure state machine, taking incoming byte streams and timer events as input, and emitting state changes and outgoing bytes. It knows nothing about the underlying OS, file systems, or UI toolkits.

Interoperability Requirements

To guarantee seamless transfers across vastly different operating systems, all implementations must strictly adhere to the protocol specification, including the use of CBOR framing and TLS 1.3 encryption.

Path Validation

Path validation is a critical security and compatibility feature. To ensure files transferred from a Linux device do not corrupt a Windows filesystem, Windows reserved names (like CON, PRN, AUX, NUL, etc.) and invalid characters are strictly rejected on ALL platforms during the manifest validation phase.

Platform-Specific Considerations

Platform Background Model Crypto Storage UI Integration
Linux Always-on Daemon Secret Service CLI / GTK / D-Bus
Android Foreground Service Android Keystore Share Sheet / Notifications
Windows System Tray App DPAPI / Cert Store Explorer Context Menu
macOS Launch Agent Keychain Finder Extension

Future Targets

While Linux and Android are already shipped, future development aims to expand native clients to: - Windows: Utilizing C# or Rust for native WinUI 3 integration. - macOS: Utilizing Swift for native integration. - iOS: Utilizing Swift for native integration.