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

阅读剩余
THE END