RustDesk客户端自建服务器网络参数github编译
一、下载安装Git;
GitHub项目地址:
https://github.com/git/git/tags
二、Fork rustdesk项目;
rustdesk项目地址:
https://github.com/rustdesk/rustdesk
把官方项目,Fork到自己GitHub账户;
三、Git 配置GitHub的用户名和邮箱,让你电脑Git客户端连上GitHub;
#配置用户
git config --global user.name "用户名"
git config --global user.email "邮箱"
#生成密钥
ssh-keygen -t rsa -C "邮箱"
#查看公钥
cat ~/.ssh/id_rsa.pub
#测试能否连接成功
ssh -T git@github.com
四、克隆RustDesk源代码到本地,#--recurse-submodules参数,连带子模块一起克隆;
git clone --recurse-submodules git@github.com:rustdesk/rustdesk.git
注意:这里使用自己账户的git地址
五、正式开始;
1、修改主目录.gitmodules;替换子模块为自己Fork的hbb_common项目地址;
cd rustdesk
[submodule "libs/hbb_common"]
path = libs/hbb_common
url = https://github.com/rustdesk/hbb_common #修改成自己Fork的hbb_common项目地址
#同步子模块;
git submodule sync
#修改后,推送修改的.gitmodules代码到GitGub主仓库,默认master;
git add .gitmodules
git commit -m "更新所有子模块地址至我的Fork"
git push origin master
2、修改ID服务器地址和key
cd libs/hbb_common
#修改libs\hbb_common\src\config.rs #修改该文件的101-102行,分别是ID服务器及KEY
#新建一个分支
git checkout -b <新建分支名>
#推送修改后的代码到GitHub子模块仓库
git add .
git commit -m "改为自己的ID/中继服务器"
git push origin <新建的分支名> # 推送分支到我们子模块Fork
#如果子模块推送报错,按以下命令指定子模块仓库地址,再次重新推送
git remote set-url origin git@github.com:rustdesk/hbb_common.git
注意:这里的子模块仓库地址,用自己账户的,这里只是举例;
回到仓库主目录
cd ../..
3、更新子模块 Commit ID
git add libs/hbb_common # 提交子模块的新 Commit
git commit -m "更新修改后的子模块"
git push origin master <主仓库分支名> 默认master
4、修改API地址;
修改src\common.rs #993行替换API地址
推送修改后的代码到主仓库
git add .
git commit -m "修改替换API地址"
git push origin master <主仓库分支名,默认master>
5、删除客户端自建服务器的提示
修改flutter\lib\desktop\pages\connection_page.dart #文件的81-110行
把81-110行替换以下代码
Widget setupServerWidget() => Flexible(
child: Offstage(
offstage: !(!_svcStopped.value &&
stateGlobal.svcStatus.value == SvcStatus.ready &&
_svcIsUsingPublicServer.value),
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [],
),
),
);
#提交修改后的代码到主仓库
git add .
git commit -m "修改删除客户端广告"
git push origin master <主仓库分支名,默认master>
6、修改更新检测,防止更新后自编译的客户端被覆盖
修改./src/updater.rs
31-33行替换以下代码
pub fn start_auto_update() {
return;
}
36-40行替换以下代码
pub fn manually_check_update() -> ResultType<()> {
Ok(())
}
git add .
git commit -m "修改更新检测"
git push origin master
最后在GitHub上完成客户端编译
“Actions”---选择工作流Flutter Tag Build,启动工作流,大概1个小时即可编译完成
文章借鉴来源鼠标迁徙:https://www.smianao.com/1414.html