Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

rust 02 rustdesk基于rust的开源远程控制软件

longji 2022-07-10 05:57:34 阅读数:40 评论数:0 点赞数:0 收藏数:0

01 基本信息

rustdesk 官网
rustdesk 是 开源虚拟与远程桌面基础架构
远程桌面软件,开箱即用,无需任何配置。您完全掌控数据,不用担心安全问题。

开源代码 https://github.com/rustdesk/rustdesk

rustdesk 基于 rust 开发,对跨平台支持比较好。

02 编译、运行及打包

02.01 编译依赖

根据开源官网说明 https://github.com/rustdesk/rustdesk
win10 上面,c++编译器使用的是vs2022,

:: current path
cd e:\git
:: vcpkg
:: 下载代码
git clone git@github.com:microsoft/vcpkg.git
:: 更新依赖库
.\vcpkg\bootstrap-vcpkg.bat
set 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.dll
wget --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,可以放入系统目录后注册

02.02 编译

:: on e:\git,下载代码
git clone git@github.com:rustdesk/rustdesk.git
cd rustdesk
:: 切换到稳定版本
git checkout 1.1.9 -b b1.1.9
git 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
:: 编译运行
:: debug
cargo run
:: release
cargo run --release

02.03 打包

代码中提供了打包工具 setup.nsi,目前 nsis工具包是3.08版本。下载最新的msis工具。https://prdownloads.sourceforge.net/nsis/nsis-3.08-setup.exe?download
安装后,稍微修改小 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

然后直接 nsis运行 setup.nsi 脚本,即可在当前目录下生产安装包 rustdesk-1.1.9-setup.exe

注意:打包的时候,不要忘记 sciter.dll。还有 src\ui 的路径关系。

02.04 测试验证

在两台win10 pc上安装rustdesk-1.1.9-setup.exe后,授权后,即可远程控制。服务端默认使用开源提供测试服务器。

rustdesk远程控制

03 服务端配置

rustdesk 开源者提供了编译好的服务端程序。
https://github.com/rustdesk/rustdesk-server/releases

自建服务器官方文档:https://rustdesk.com/docs/zh-cn/self-host/

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
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

启动两个服务后,检查本机ipv4地址,客户端直接修改即可连接到上面两个服务器上。
在这里插入图片描述

03.02 公网ip上面配置

如果有公网ip,也可以在公网服务器上面按照官网说明配置个服务器,不过记得开启服务器访问端口。
下面是在ubuntu 上面的验证搭建命令。

nohup ./hbbs > hbbs.log 2>&1
nohup ./hbbr > hbbr.log 2>&1 &
版权声明
本文为[longji]所创,转载请带上原文链接,感谢
https://blog.csdn.net/longji/article/details/125585094

支付宝红包,每日可领(支付宝免费1-2元支付红包)