Files

26 lines
1.3 KiB
Markdown

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