目录
前言
定制化开发因为向日葵等远程软件定制化开发存在文件传输不稳定,定制化开发限速等问题,定制化开发公司要求对开源软件rustdesk下手(定制化开发我也是第一次接触。。),定制化开发于是我便开始研究。
一、rustdesk是什么?
定制化开发官方的简要描述是:用 编写。开箱即用,无需配置。定制化开发您可以完全控制您的数据,定制化开发无需担心安全问题。定制化开发您可以使用我们的集合点/定制化开发中继服务器。
反正就是一个向日葵和teamviewer的替代品。
rustdesk官网的地址:
开源代码在github上的地址:
二、使用步骤
稍微看了一下,页面使用react写的,后端代码是用rust(我也没学过。。。)类似于c++,公司需求主要是改页面和ip固定,那其实还是比较简单的毕竟这样不用深究原理啥的,废话不多说,我们直接开始准备环境
1.安装软件
- Git-----到时候从github或gitee上拉源码()
- rustup-init----rust开发环境,反正就是安装进去输个1等待下载完成就ok了()注意检查cargo -V和 rustc -V
- c++的环境,我是直接在visual studio 2022社区版上下载的(方式很多)
- 最后是LLVM,查了一下是用来优化编译速度的,其实后面编译还是很慢。。()注意这个安装的最后选择add llvm to the system Path for all users进行环境变量添加,不然后续编译可能会报错
2.命令操作
- 首先建一个文件夹,我们把东西都放在这里面,直接右键git bash here打开命令行,我是在E盘下面操作
- #切换到E盘
- e:
-
- #创建一个work目录并进入
- mkdir work
- cd work/
-
- #下面使用命令安装vcpkg,并VCPKG_ROOT正确设置环境变量
- #拉取vcpkg的源码
- git clone https://github.com/microsoft/vcpkg
-
- #在work根目录下执行,在vcpkg文件根目录生成vcpkg.exe文件
- ./vcpkg/bootstrap-vcpkg.bat
-
- #添加系统环境变量(参照我的自行修改)
- 变量名:VCPKG_ROOT
- 变量值:E:\work\vcpkg
- #执行安装环境,这里是个大坑,因为他下载东西是外网的,所以你要么找个科学上网器(这个比较轻松),要么用其他方式下载了放到固定的目录,不然会报错。
- vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
-
- #下面就是拉取rustdesk源码了
- git clone https://github.com/rustdesk/rustdesk
- #进入rustdesk根目录
- cd rustdesk/
-
-
- #下载sciter.dll,用来辅助编译运行的,下载地址(https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll)
- #在rustdesk根目录下建文件夹target,进入target建文件夹debug,然后将sciter.dll放进去
- #上面步骤出都没有出现错误在rustdesk根目录下执行
- cargo run
- #等待编译完成会弹出rustdesk的图形界面
-
3.关于编译和构建
- cargo run 成功后将依赖和exe生成在debug目录下,若想要直接双击rustdesk.exe文件运行,需要将rustdesk根目录的src复制一份到debug根目录下(不然会黑屏或白屏)。
- 项目构建用cargo build 或 cargo build --release,后面这个会在debug同级目录下生成一个release文件夹,我感觉和debug的没啥区别,说是啥优化版本,我也不会。
4.打包
官方提供的是两种:一种是执行运行的,一种是可安装的。
1.首先介绍可安装的
- 从官方下载的源码中有个setup.nsi文件,需要借助nsis打包工具
-
下载nsis工具无脑安装
-
添加下面代码到文件指定位置,注意路径对应,有错的自行修改
- #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工具导入文件执行
-
最后当前目录下生产安装包
rustdesk-1.1.9-setup.exe(可按最后的参考文章进行)
2.下面是直接可执行程序
- 其实生成的文件只需三个就可以运行
- 原理就是选中这三个文件用winrar压缩成exe文件(参考这篇文章不过多介绍)
5.其他问题
- 关于点击exe执行文件产生命令行窗口,需要修改main.rs源码文件中的代码,#![windows_subsystem = "windows"]注释掉窗口显示。
- 目前该项目并不是完全开源,只是开源了80%左右,作者还是保留部分源码,目前rustdesk已经好几个月没更新了,这是官网回复的原因
- 该软件尽量在windows10以及以上运行,老系统或部分环境出现错误建议关闭杀毒软件试试
6.总结
文章可能部分有错,我是小白望多指正。。