Post

結合內網穿透以及自建中繼的開源遠端桌面 - RustDesk

前言

最一開始使用到遠端服務時,大部份人可能都是用 Anydesk 或是 Teamviewer 這種商業軟體,但在使用過程中常常會有中繼服務器延遲太高或是限流導致畫面很模糊的問題,甚至 Teamviewer 在偵測到遠端寫 code 後直接判定為商業使用,只能放棄,找到了這套可以自建的遠端桌面服務。

架設

架設之前機器需要滿足幾個條件

  • docker
  • 公網 ip
  • 硬體 1c1g 的最小資源即可
  • 開啟 tcp(21115-21119)udp(21116) 的防火牆

接下來就可以按照官網文件中的指引來撰寫 docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
version: "3"

services:
  hbbs:
    container_name: hbbs
    image: rustdesk/rustdesk-server:latest
    command: hbbs
    volumes:
      - ./data:/root
    network_mode: "host"
    depends_on:
      - hbbr
    restart: unless-stopped

  hbbr:
    container_name: hbbr
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    volumes:
      - ./data:/root
    network_mode: "host"
    restart: unless-stopped

我自己不喜歡容器運行 host 模式,所以這邊提供容器映射的 port,有需要的可以自行修改
hbbs listens on 21115 (TCP), 21116 (TCP/UDP) and 21118 (TCP), hbbr listens on 21117 (TCP) and 21119 (TCP)

接著將容器 up 起來

1
docker-compose up -d

回到 host 機的 data 目錄下,可以看到多出了一個 /data/id_ed25519.pub 檔案,將內容複製起來
格式會像這樣 : K6cpWALGtnk**********pih8qFYtcg=

1
cat data/id_ed25519.pub

客戶端

接著來到 github 的 releases頁下載客戶端

alt text

這邊我自己是安裝 pre-release 版本的,因為支援兩端雙螢幕對雙螢幕,目前的 stable 版本還沒有安裝這個功能
往下找,依照自己環境找到對應的安裝包安裝後打開

alt text

如果環境是 windows,建議註冊為服務,在底下那顆就緒的按鈕旁邊會有指引來安裝

alt text
接著來到網路設定,依次貼上

  • ip:21116
  • ip:21117
  • id_ed25519.pub 的內容

可以在 設定-安全 中設定固定密碼,調整存取權限
在兩台不同電腦上都設置同樣的中繼服務器,就可以啟動連線,享受低延遲高隱私的遠端服務

如果你覺得此文章對你有幫助的話,可以請我 喝杯咖啡