服务器部分
首先你得有一台外网服务器,还要有一个github账号,如果这些都没有可以去准备,如果不愿折腾那请关闭本文。88
这里我以宝塔面板为例,从头开始自建rustdesk中继服务器、ID服务器以及API服务器
一、宝塔docker中新建容器->内容编排->创建,看图吧
![图片[1]-编译rustdesk客户端并内置自有服务器、PUB KEY和内置固定连接密码,实现安装即可使用 无需另行配置](https://oss.xkzhi.com/2025/05/17/nf5ppf.webp)
内容如下(里面的内容请根据自身实际情况修改!)另外需要先创建几个文件,本例中是在/data/rustdesk/server下分别创建hbbr、hbbs两个文件夹,再分别在两个文件夹下创建run文件(文件名自定,只需和代码中一致即可)
搭建服务端的代码今天更新了一下,之前发的那个是分别建立server和api两个容器,这样一来api后台的“服务端命令”就用不了了,作为强迫症来说这是不能容忍的,于是便有了今天的更新
如果你需要配置反代,那么代码中的IP:端口需要更换为域名(不加端口),假如你还需要SSL,那么RUSTDESK_API_RUSTDESK_API_SERVER=后面的域名需要带https://。以此为例,下面是使用反代及SSL的示例
networks:
rustdesk-net:
external: false
services:
rustdesk:
ports:
- 21114:21114
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21117:21117
- 21118:21118
- 21119:21119
image: lejianwen/rustdesk-server-s6:latest
environment:
- RELAY=www.zxmvps.com
- ENCRYPTED_ONLY=1
- KEY=zxmvps.com #自定义PUB KEY
- TZ=Asia/Shanghai
- RUSTDESK_API_APP_REGISTER=true #true为开放注册,false为关闭
- MUST_LOGIN=Y #是否必须登录
- RUSTDESK_API_ADMIN_TITLE=蜗牛rustdesk后台 #后台页面标题
- RUSTDESK_API_ADMIN_HELLO=蜗牛rustdesk欢迎你! #后台欢迎词,好像没用
- RUSTDESK_API_RUSTDESK_ID_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_API_SERVER=https://www.zxmvps.com
- RUSTDESK_API_RUSTDESK_KEY=zxmvps.com #自定义PUB KEY
volumes:
- /data/rustdesk/server:/data
- /data/rustdesk/server/hbbr/run:/etc/s6-overlay/s6-rc.d/hbbr/run
- /data/rustdesk/server/hbbs/run:/etc/s6-overlay/s6-rc.d/hbbs/run
- /data/rustdesk/api:/app/data #将数据库挂载
networks:
- rustdesk-net
restart: unless-stopped
然后再配置反向代理,这里我以宝塔为例,需要添加以下三个代理目录:/、/ws/id、/ws/relay,目标均为http://127.0.0.1,区别在于后面的端口
![图片[2]-编译rustdesk客户端并内置自有服务器、PUB KEY和内置固定连接密码,实现安装即可使用 无需另行配置](https://oss.xkzhi.com/2025/05/17/nfrs15.webp)
hbbr内容
#!/command/with-contenv shcd /dataPARAMS=[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${KEY}"/usr/bin/hbbr $PARAMS
hbbs内容
#!/command/with-contenv shsleep 2cd /dataPARAMS=[ "${ENCRYPTED_ONLY}" = "1" ] && PARAMS="-k ${KEY}"/usr/bin/hbbs -r $RELAY $PARAMS
适用于更多需求的代码请见WIKI
上述步骤完成后即可正式创建容器
必须在创建完上述两个文件后再创建容器,否则服务启动不了
完成上述操作后服务器部分就完成了,API管理界面如下图,默认地址为IP:21114,默认用户名:admin,密码首次会动态生成,从日志中提取
![图片[3]-编译rustdesk客户端并内置自有服务器、PUB KEY和内置固定连接密码,实现安装即可使用 无需另行配置](https://oss.xkzhi.com/2025/05/17/ng8te3.webp)
服务器搭建就说这么多,这个API有个很强大的功能“Webclient”,可以直接在网页上控制客户端,特别适用于在别人电脑上操作,因为无需安装客户端即可使用。见丰图
![图片[4]-编译rustdesk客户端并内置自有服务器、PUB KEY和内置固定连接密码,实现安装即可使用 无需另行配置](https://oss.xkzhi.com/2025/05/17/ngfz1x.webp)
客户端部分
登录你的github,fork以下两个仓库
rustdesk/hbb_common rustdesk/rustdesk
在本地电脑clone仓库代码,其中zxmvps记得改为你的github用户名
git clone https://github.com/zxmvps/hbb_common.git git clone https://github.com/zxmvps/rustdesk.git
如果要内置连接的固定密码则修改仓库hbb_common中src/config.rs的71行,把pub static ref HARD_SETTINGS: RwLock> = Default::default();替换如下(www.zxmvps.com就是设定的固定密码)
pub static ref HARD_SETTINGS: RwLock<HashMap<String, String>> = { let mut map = HashMap::new(); map.insert("password".to_string(), "www.zxmvps.com".to_string()); RwLock::new(map) };
内置ID服务器、中继服务器和PUB KEY,仓库hbb_common下的src/config.rs,在约101-102行修改如下,RENDEZVOUS_SERVERS是服务器地址,可IP亦可域名,下面一行为PUB KEY(必须和前面服务器部分的相同,服务器地址也是必须和前面相同)
pub const RENDEZVOUS_SERVERS: &[&str] = &["www.zxmvps.com"];pub const RS_PUB_KEY: &str = "www.zxmvps.com";
如果还想要内置API服务器,则修改本地仓库rustdesk下src/common.rs,在993行,替换为自己的API服务器,默认是https://admin.rustdesk.com
默认编译出来的客户端在底部会有一条广告,如果你想去掉需修改本地仓库rustdesk下flutter\lib\desktop\pages\connection_page.dart,把81-110行代码替换如下
Widget setupServerWidget() => Flexible( child: Offstage( offstage: !(!_svcStopped.value && stateGlobal.svcStatus.value == SvcStatus.ready && _svcIsUsingPublicServer.value), child: Row( crossAxisAlignment: CrossAxisAlignment.center, children: [], ), ), );
上述操作完成即可推送至远程仓库
hbb_common仓库
特别推荐500+推广项目,网推、地推均可
无需缴纳任何费用即可加入
不扣量、随时可提现
快来加入吧:https://dt.bd.cn/#/pages/login/register?invite_code=030609cd hbb_commongit add .git commit -m "修改服务器域名和KEY"git push
切换到rustdesk仓库,删除原子模块
networks:
rustdesk-net:
external: false
services:
rustdesk:
ports:
- 21114:21114
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21117:21117
- 21118:21118
- 21119:21119
image: lejianwen/rustdesk-server-s6:latest
environment:
- RELAY=www.zxmvps.com
- ENCRYPTED_ONLY=1
- KEY=zxmvps.com #自定义PUB KEY
- TZ=Asia/Shanghai
- RUSTDESK_API_APP_REGISTER=true #true为开放注册,false为关闭
- MUST_LOGIN=Y #是否必须登录
- RUSTDESK_API_ADMIN_TITLE=蜗牛rustdesk后台 #后台页面标题
- RUSTDESK_API_ADMIN_HELLO=蜗牛rustdesk欢迎你! #后台欢迎词,好像没用
- RUSTDESK_API_RUSTDESK_ID_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_API_SERVER=https://www.zxmvps.com
- RUSTDESK_API_RUSTDESK_KEY=zxmvps.com #自定义PUB KEY
volumes:
- /data/rustdesk/server:/data
- /data/rustdesk/server/hbbr/run:/etc/s6-overlay/s6-rc.d/hbbr/run
- /data/rustdesk/server/hbbs/run:/etc/s6-overlay/s6-rc.d/hbbs/run
- /data/rustdesk/api:/app/data #将数据库挂载
networks:
- rustdesk-net
restart: unless-stopped0
把你修改后的hbb_common子模块加到你的rustdesk仓库
networks:
rustdesk-net:
external: false
services:
rustdesk:
ports:
- 21114:21114
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21117:21117
- 21118:21118
- 21119:21119
image: lejianwen/rustdesk-server-s6:latest
environment:
- RELAY=www.zxmvps.com
- ENCRYPTED_ONLY=1
- KEY=zxmvps.com #自定义PUB KEY
- TZ=Asia/Shanghai
- RUSTDESK_API_APP_REGISTER=true #true为开放注册,false为关闭
- MUST_LOGIN=Y #是否必须登录
- RUSTDESK_API_ADMIN_TITLE=蜗牛rustdesk后台 #后台页面标题
- RUSTDESK_API_ADMIN_HELLO=蜗牛rustdesk欢迎你! #后台欢迎词,好像没用
- RUSTDESK_API_RUSTDESK_ID_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_API_SERVER=https://www.zxmvps.com
- RUSTDESK_API_RUSTDESK_KEY=zxmvps.com #自定义PUB KEY
volumes:
- /data/rustdesk/server:/data
- /data/rustdesk/server/hbbr/run:/etc/s6-overlay/s6-rc.d/hbbr/run
- /data/rustdesk/server/hbbs/run:/etc/s6-overlay/s6-rc.d/hbbs/run
- /data/rustdesk/api:/app/data #将数据库挂载
networks:
- rustdesk-net
restart: unless-stopped1
强制更新子模块: 这会强制将子模块更新到你 hbb_common 仓库的最新 commit
networks:
rustdesk-net:
external: false
services:
rustdesk:
ports:
- 21114:21114
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21117:21117
- 21118:21118
- 21119:21119
image: lejianwen/rustdesk-server-s6:latest
environment:
- RELAY=www.zxmvps.com
- ENCRYPTED_ONLY=1
- KEY=zxmvps.com #自定义PUB KEY
- TZ=Asia/Shanghai
- RUSTDESK_API_APP_REGISTER=true #true为开放注册,false为关闭
- MUST_LOGIN=Y #是否必须登录
- RUSTDESK_API_ADMIN_TITLE=蜗牛rustdesk后台 #后台页面标题
- RUSTDESK_API_ADMIN_HELLO=蜗牛rustdesk欢迎你! #后台欢迎词,好像没用
- RUSTDESK_API_RUSTDESK_ID_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_API_SERVER=https://www.zxmvps.com
- RUSTDESK_API_RUSTDESK_KEY=zxmvps.com #自定义PUB KEY
volumes:
- /data/rustdesk/server:/data
- /data/rustdesk/server/hbbr/run:/etc/s6-overlay/s6-rc.d/hbbr/run
- /data/rustdesk/server/hbbs/run:/etc/s6-overlay/s6-rc.d/hbbs/run
- /data/rustdesk/api:/app/data #将数据库挂载
networks:
- rustdesk-net
restart: unless-stopped2
提交本地rustdesk仓库的修改
networks:
rustdesk-net:
external: false
services:
rustdesk:
ports:
- 21114:21114
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21117:21117
- 21118:21118
- 21119:21119
image: lejianwen/rustdesk-server-s6:latest
environment:
- RELAY=www.zxmvps.com
- ENCRYPTED_ONLY=1
- KEY=zxmvps.com #自定义PUB KEY
- TZ=Asia/Shanghai
- RUSTDESK_API_APP_REGISTER=true #true为开放注册,false为关闭
- MUST_LOGIN=Y #是否必须登录
- RUSTDESK_API_ADMIN_TITLE=蜗牛rustdesk后台 #后台页面标题
- RUSTDESK_API_ADMIN_HELLO=蜗牛rustdesk欢迎你! #后台欢迎词,好像没用
- RUSTDESK_API_RUSTDESK_ID_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_API_SERVER=https://www.zxmvps.com
- RUSTDESK_API_RUSTDESK_KEY=zxmvps.com #自定义PUB KEY
volumes:
- /data/rustdesk/server:/data
- /data/rustdesk/server/hbbr/run:/etc/s6-overlay/s6-rc.d/hbbr/run
- /data/rustdesk/server/hbbs/run:/etc/s6-overlay/s6-rc.d/hbbs/run
- /data/rustdesk/api:/app/data #将数据库挂载
networks:
- rustdesk-net
restart: unless-stopped3
打开本地的git命令行,创建一个tag并提交至远程仓库,tag名自定义
networks:
rustdesk-net:
external: false
services:
rustdesk:
ports:
- 21114:21114
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21117:21117
- 21118:21118
- 21119:21119
image: lejianwen/rustdesk-server-s6:latest
environment:
- RELAY=www.zxmvps.com
- ENCRYPTED_ONLY=1
- KEY=zxmvps.com #自定义PUB KEY
- TZ=Asia/Shanghai
- RUSTDESK_API_APP_REGISTER=true #true为开放注册,false为关闭
- MUST_LOGIN=Y #是否必须登录
- RUSTDESK_API_ADMIN_TITLE=蜗牛rustdesk后台 #后台页面标题
- RUSTDESK_API_ADMIN_HELLO=蜗牛rustdesk欢迎你! #后台欢迎词,好像没用
- RUSTDESK_API_RUSTDESK_ID_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_API_SERVER=https://www.zxmvps.com
- RUSTDESK_API_RUSTDESK_KEY=zxmvps.com #自定义PUB KEY
volumes:
- /data/rustdesk/server:/data
- /data/rustdesk/server/hbbr/run:/etc/s6-overlay/s6-rc.d/hbbr/run
- /data/rustdesk/server/hbbs/run:/etc/s6-overlay/s6-rc.d/hbbs/run
- /data/rustdesk/api:/app/data #将数据库挂载
networks:
- rustdesk-net
restart: unless-stopped4
至此,github平台会触发一个任务”创建tag自动启动编译“,耗时大约需1小时多点,你就可以在页面code右侧的releases下看到新编译的客户端
![图片[5]-编译rustdesk客户端并内置自有服务器、PUB KEY和内置固定连接密码,实现安装即可使用 无需另行配置](https://oss.xkzhi.com/2025/05/17/ngyfwl.webp)
点击文件名即可下载,除了IOS之外其它平台好像都有
客户端和官方的在功能、外观上没有区别(如果不去广告的话,在底部”就绪“后面还有一串字)
![图片[6]-编译rustdesk客户端并内置自有服务器、PUB KEY和内置固定连接密码,实现安装即可使用 无需另行配置](https://oss.xkzhi.com/2025/05/17/nh5oyv.webp)
如果你想要重新编译客户端又想用原来的tag,则需要做以下操作
networks:
rustdesk-net:
external: false
services:
rustdesk:
ports:
- 21114:21114
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21117:21117
- 21118:21118
- 21119:21119
image: lejianwen/rustdesk-server-s6:latest
environment:
- RELAY=www.zxmvps.com
- ENCRYPTED_ONLY=1
- KEY=zxmvps.com #自定义PUB KEY
- TZ=Asia/Shanghai
- RUSTDESK_API_APP_REGISTER=true #true为开放注册,false为关闭
- MUST_LOGIN=Y #是否必须登录
- RUSTDESK_API_ADMIN_TITLE=蜗牛rustdesk后台 #后台页面标题
- RUSTDESK_API_ADMIN_HELLO=蜗牛rustdesk欢迎你! #后台欢迎词,好像没用
- RUSTDESK_API_RUSTDESK_ID_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=www.zxmvps.com
- RUSTDESK_API_RUSTDESK_API_SERVER=https://www.zxmvps.com
- RUSTDESK_API_RUSTDESK_KEY=zxmvps.com #自定义PUB KEY
volumes:
- /data/rustdesk/server:/data
- /data/rustdesk/server/hbbr/run:/etc/s6-overlay/s6-rc.d/hbbr/run
- /data/rustdesk/server/hbbs/run:/etc/s6-overlay/s6-rc.d/hbbs/run
- /data/rustdesk/api:/app/data #将数据库挂载
networks:
- rustdesk-net
restart: unless-stopped5

-星空知](https://oss.xkzhi.com/befer/2024/01/20240109223300434-MTXX_MH20240109_223239779.jpg)











- 最新
- 最热
只看作者