01 基本信息
rustdesk 是 企业网站定制开发开源虚拟与远程桌面基础
企业网站定制开发远程桌面软件,开箱即用,企业网站定制开发无需任何配置。您完全掌控数据,不用担心安全问题。
开源代码
rustdesk 基于 开发,对跨平台支持比较好。
02 编译、运行及打包
02.01 编译依赖
根据开源官网说明
win10 上面,c++编译器使用的是vs2022,
:: current pathcd e:\git:: vcpkg:: 下载代码git clone git@github.com:microsoft/vcpkg.git:: 更新依赖库.\vcpkg\bootstrap-vcpkg.batset VCPKG_ROOT=e:\git\vcpkg:: llvm:: https://github.com/llvm/llvm-project:: 下载 llvm 的windows 安装包wget --no-check-certificate https://github.com/llvm/llvm-project/releases/download/llvmorg-14.0.6/LLVM-14.0.6-win64.exe:: 安装后,在命令行设置环境变量set LIBCLANG_PATH=E:\install\LLVM\lib:: sciter.dllwget --no-check-certificate https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll:: 下载后,放入 rustdesk\target\release\sciter.dll , rustdesk\target\debug\sciter.dll,可以放入系统目录后注册
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
02.02 编译
:: on e:\git,下载代码git clone git@github.com:rustdesk/rustdesk.gitcd rustdesk:: 切换到稳定版本git checkout 1.1.9 -b b1.1.9git branch -vv* b1.1.9 d716e2b Merge pull request #474 from ripp2003/patch-1:: 安装必要依赖vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static:: 安装rust并更新到最新版本rustup update:: 编译运行:: debugcargo run:: releasecargo run --release
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
02.03 打包
代码中提供了打包工具 setup.nsi
,目前 nsis工具包是3.08版本。下载最新的msis工具。
安装后,稍微修改小 setup.nsi
脚本,
根据tag信息修改下版本号。!define VERSION "1.1.9"
在修改下具体打包内容,这里直接使用 target\release下内容和 src\ui下内容。如下:
#File "${PRODUCT_NAME}.exe" File "target\release\${PRODUCT_NAME}.exe" File "target\release\sciter.dll" SetOutPath $INSTDIR\src File /r "src\ui" SetOutPath $INSTDIR
- 1
- 2
- 3
- 4
- 5
- 6
然后直接 nsis运行 setup.nsi
脚本,即可在当前目录下生产安装包 rustdesk-1.1.9-setup.exe
。
注意:打包的时候,不要忘记
sciter.dll
。还有src\ui
的路径关系。
02.04 测试验证
在两台win10 pc上安装rustdesk-1.1.9-setup.exe
后,授权后,即可远程控制。服务端默认使用开源提供测试服务器。
03 服务端配置
rustdesk 开源者提供了编译好的服务端程序。
自建服务器官方文档:
03.01 本机配置
默认不指定参数,直接启动两个服务,可以用于调试。
windows上:
E:\git\rustdesk-server>hbbr[2022-07-05 23:48:34.889057 +08:00] INFO [src\relay_server.rs:60] #blacklist(blacklist.txt): 0[2022-07-05 23:48:34.889107 +08:00] INFO [src\relay_server.rs:75] #blocklist(blocklist.txt): 0[2022-07-05 23:48:34.889110 +08:00] INFO [src\relay_server.rs:81] Listening on tcp 0.0.0.0:21117[2022-07-05 23:48:34.889118 +08:00] INFO [src\relay_server.rs:83] Listening on websocket 0.0.0.0:21119[2022-07-05 23:48:34.889119 +08:00] INFO [src\relay_server.rs:85] Start[2022-07-05 23:48:34.890821 +08:00] INFO [src\relay_server.rs:104] DOWNGRADE_THRESHOLD: 0.66[2022-07-05 23:48:34.890854 +08:00] INFO [src\relay_server.rs:113] DOWNGRADE_START_CHECK: 1800s[2022-07-05 23:48:34.890880 +08:00] INFO [src\relay_server.rs:122] LIMIT_SPEED: 4Mb/s[2022-07-05 23:48:34.890890 +08:00] INFO [src\relay_server.rs:132] TOTAL_BANDWIDTH: 1024Mb/s[2022-07-05 23:48:34.890900 +08:00] INFO [src\relay_server.rs:146] SINGLE_BANDWIDTH: 16Mb/s
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
E:\git\rustdesk-server>hbbs.exe[2022-07-05 23:48:44.931934 +08:00] INFO [src\peer.rs:82] DB_URL=C:\Users\soft\AppData\Roaming\RustDesk\config\db_v2.sqlite3[2022-07-05 23:48:44.938885 +08:00] INFO [src\rendezvous_server.rs:94] serial=0[2022-07-05 23:48:44.938914 +08:00] INFO [src\common.rs:41] rendezvous-servers=[][2022-07-05 23:48:44.938921 +08:00] INFO [src\rendezvous_server.rs:96] Listening on tcp/udp 0.0.0.0:21116[2022-07-05 23:48:44.938924 +08:00] INFO [src\rendezvous_server.rs:97] Listening on tcp 0.0.0.0:21115, extra port for NAT test[2022-07-05 23:48:44.938926 +08:00] INFO [src\rendezvous_server.rs:98] Listening on websocket 0.0.0.0:21118[2022-07-05 23:48:44.940878 +08:00] INFO [libs\hbb_common\src\udp.rs:33] Receive buf size of udp 0.0.0.0:21116: Ok(65536)[2022-07-05 23:48:44.941707 +08:00] INFO [src\common.rs:120] Private/public key written to id_ed25519/id_ed25519.pub[2022-07-05 23:48:44.941967 +08:00] INFO [src\common.rs:41] relay-servers=[][2022-07-05 23:48:44.942228 +08:00] INFO [src\rendezvous_server.rs:135] ALWAYS_USE_RELAY=N[2022-07-05 23:48:44.942301 +08:00] INFO [src\rendezvous_server.rs:155] Start
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
启动两个服务后,检查本机ipv4地址,客户端直接修改即可连接到上面两个服务器上。
03.02 公网ip上面配置
如果有公网ip,也可以在公网服务器上面按照官网说明配置个服务器,不过记得开启服务器访问端口。
下面是在ubuntu 上面的验证搭建命令。
nohup ./hbbs > hbbs.log 2>&1 nohup ./hbbr > hbbr.log 2>&1 &
- 1
- 2