自己编译RustDesk,并将自建ID服务器和key信息写入客户端

前言:搭建RustDesk编译环境

今天总算是把编译环境给折腾清楚了,编译出来了至少能用,但说不上好用,问题还不少,官方的客户端就是要手工填写ID服务器地址和key才可以用,而且还容易被别人白嫖你搭建的服务器,当然如果拿到你编译后的客户端,也是存在被白嫖的可能。这方面还没有找到解决方法。


一、需要提前准备:

  1. 编译环境搭建过程会要到github上下载很多文件,而且有些地址是被墙掉的,所以需要提前解决科学上网的问题。

  2. 安装git 和 vs_buildtools(安装C++桌面开发) 这些常用的环境软件。

二、安装LLVM:

1. 官网地址 :https://releases.llvm.org/download.html
2. 跳转到github上下载release版本。根据操作系统下载合适的版本
3. 下载后解压缩,双击安装,记得选择将LLVM添加到系统环境变量PATH

三、安装Vcpkg

1. 创建一个目录,通过git将 vcpkg下载下来。运行bootstrap-vcpkg.bat 进行下载。
复制代码
git clone https://github.com/microsoft/vcpkg
./vcpkg/bootstrap-vcpkg.bat
2. 安装过程就需要用到科学上网了,可以给git加代理,我就直接走vpn流量。给git加代理是用如下代码,需要再git bash下执行。
复制代码
git config --global https.proxy IP:Port
3. 配置环境变量:

安装成功后,新建环境变量VCPKG_ROOT,将它的值设置为 Vcpkg 的安装目录。并将VCPKG_ROOT的值添加到 Path 中。

4. 安装Rustdesk所需的库:
复制代码
  vcpkg/vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static

很多地方教程都有没有提到aom:x64-windows-static ,这个再编译的时候会发生一下的错误:

四、下载Rustdesk的源码和编译

复制代码
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
cargo run

这里会自动生成 targetdebug 文件夹,生成的exe文件还不能执行需要下载sciter.dll 并放到debug目录下。并把rustdesksrc 目录也需要拷贝到debug目录下

复制代码
curl -O https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll

不知道为什么要拷贝src目录。如果没有报错,到此编译就成功了。用 cargo run --release 命令会做一些优化,升成的rustdesk.exe 文件体积会缩下。如果要运行程序需要吧 src目录、rustdesk.exe 和 sciter.dll 拷贝在一起。相比官方的只有一个文件是要复杂些。

五、将ID server 和 key 写入到程序中

子编译的程序是没有设置菜单的,配置ID服务器需要修改 rustdeskF:softSourcedev ustdesklibshbb_commonsrcconfig.rs 文件,再第104行左右。

重新编译过程。

六、是用需要注意的事项

1. 程序会提示你UAC限制需要安装,当你如果安装后,点开程序是一片空白,暂时我还没有找到解决方法。
2. 启动rustdesk.exe 需要是用管理员运行程序,否则远程控制只能看,啥也点不动。

总结:

遗留未解决的问题有,需要copy src目录才可以运行程序,还没有找到方法像官方编译的一样只有一个文件。需要是用管理身份运行程序蔡可以执行。

相关推荐
陌上花开缓缓归以11 小时前
mebdlts3.4.1安全启动全流程
服务器·算法
鬼手点金11 小时前
opencode-全能开发者配置
java·linux·服务器·前端·javascript·学习·前向传播
xixiaoyunya12 小时前
虚拟机备份怎么做:镜像级与文件级搭配的完整实操方案
linux·运维·网络
阿明612 小时前
进程替换【Linux】
linux·运维·服务器
sunoo-22912 小时前
【嵌入式Linux驱动学习】Day1-Day2 全流程梳理:环境搭建→U-Boot→内核→根文件系统→驱动基础
linux·运维·驱动开发·笔记·学习·阿里云·恩智浦
YonyouHRSaaS13 小时前
从安全、信创、运维三方面看,人力资源管理系统哪种部署方式更适合企业HR?
运维·安全·hr系统·人力资源管理系统·hr saas·人事管理系统
啦啦啦啦啦zzzz13 小时前
一致性哈希
服务器·算法·哈希算法·c++20·分布式存储
倔强的石头10613 小时前
【Linux指南】动静态库系列(十二):库工程发布与错误排查:从能跑到可维护
linux·运维·服务器
wdfk_prog13 小时前
LWIP教程 03:从 `low_level_input()` 到 `pbuf_free()`——`pbuf` 的数据视图、Chain 与引用计数
运维·网络·笔记·学习
掉进电商坑三年没爬出来的东叔13 小时前
云服务器搭建个人网站实战:从零到公网访问,含域名HTTPS
运维·服务器·https