Files

1.3 KiB

RemoteDesk Android Controller

The Android controller is a standalone Flutter application. It supports:

  • Linux Agent connections over pinned WSS, explicit Edge relay, and automatic direct-to-Edge fallback.
  • Windows Agent TOTP and bounded SDP/ICE signaling on TCP 39501, with H.264 video and input carried by WebRTC and automatic BGRA+zlib/TCP fallback when WebRTC is unavailable.

Windows connections intentionally do not require TLS or a certificate fingerprint. TOTP is still mandatory, but it does not encrypt the connection. Expose the Windows Agent only on a trusted LAN or through a private VPN/AnyTLS tunnel.

On Android, flutter_webrtc keeps RTP, jitter handling, H.264 decode, and Texture rendering in the native WebRTC stack. Dart only exchanges bounded SDP/ICE and small DataChannel input messages. The BGRA fallback is bounded but slower because it inflates full frames in Dart.

Local verification

flutter pub get --enforce-lockfile
dart format --output=none --set-exit-if-changed lib test
flutter analyze
flutter test
flutter build apk --release

Without release-signing environment variables, Gradle uses the Android debug certificate so local release-mode builds remain installable for testing. Production tag builds must run through the Drone signing flow documented in docs/ci-drone.md.