柚子快報(bào)邀請(qǐng)碼778899分享:RustDesk 搭建
柚子快報(bào)邀請(qǐng)碼778899分享:RustDesk 搭建
Web、API 部署教程:https://www.52pojie.cn/thread-1708319-1-1.html
RustDesk 服務(wù)端下載:https://github.com/rustdesk/rustdesk-server/releases
RustDesk 客戶端下載:https://github.com/rustdesk/rustdesk/releases/tag/1.2.3-2
RustDesk 官方部署教程:https://rustdesk.com/docs/zh-cn/
1:RustDesk 概覽
1.1:項(xiàng)目簡(jiǎn)介
RustDesk 它是一個(gè)遠(yuǎn)程控制開(kāi)源項(xiàng)目,該項(xiàng)目支持自己搭建服務(wù)器。
RustDesk 默認(rèn)提供免費(fèi)公共中繼服務(wù),但 RustDesk 的中繼服務(wù)器在海外,所以延遲非常明顯,所以可以自己搭建服務(wù)器。
1.2:工作原理
RustDesk 會(huì)先用 TCP 21116 信令服務(wù) NAT 打洞,如果打洞成功,直接 P2P 直連,RustDesk 不參與中繼。
RustDesk 如果沒(méi)有打洞成功,則走 TCP 21117 中繼服務(wù),延遲、畫質(zhì)取決于中繼服務(wù)器的帶寬。
hbbs 監(jiān)聽(tīng)端口hbbr 監(jiān)聽(tīng)端口21115(tcp):用作 NAT 類型測(cè)試21117(tcp):中繼服務(wù)21116(tcp):NAT 打洞與連接服務(wù)21119(tcp):支持 Web 客戶端21118(tcp):支持 Web 客戶端21116(udp):ID 注冊(cè)與心跳服務(wù)
2:部署 RustDesk 服務(wù)
我的服務(wù)器是 CentOS7.6 64位,所以下載 rustdesk-server-linux-amd64.zip,用 unzip 解壓后執(zhí)行 hbbr(ID)、hbbs(中繼)。
請(qǐng)注意 TCP 21115-21119 和 1 個(gè) UDP 21116 都要在安全組放行,如果有寶塔,寶塔的防火墻也要放行。
unzip rustdesk-server-linux-amd64.zip
mv amd64 rustdesk_server
cd rustdesk_server
# 啟動(dòng)ID注冊(cè)服務(wù),后臺(tái)運(yùn)行
# -k _ 用于強(qiáng)制被控端輸入Key,因?yàn)槟J(rèn)情況下只需要主控端輸入Key就能連接
./hbbs -k _ &
# 啟動(dòng)中繼服務(wù),后臺(tái)運(yùn)行
# 啟動(dòng)后生成公私密鑰對(duì)(id_edxxxx,id_edxxxx.pub)
./hbbr -k _ &
3:部署客戶端
3.1:Win 客戶端
由于我是 Win 環(huán)境,所以下載 rustdesk-1.2.3-2-x86_64.exe,打開(kāi)后是非安裝版本,也可作為主控和被控端,但可能會(huì)有一些限制,最好用安裝一下。
示例: 筆記本 和 無(wú)影云電腦 都安裝了 RustDesk for Win 客戶端,并且 ID/中繼服務(wù)器 均配置完成。筆記本獲取無(wú)影電腦的 ID 值和密碼,連接成功。
3.2:Web 客戶端
Web 客戶端有靜態(tài)源碼,官方教程中也說(shuō)只有 RustDesk Server Pro 才有 Web 遠(yuǎn)控,GitHub 項(xiàng)目中也沒(méi)有給 Web 客戶端的資源,但網(wǎng)上卻有下載,我猜是有人從 Pro 版本扒出來(lái)源碼修改了一點(diǎn)點(diǎn)?。
0x01:寶塔創(chuàng)建一個(gè)站點(diǎn),用于存放 Web 靜態(tài)文件。
0x02:將 web-client 文件夾里的文件全部剪切到根目錄中,并修改所有者和用戶組為 www。
mv web-client/* wwwroot/
chown -R www:www wwwroot/*
0x03:瀏覽器訪問(wèn) Web 遠(yuǎn)控端,同樣也要輸入 ID服務(wù)器 和 Key。
如果服務(wù)器上行帶框小,訪問(wèn)會(huì)比較慢
0x04:Web 遠(yuǎn)控輸入無(wú)影云主機(jī)ID,輸入密碼后成功連接。
服務(wù)器上行帶寬太小會(huì)導(dǎo)致延遲、畫質(zhì)過(guò)差
3.3:其它 客戶端
RustDesk 還支持 Linux(Debian系列沒(méi)問(wèn)題,雖然也提供了RadHat系列的rpm包,但好像有問(wèn)題)、Mac、Android 等客戶端,等有這方面的需求在搞。
4:部署優(yōu)化
4.1:Web 遠(yuǎn)控加載慢
Web 遠(yuǎn)控慢是因?yàn)?canvaskit.wasm 太大了,足足 6MB 多,如果你服務(wù)器上行帶寬很大,其實(shí)可以忽略。
優(yōu)化:canvaskit.js 訪問(wèn)的 canvaskit.wasm,可以將訪問(wèn)地址換成網(wǎng)上免費(fèi)的 插件CDN服務(wù)。
cd canvaskit@0.33.0/
vim canvaskit.js
# 搜索 canvaskit.wasm,將后面的 if(!Ab()){var Cb=Bb;Bb=t.locateFile?t.locateFile(Cb,Ca):Ca+Cb} 刪除
# 將 Bb 變量修改為 CDN 加速鏈接,這樣節(jié)省了帶寬又加速了訪問(wèn)
# (如果CDN的帶寬還沒(méi)你服務(wù)器帶寬大,就別搞這個(gè))
var Bb;Bb="https://cdn.bootcdn.net/ajax/libs/canvaskit-wasm/0.33.0/canvaskit.wasm";
4.2:Systemd 管理
0x01:創(chuàng)建 service 文件,WorkingDirectory 工作目錄一定要指定,否則密鑰對(duì)不會(huì)創(chuàng)建 。
cat > /etc/systemd/system/hbbr.service << eof="">
[Unit]
Description=RustDesk Hbbs
After=network.target
[Service]
User=root
Type=simple
WorkingDirectory=/taosec/remote_control/rustdesk_server
ExecStart=/taosec/remote_control/rustdesk_server/hbbr
ExecStop=/bin/kill -TERM $MAINPID
[Install]
WantedBy=multi-user.target
EOF
cat > /etc/systemd/system/hbbs.service << eof="">
[Unit]
Description=RustDesk Hbbs
After=network.target
[Service]
User=root
Type=simple
WorkingDirectory=/taosec/remote_control/rustdesk_server
ExecStart=/taosec/remote_control/rustdesk_server/hbbs
ExecStop=/bin/kill -TERM $MAINPID
[Install]
WantedBy=multi-user.target
EOF
0x02:?jiǎn)?dòng) hbbr 和 hbbs 并開(kāi)機(jī)自啟動(dòng)。
systemctl start hbbr
systemctl start hbbs
systemctl enable hbbr
systemctl enable hbbs
4.3:Api 服務(wù)器
Api 服務(wù)器 (登錄、注冊(cè)、記錄等作用) 好像也是 Pro 版本才有,但網(wǎng)上有很多大佬自己開(kāi)發(fā)了 Api 服務(wù)器,我在網(wǎng)上查了一下,甚至測(cè)試了 1 套,雖然登錄沒(méi)問(wèn)題,將遠(yuǎn)程記錄放到地址簿中,數(shù)據(jù)庫(kù)確實(shí)有數(shù)據(jù),但重新登錄后,卻無(wú)法獲取地址簿的數(shù)據(jù),可能是版本更新的原因吧,那套源碼是 23 年的,還有一套不錯(cuò)的 Api 項(xiàng)目,可惜只支持 Win。
我看了一眼 Api 服務(wù)器的PHP版本的源代碼,很簡(jiǎn)單,幾乎是套娃,我也懶得搞了,沒(méi)這需求,搞得我也累。
5:Docker 部署
# host是與宿主機(jī)共享網(wǎng)絡(luò),-r是指定中繼服務(wù)器IP(端口可選),由于我們是 host 模式,所以 ip 填宿主機(jī)的就可以
docker run --restart=always --name hbbs -v /opt/rustdesk/hbbs/root:/root -td --net=host rustdesk/rustdesk-server hbbs -r 10.0.0.11 -k 123456
docker run --restart=always --name hbbr -v /opt/rustdesk/hbbr/root:/root -td --net=host rustdesk/rustdesk-server hbbr
柚子快報(bào)邀請(qǐng)碼778899分享:RustDesk 搭建
相關(guān)文章
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。