定制化开发关于rustdesk源码二次改造并编译打包的问题

目录


前言

定制化开发因为向日葵等远程软件定制化开发存在文件传输不稳定,定制化开发限速等问题,定制化开发公司要求对开源软件rustdesk下手(定制化开发我也是第一次接触。。),定制化开发于是我便开始研究。


一、rustdesk是什么?

定制化开发官方的简要描述是:用 编写。开箱即用,无需配置。定制化开发您可以完全控制您的数据,定制化开发无需担心安全问题。定制化开发您可以使用我们的集合点/定制化开发中继服务器。

反正就是一个向日葵和teamviewer的替代品。

rustdesk官网的地址:

开源代码在github上的地址:

二、使用步骤

稍微看了一下,页面使用react写的,后端代码是用rust(我也没学过。。。)类似于c++,公司需求主要是改页面和ip固定,那其实还是比较简单的毕竟这样不用深究原理啥的,废话不多说,我们直接开始准备环境

1.安装软件

  1. Git-----到时候从github或gitee上拉源码()
  2. rustup-init----rust开发环境,反正就是安装进去输个1等待下载完成就ok了()注意检查cargo -V和 rustc -V
  3. c++的环境,我是直接在visual studio 2022社区版上下载的(方式很多)
  4. 最后是LLVM,查了一下是用来优化编译速度的,其实后面编译还是很慢。。()注意这个安装的最后选择add llvm to the system Path for all users进行环境变量添加,不然后续编译可能会报错

2.命令操作

  1. 首先建一个文件夹,我们把东西都放在这里面,直接右键git bash here打开命令行,我是在E盘下面操作
  1. #切换到E盘
  2. e:
  3. #创建一个work目录并进入
  4. mkdir work
  5. cd work/
  6. #下面使用命令安装vcpkg,并VCPKG_ROOT正确设置环境变量
  7. #拉取vcpkg的源码
  8. git clone https://github.com/microsoft/vcpkg
  9. #在work根目录下执行,在vcpkg文件根目录生成vcpkg.exe文件
  10. ./vcpkg/bootstrap-vcpkg.bat
  11. #添加系统环境变量(参照我的自行修改)
  12. 变量名:VCPKG_ROOT
  13. 变量值:E:\work\vcpkg
  14. #执行安装环境,这里是个大坑,因为他下载东西是外网的,所以你要么找个科学上网器(这个比较轻松),要么用其他方式下载了放到固定的目录,不然会报错。
  15. vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
  16. #下面就是拉取rustdesk源码了
  17. git clone https://github.com/rustdesk/rustdesk
  18. #进入rustdesk根目录
  19. cd rustdesk/
  20. #下载sciter.dll,用来辅助编译运行的,下载地址(https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll)
  21. #在rustdesk根目录下建文件夹target,进入target建文件夹debug,然后将sciter.dll放进去
  22. #上面步骤出都没有出现错误在rustdesk根目录下执行
  23. cargo run
  24. #等待编译完成会弹出rustdesk的图形界面

3.关于编译和构建

  1. cargo run 成功后将依赖和exe生成在debug目录下,若想要直接双击rustdesk.exe文件运行,需要将rustdesk根目录的src复制一份到debug根目录下(不然会黑屏或白屏)
  2. 项目构建用cargo build 或 cargo build --release,后面这个会在debug同级目录下生成一个release文件夹,我感觉和debug的没啥区别,说是啥优化版本,我也不会。

4.打包

官方提供的是两种:一种是执行运行的,一种是可安装的。

1.首先介绍可安装的

  • 从官方下载的源码中有个setup.nsi文件,需要借助nsis打包工具
  • 下载nsis工具无脑安装

  • 添加下面代码到文件指定位置,注意路径对应,有错的自行修改

    1. #File "${PRODUCT_NAME}.exe"
    2. File "target\release\${PRODUCT_NAME}.exe"
    3. File "target\release\sciter.dll"
    4. SetOutPath $INSTDIR\src
    5. File /r "src\ui"
    6. SetOutPath $INSTDIR

  • 打开nsis工具导入文件执行 

  • 最后当前目录下生产安装包 rustdesk-1.1.9-setup.exe(可按最后的参考文章进行)

2.下面是直接可执行程序

  1. 其实生成的文件只需三个就可以运行
  2. 原理就是选中这三个文件用winrar压缩成exe文件(参考这篇文章不过多介绍)

 5.其他问题

  1. 关于点击exe执行文件产生命令行窗口,需要修改main.rs源码文件中的代码,#![windows_subsystem = "windows"]注释掉窗口显示。
  2. 目前该项目并不是完全开源,只是开源了80%左右,作者还是保留部分源码,目前rustdesk已经好几个月没更新了,这是官网回复的原因
  3. 该软件尽量在windows10以及以上运行,老系统或部分环境出现错误建议关闭杀毒软件试试

6.总结

        文章可能部分有错,我是小白望多指正。。


参考文章

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发