Remote Assistance - ToDesk for Domestic Use and RustDesk for International Use
Remote assistance, remote control of various platform devices such as mobile phones and computers.
Purpose
When seeking to remotely assist clients, family, or friends with their mobile phones or computers, finding the best user experience for solving problems, such as providing on-site instructions, demonstrating operations, and assisting with software system navigation in place of friends.
How to Use
The rationale behind using ToDesk domestically and RustDesk internationally is due to the fact that ToDesk has a domestic relay server set up, providing a better user experience than RustDesk (open-source). Even if we set up our own RustDesk server nodes, we still need to compile the RustDesk mobile and desktop apps to avoid the assisted party from having to interact with the interface to input server addresses and ports, among other details (because if the person requiring assistance is knowledgeable in IT, they may likely not require assistance at all).
Perfect assistance process:
- Send the controlled-end (assisted party) app to family, friends, or clients in need of assistance, prompting them to install it on their mobile phone, computer, or any other platform (such as Windows, MAC, Ubuntu, and more).
- Communicate and obtain the controlled-end’s remote assistance ID.
- On the controlling end, input the remote assistance ID and click connect.
- Sometimes, the controlled end needs to confirm acceptance of the remote assistance by clicking a confirmation prompt.
Related Content
Implementation Methods
Remote control apps for mobile phones,
Implementing Remote Operation of Android Phones, Perhaps Requiring Rooting?
TeamViewer
Rilian Anywhere Remote Assistance https://remobax.top/
Can’t remember the name of the previous app, look in the phone’s memory
How to use AirMirror App for remote control of phones? AirDroid
https://github.com/bk138/droidVNC-NG
https://f-droid.org/packages/net.christianbeier.droidvnc_ng/ToDesk or choose AnyDesk, following the same principle, also free, but experiences significant lag without using a VPN in mainland China.
rustdesk
How to modify the client default server address in the code
Setting up your own server, but needing to change the server address and modify the code every time you send it to others, can the server IP be set as default and not require adding the server address in the future?
https://github.com/rustdesk/rustdesk/discussions/2236
Sciter.JS - HTML/CSS/JS embeddable engine.http://aizuda.com/article/1088975
deploying restdesk server with docker-compose
4.1 Docker build
1 | #8 83.01 Environmental variable VCPKG_FORCE_SYSTEM_BINARIES must be set on arm, s390x, ppc64le, and riscv platforms. |
Solution: Split into three independent commands
1 | RUN git clone --branch 2023.04.15 --depth=1 https://github.com/microsoft/vcpkg --single-branch |
4.2 rustdesk/flutter/
https://github.com/rustdesk/rustdesk/tree/master/flutter
85 mins remaining
TODO Docker-compose self-built ID server
Tested using the default server in mainland China; the button presses and confirmations on the Android end are too numerous, resulting in significant delays.
The Solution: To use ToDesk domestically and RustDesk internationally
- frp solution
Impressive (discovered from an unattended RustDesk site)
https://zsxwz.com/
https://shop.zsxwz.shop
How to configure domain access? Reverse proxy?
- VNC server for mobile phones can be started on F-Droid by downloading droidvnc-ng
https://www.bilibili.com/read/cv21492779/
Assisted party B: After frpc penetration, use droidvnc-ng to start the VNC service
The awkward aspect of this solution is that as Android versions increase and security is enhanced, starting VNC services increases the system-level barriers to overcome.
Various apps are therefore trying to enable non-root remote desktop services: VNC server app for Android that does not require root privileges.
Implement screen capture without root on Android 5.0+ by using MediaProjectionManager, VirtualDisplay, AudioRecord, MediaCodec, and MediaMuxer APIs