本文撰写时间:2025-02-20
GITHUB rustdesk代码当前版本:1.3.8
API端使用项目:lejianwen/rustdesk-api
1. 准备工作:
搭建好rustdesk后端服务器,与API后端,开放端口 21114-21119。
21114为API服务器端口,21115-21119为rustdesk后端需要的端口。
rustdesk/rustdesk项目下 进入libs/hbb_common 将该项目全部文件下载。
2. 开始:
首先将 rustdesk/rustdesk项目fork到自己仓库。
将fork后的项目master分支clone到本地,创建一个新的分支。
将刚刚下载的hbb_common放到/libs/下。
开始修改代码。
编辑器建议选用notepad++,使用notepad发现改完了编译会报错。。。。其他的未尝试。
设置固定链接密码:(如不需要请忽略这一步)
编辑 /libs/hbb_common/src/config.rs
大概在71行。

如上图所示,将该行代码修改为如下代码,admin2025 为固定远程连接的密码,无视临时一次性密码与手动设置的固定密码。
pub static ref HARD_SETTINGS: RwLock<HashMap<String, String>> = {
let mut map = HashMap::new();
map.insert("password".to_string(), "admin2025".to_string());
RwLock::new(map)
};
3. 修改ID服务器与KEY:
同样编辑 /libs/hbb_common/src/config.rs
约在105行。
将 rs-ny.rustdesk.com 修改为你的服务器IP或者域名,KEY修改为你自己的。
下面端口如果你服务器上为进行变更则无须改动。
默认情况下,hbbs 监听21115(tcp), 21116(tcp/udp), 21118(tcp),hbbr 监听21117(tcp), 21119(tcp)
hbbs=ID服务器,hbbr=中继服务器
修改完毕后保存。
4. 修改API服务器:(如果你不需要API服务器,请直接跳到第五步)
编辑 /src/common.rs 大约在933行,或搜索 rustdesk.com

修改图中地址为你的API服务器地址带端口号。
关键点:确认使用的API项目post请求的url是否带/api/。
示例: http://rd.**.com:21114/api/login/ 如果你的项目登录页是这样的,那可以不用修改,我使用的这个项目 lejianwen/rustdesk-api 不带/api/而是直接请求 /login/。
如果你使用的项目跟我的是一样,那么需要进行下面这些代码的修改。
编辑这些文件:
/flutter/lib/models/ab_model.dart
/flutter/lib/models/group_model.dart
/flutter/lib/models/user_model.dart
/res/devices.py
/res/users.py
/src/common.rs
/src/core_main.rs
/src/hbbs_http/account.rs
/src/hbbs_http/record_upload.rs
/src/hbbs_http/sync.rs
/src/ui/ab.tis
/src/ui/index.tis
在这些文件内搜索 /api/ 如下图,删除所有文件内包含的 /api/ 而后保存。

5. 上传修改后的代码。
使用git切换到新分支上传修改后的代码到仓库新分支内。
接着进入github 选择action 启用action workflow 选择 Flutter Nightly Build 选择新建分支,运行workflow,等待收获客户端。
其他修改:
修改客户端上提示或文字
/src/lang/cn.rs
修改更新下载地址:
/src/ui/index.tis
/flutter/lib/desktop/pages/desktop_home_page.dart
/flutter/lib/mobile/pages/connection_page.dart
这三个文件中搜索 rustdesk.com/download 将这个URL地址替换成你的下载地址即可。