SmartRemote is a remote desktop / remote support solution developed by beyondAI (https://smartremote.beyond-ai.me). This repository contains the source code of the SmartRemote client, published in compliance with the terms of the GNU Affero General Public License v3.0 (AGPL-3.0).
SmartRemote is a fork of RustDesk (based on RustDesk 1.4.5) with customisations specific to the beyondAI product — rebranding, installer changes, a guest build variant for unattended support, a "Guest Spot" activation flow, installed-apps reporting, and additional polish around the Windows / Linux / macOS / Android build pipelines.
Like RustDesk, SmartRemote is composed of three moving parts:
- A client (this repository) that runs on the operator's machine and on
the target machine. The client can be built in two variants:
SmartRemote— the regular (host + controller) build.SmartRemoteGuest— a controller-only build intended for assisted support scenarios (activated via the "Guest Spot" flow).
- A rendezvous / relay server (the RustDesk
hbbs/hbbrstack) that brokers connections between two clients. SmartRemote runs its own rendezvous infrastructure; the client ships with placeholders that must be replaced before building a usable binary (see Building below). - A SmartRemote Web API (proprietary, hosted at
https://smartremote.beyond-ai.me) that handles account management, device binding, version checks, the Guest Spot activation flow, software inventory sync, and other auxiliary features that are not part of upstream RustDesk. The source code of this API is not distributed — it is a proprietary component operated by beyondAI and is not required by the AGPL because it is a separate program that communicates with the client only over HTTP. The client talks to it via REST endpoints under/api/*.
The client source in this repository is self-contained; you can build it and run it against any RustDesk-compatible rendezvous server. The proprietary Web API features (device binding, Guest Spot activation, version updates, installed-apps sync, etc.) will not work unless you point the client at a compatible backend.
This repository is published to honour the AGPL-3.0 obligations of the RustDesk codebase that SmartRemote is built from. It is not a drop-in replacement for upstream RustDesk and is not intended to be merged back.
libs/hbb_commonis vendored into this repository (not a git submodule) so the tree is fully self-contained. The upstream project keeps it as a separate repository.- Internal build wrappers, CI helpers and product documentation used by
beyondAI internally are intentionally not included; the upstream RustDesk
build system (Cargo,
build.py,Dockerfile, the Flutter project underflutter/, etc.) is retained and is sufficient to build the client from source.
The build system is the same as upstream RustDesk. Consult the upstream
RustDesk build documentation (build.py, Dockerfile, the vcpkg.json
manifest, and the Flutter project under flutter/) for the full toolchain
requirements.
Before you build a functional binary you have to replace the placeholders in
libs/hbb_common/src/config.rs:
pub const RENDEZVOUS_SERVERS: &[&str] = &["<YOUR_RENDEZVOUS_SERVER_HOST_OR_IP>"];
pub const RS_PUB_KEY: &str = "<YOUR_RENDEZVOUS_PUBLIC_KEY_BASE64>";RENDEZVOUS_SERVERS— the hostname or IP address of the rendezvous server (hbbs) that clients should connect to. You can run your own using the RustDesk server stack.RS_PUB_KEY— the base64-encoded public key of your rendezvous server.hbbsgenerates it on first run (look forid_ed25519.pubin the server working directory).
Building the client without replacing these placeholders will produce a binary that cannot connect to any rendezvous server.
To produce the SmartRemoteGuest controller-only variant, set the
IS_GUEST environment variable to any value before running the build. The
application name, installer paths, and a handful of behaviours (for example
is_outgoing_only) switch based on this flag.
SmartRemote Client is distributed under the GNU Affero General Public
License v3.0. A full copy of the license is available in
LICENSE.
SmartRemote is a fork of RustDesk, which is © the RustDesk authors and also licensed under AGPL-3.0. All modifications in this repository are © beyondAI and are released under the same license.
The proprietary SmartRemote Web API (hosted at
https://smartremote.beyond-ai.me) is a separate work and is not
distributed under AGPL-3.0.
- Website: https://smartremote.beyond-ai.me
- Support:
smartremote@beyond-ai.me