找回密码
 立即注册
查看: 1611|回复: 0

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

[复制链接]

279

主题

0

回帖

964

积分

超级版主

积分
964
发表于 2024-6-17 11:27:54 | 显示全部楼层 |阅读模式
本帖最后由 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的源代码。

  1. git clone https://github.com/rustdesk/rustdesk.git
  2. cd rustdesk
复制代码


2.2 编译服务器

服务器端的编译相对简单,只需执行以下命令:

  1. cd src/cli
  2. cargo build --release
复制代码


编译完成后,可以在`target/release`目录下找到生成的可执行文件`rustdesk-server`。

2.3 编译客户端

客户端的编译稍微复杂一些,因为需要处理前端资源。

  1. cd ../../
  2. npm install
  3. npm run build
复制代码


然后回到客户端目录进行Rust部分的编译:

  1. cd src/desktop
  2. cargo build --release
复制代码


同样,编译完成后,可以在`target/release`目录下找到生成的可执行文件`rustdesk`.

3. 配置自建ID服务器和key

3.1 生成key

为了确保连接的安全性,我们需要生成自己的key。这可以通过RustDesk提供的工具来完成。

在服务器目录下执行以下命令:

  1. ./rustdesk-server genkey
复制代码


这会生成`id_ed25519`和`id_ed25519.pub`两个文件,分别是私钥和公钥。

3.2 配置服务器

启动服务器时,需要指定生成的私钥文件和监听端口:

  1. ./rustdesk-server -k ./id_ed25519 -p 21115
复制代码


3.3 配置客户端

客户端需要知道服务器的地址和公钥。打开客户端源码目录中的配置文件(通常是`src/desktop/src/config.rs`),修改以下内容:

  1. static SERVER_HOST: &str = "your.server.address";
  2. static SERVER_PORT: u16 = 21115;
  3. static SERVER_PUBLIC_KEY: &str = "your_public_key";
复制代码


将`your.server.address`替换为你的服务器地址,将`your_public_key`替换为之前生成的公钥内容。

然后重新编译客户端:

  1. cargo build --release
复制代码


4. 部署和测试

4.1 部署服务器

将编译好的服务器可执行文件和私钥文件上传到你的服务器上,确保服务器可以通过公网访问,并启动服务器:

  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
荔枝学姐爱吃荔枝!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-5 02:23 , Processed in 0.055338 second(s), 24 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表