Aiming to develop a remote desktop control application supports for Windows/Linux(X11/Wayland)/macOS/Android/iOS, as well as a server with no GUI(or a TUI)
This project is currently in a developing stage, I will give priority to optimizing the architecture. When implementing functions, I will first write them in the form of tests or examples. Finally, if all modules are OK, then assemble them.
I will continue to update this document, including architecture diagrams
One can configuration this program by a workdir file: config.toml
or toml files provided by arguments
, or environment variables with prefix RDRS
and spliter __
, For more information, please see reference code
- developing slint using
ffmpeg
,slint
andwebrtc
, aming to realize a simple straming from peer to peer first.- Continuously improve the architecture, including major refactoring if necessary
- video decode
- decode video from encoded format to original color data
- video encode
- encode video from original color data to encoded format
- video play
- play with slint native interface
- play with a opengl underlay
- Stabilize this feature
- audio play
- webrtc connection, video and audio track, and mouse, keyboard datachannel
- other device features include virtual camera, virtual microphone, usb redirect, disk share, etc
- metircs
Here are examples.
Note: Split infrastructures into crates to decrease build time.
Configurations of remote-desk
DDD Domains of remote-desk, include models, repositories, and domain services
Cross-platform support and utilities
Implementation of technical facilities
App kernel
Deploy a machine as remote-desk server without GUI, can be connected by rdrs-flutter and rdrs-slint
GUI for Windows/Linux/macOS
GUI for Android/iOS