自己编译RustDesk,并将自建ID服务器和key信息写入客户端
本帖最后由 Shaw0xyz 于 2024-6-17 12:09 编辑1. 介绍
RustDesk是一款开源的远程桌面软件,提供了方便的跨平台远程连接功能。虽然默认情况下使用的是官方提供的服务器,但为了更好的控制和安全性,我们可以自建ID服务器,并将其信息和key写入客户端中。本文将详细介绍如何从源代码编译RustDesk,并配置客户端以使用自建ID服务器和key。
1.1 RustDesk的基本概念
RustDesk分为两个主要组件:服务器和客户端。服务器负责管理ID和连接请求,而客户端用于用户间的远程连接。通过编译源码并修改相关配置文件,我们可以实现对自建服务器的支持。
1.2 环境准备
在开始编译RustDesk之前,我们需要准备好编译环境。主要包括:
(1) Rust编译器
(2) Node.js
(3) Git
(4) CMake
确保你的系统已经安装了这些工具,并且环境变量配置正确。
2. 下载和编译RustDesk
2.1 获取源代码
首先,从GitHub仓库克隆RustDesk的源代码。
git clone https://github.com/rustdesk/rustdesk.git
cd rustdesk
2.2 编译服务器
服务器端的编译相对简单,只需执行以下命令:
cd src/cli
cargo build --release
编译完成后,可以在`target/release`目录下找到生成的可执行文件`rustdesk-server`。
2.3 编译客户端
客户端的编译稍微复杂一些,因为需要处理前端资源。
cd ../../
npm install
npm run build
然后回到客户端目录进行Rust部分的编译:
cd src/desktop
cargo build --release
同样,编译完成后,可以在`target/release`目录下找到生成的可执行文件`rustdesk`.
3. 配置自建ID服务器和key
3.1 生成key
为了确保连接的安全性,我们需要生成自己的key。这可以通过RustDesk提供的工具来完成。
在服务器目录下执行以下命令:
./rustdesk-server genkey
这会生成`id_ed25519`和`id_ed25519.pub`两个文件,分别是私钥和公钥。
3.2 配置服务器
启动服务器时,需要指定生成的私钥文件和监听端口:
./rustdesk-server -k ./id_ed25519 -p 21115
3.3 配置客户端
客户端需要知道服务器的地址和公钥。打开客户端源码目录中的配置文件(通常是`src/desktop/src/config.rs`),修改以下内容:
static SERVER_HOST: &str = "your.server.address";
static SERVER_PORT: u16 = 21115;
static SERVER_PUBLIC_KEY: &str = "your_public_key";
将`your.server.address`替换为你的服务器地址,将`your_public_key`替换为之前生成的公钥内容。
然后重新编译客户端:
cargo build --release
4. 部署和测试
4.1 部署服务器
将编译好的服务器可执行文件和私钥文件上传到你的服务器上,确保服务器可以通过公网访问,并启动服务器:
./rustdesk-server -k ./id_ed25519 -p 21115
4.2 部署客户端
将编译好的客户端可执行文件分发给用户,用户运行客户端时将会自动连接到配置的自建ID服务器。
4.3 测试连接
启动客户端,尝试连接其他使用相同服务器配置的客户端,测试连接是否正常。确保防火墙已开放相应端口,且服务器正常运行。
5. 总结
通过以上步骤,我们可以从源码编译RustDesk,并配置客户端使用自建的ID服务器和key。这样可以提高远程连接的安全性和可控性。在实际应用中,注意定期更新和维护服务器及客户端,以确保系统的稳定和安全。希望本文对你编译和配置RustDesk有所帮助。
/ 荔枝学姐de课后专栏 /
Hi!这里是荔枝学姐~
欢迎来到我的课后专栏
自然语言学渣 NLP摆烂姐
热衷于技术写作 IT边角料
AIGC & Coding & Linux ...
~互撩~ TG: @Shaw_0xyz
页:
[1]