ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

RustDesk 搭建

RustDesk 搭建 Web、API 部署教程https://www.52pojie.cn/thread-1708319-1-1.htmlRustDesk 服务端下载https://github.com/rustdesk/rustdesk-server/releasesRustDesk 客户端下载https://github.com/rustdesk/rustdesk/releases/tag/1.2.3-2RustDesk 官方部署教程https://rustdesk.com/docs/zh-cn/* *### 1RustDesk 概览#### 1.1项目简介RustDesk 它是一个远程控制开源项目该项目支持自己搭建服务器。RustDesk 默认提供免费公共中继服务但 RustDesk 的中继服务器在海外所以延迟非常明显所以可以自己搭建服务器。#### 1.2工作原理RustDesk 会先用 TCP 21116 信令服务 NAT 打洞如果打洞成功直接 P2P 直连RustDesk 不参与中继。RustDesk 如果没有打洞成功则走 TCP 21117 中继服务延迟、画质取决于中继服务器的带宽。hbbs 监听端口hbbr 监听端口21115(tcp)用作 NAT 类型测试21117(tcp)中继服务21116(tcp)NAT 打洞与连接服务21119(tcp)支持 Web 客户端21118(tcp)支持 Web 客户端21116(udp)ID 注册与心跳服务### 2部署 RustDesk 服务我的服务器是 CentOS7.6 64位所以下载 rustdesk-server-linux-amd64.zip用 unzip 解压后执行hbbr(ID)、hbbs(中继)。请注意 TCP 21115-21119 和 1 个 UDP 21116 都要在安全组放行如果有宝塔宝塔的防火墙也要放行。 unzip rustdesk-server-linux-amd64.zip mv amd64 rustdesk_server cd rustdesk_server # 启动ID注册服务后台运行 # -k _ 用于强制被控端输入Key因为默认情况下只需要主控端输入Key就能连接 ./hbbs -k _ # 启动中继服务后台运行 # 启动后生成公私密钥对(id_edxxxxid_edxxxx.pub) ./hbbr -k _ ### 3部署客户端#### 3.1Win 客户端由于我是 Win 环境所以下载 rustdesk-1.2.3-2-x86_64.exe打开后是非安装版本也可作为主控和被控端但可能会有一些限制最好用安装一下。示例笔记本和无影云电脑都安装了 RustDesk for Win 客户端并且 ID/中继服务器 均配置完成。笔记本获取无影电脑的 ID 值和密码连接成功。#### 3.2Web 客户端Web 客户端有静态源码官方教程中也说只有 RustDesk Server Pro 才有 Web 远控GitHub 项目中也没有给 Web 客户端的资源但网上却有下载我猜是有人从 Pro 版本扒出来源码修改了一点点??。*0x01宝塔创建一个站点用于存放 Web 静态文件。0x02将 web-client 文件夹里的文件全部剪切到根目录中并修改所有者和用户组为 www。 mv web-client/wwwroot/ chown -R www:www wwwroot/*0x03浏览器访问 Web 远控端同样也要输入 ID服务器 和 Key。 如果服务器上行带框小访问会比较慢0x04Web 远控输入无影云主机ID输入密码后成功连接。 服务器上行带宽太小会导致延迟、画质过差#### 3.3其它 客户端_RustDesk 还支持 Linux(Debian系列没问题虽然也提供了RadHat系列的rpm包但好像有问题)、Mac、Android 等客户端等有这方面的需求在搞。_### 4部署优化#### 4.1Web 远控加载慢Web 远控慢是因为 canvaskit.wasm 太大了足足 6MB 多如果你服务器上行带宽很大其实可以忽略。优化canvaskit.js 访问的 canvaskit.wasm可以将访问地址换成网上免费的 插件CDN服务。 cd canvaskit0.33.0/ vim canvaskit.js # 搜索 canvaskit.wasm将后面的 if(!Ab()){var CbBb;Bbt.locateFile?t.locateFile(Cb,Ca):CaCb} 删除 # 将 Bb 变量修改为 CDN 加速链接这样节省了带宽又加速了访问 # (如果CDN的带宽还没你服务器带宽大就别搞这个) var Bb;Bb“https://cdn.bootcdn.net/ajax/libs/canvaskit-wasm/0.33.0/canvaskit.wasm”;#### 4.2Systemd 管理0x01创建 service 文件WorkingDirectory 工作目录一定要指定否则密钥对不会创建 。 cat /etc/systemd/system/hbbr.service EOF [Unit] DescriptionRustDesk Hbbs Afternetwork.target [Service] Userroot Typesimple WorkingDirectory/taosec/remote_control/rustdesk_server ExecStart/taosec/remote_control/rustdesk_server/hbbr ExecStop/bin/kill -TERM $MAINPID [Install] WantedBymulti-user.target EOF cat /etc/systemd/system/hbbs.service EOF [Unit] DescriptionRustDesk Hbbs Afternetwork.target [Service] Userroot Typesimple WorkingDirectory/taosec/remote_control/rustdesk_server ExecStart/taosec/remote_control/rustdesk_server/hbbs ExecStop/bin/kill -TERM $MAINPID [Install] WantedBymulti-user.target EOF0x02启动 hbbr 和 hbbs 并开机自启动。 systemctl start hbbr systemctl start hbbs systemctl enable hbbr systemctl enable hbbs#### 4.3Api 服务器Api 服务器 (登录、注册、记录等作用) 好像也是 Pro 版本才有但网上有很多大佬自己开发了 Api 服务器我在网上查了一下甚至测试了 1 套虽然登录没问题将远程记录放到地址簿中数据库确实有数据但重新登录后却无法获取地址簿的数据可能是版本更新的原因吧那套源码是 23 年的还有一套不错的 Api 项目可惜只支持 Win。我看了一眼 Api 服务器的PHP版本的源代码很简单几乎是套娃我也懒得搞了没这需求搞得我也累。### 5Docker 部署 # host是与宿主机共享网络-r是指定中继服务器IP(端口可选)由于我们是 host 模式所以 ip 填宿主机的就可以 docker run --restartalways --name hbbs -v /opt/rustdesk/hbbs/root:/root -td --nethost rustdesk/rustdesk-server hbbs -r 10.0.0.11 -k 123456 docker run --restartalways --name hbbr -v /opt/rustdesk/hbbr/root:/root -td --nethost rustdesk/rustdesk-server hbbr
返回列表