我们需要您的帮助将此自述文件、RustDesk UI 和 RustDesk 文档翻译成您的母语
与我们聊天:Discord |推特 |红迪网
另一个远程桌面软件,用 Rust 编写。开箱即用,无需配置。您可以完全控制您的数据,无需担心安全性。您可以使用我们的集合点/中继服务器,设置您自己的集合点/中继服务器,或者编写您自己的集合点/中继服务器。
RustDesk 欢迎大家的贡献。请参阅 CONTRIBUTING.md 以获取入门帮助。
常问问题
二进制下载
每晚构建
桌面版本使用 Flutter 或 Sciter(已弃用)作为 GUI,本教程仅适用于 Sciter,因为它更容易上手且更友好。查看我们用于构建 Flutter 版本的 CI。
请自行下载Sciter动态库。
窗户| Linux | macOS
准备您的 Rust 开发环境和 C++ 构建环境
安装vcpkg,并正确设置VCPKG_ROOT
环境变量
Windows:vcpkg 安装 libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
Linux/macOS:vcpkg 安装 libvpx libyuv opus aom
运行cargo run
sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake make libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libpam0g-dev
sudo zypper 安装 gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libXfixes-devel cmake alsa-lib-devel gstreamer-devel gstreamer-plugins-base-devel xdotool-devel pam-devel
sudo yum -y 安装 gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libxdo-devel libXfixes-develpulseaudio-libs-devel cmake alsa-lib-devel gstreamer1-devel gstreamer1-plugins-base-devel pam-开发
sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pipelinewire
git 克隆 https://github.com/microsoft/vcpkgcd vcpkg git checkout 2023.04.15cd .. vcpkg/bootstrap-vcpkg.shexport VCPKG_ROOT=$HOME/vcpkg vcpkg/vcpkg 安装 libvpx libyuv opus aom
cd vcpkg/buildtrees/libvpx/srccd *./configure sed -i 's/CFLAGS+=-I/CFLAGS+=-fPIC -I/g' Makefile sed -i 's/CXXFLAGS+=-I/CXXFLAGS+=-fPIC -I/g' Makefile 制作 cp libvpx.a $HOME/vcpkg/installed/x64-linux/lib/cd
卷曲 --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shsource $HOME/.cargo/env git 克隆 https://github.com/rustdesk/rustdeskcd rustdesk mkdir -p 目标/调试 wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so mv libsciter-gtk.so 目标/调试 VCPKG_ROOT=$HOME/vcpkg 货物运行
首先克隆存储库并构建 Docker 容器:
git 克隆 https://github.com/rustdesk/rustdeskcd rustdesk docker build -t“rustdesk-builder”。
然后,每次需要构建应用程序时,运行以下命令:
docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user/.cargo/git -v rustdesk-registry-cache:/home/user/.cargo /registry -e PUID="$(id -u)" -e PGID="$(id -g)" rustdesk-builder
请注意,第一次构建可能需要更长的时间才能缓存依赖项,后续构建会更快。此外,如果您需要为构建命令指定不同的参数,您可以在命令末尾的
位置执行此操作。例如,如果您想构建优化的发行版本,您可以运行上面的命令,然后运行--release
。生成的可执行文件将在系统上的目标文件夹中可用,并且可以使用以下命令运行:
目标/调试/rustdesk
或者,如果您正在运行发布可执行文件:
目标/发布/rustdesk
请确保您从 RustDesk 存储库的根目录运行这些命令,否则应用程序可能无法找到所需的资源。另请注意,当前通过此方法不支持其他货物子命令(例如install
或run
,因为它们将在容器而不是主机内安装或运行程序。
libs/hbb_common :视频编解码器、配置、tcp/udp 包装器、protobuf、用于文件传输的 fs 函数以及一些其他实用函数
库/废料:屏幕截图
libs/enigo :平台特定的键盘/鼠标控制
libs/clipboard :Windows、Linux、macOS 的文件复制和粘贴实现。
src/ui :过时的 Sciter UI(已弃用)
src/server :音频/剪贴板/输入/视频服务和网络连接
src/client.rs : 启动对等连接
src/rendezvous_mediator.rs :与 rustdesk-server 通信,等待远程直接(TCP 打洞)或中继连接
src/platform : 平台特定代码
flutter :适用于桌面和移动设备的 Flutter 代码
flutter/web/js :Flutter Web 客户端的 JavaScript
RustDesk 由 Codeext GmbH 慷慨提供的免费欧盟服务器提供支持