Share This Post

前言

這篇的產生,其實就是因為我們之前常用的遠端桌面軟體 AnyDesk 最近步入了 TeamViewer 的後塵,他和 TeamViewer 一樣開始偵測商業使用了,超過使用時間就會斷你線然後叫你買 Professional。

Untitled
Untitled
Untitled

Has this always been the case?

簡介

Screenshot_20221220_091323-1.png

RustDesk 是類似於 TeamVIewer 和 Anydesk 的遠端桌面軟體,操作方式和 Anydesk 大同小異,支援遠端操控、檔案傳輸、連接埠轉送。但與其他兩者不同的是,他是個免費開放原始碼的軟體,並且可以自行架設伺服器。

RustDesk | Open source remote desktop software | The Open Source TeamViewer Alternative

https://github.com/rustdesk/rustdesk

平台支援

Untitled

RustDesk 支援主流的 Windows、Mac、Linux 系統,以及手機的安卓與 iOS 系統,除此之外,也對一些不同的 Linux 發行版發布特別的版本,包括樹莓派,所有預先建置好的版本都可以在 GitHub Release 中找到。

Untitled

Releases · rustdesk/rustdesk

另外也提供網頁版,但因為是 Beta,可能不太穩定:

螢幕擷取畫面 2022-12-20 093607.png

基本使用

安裝時可以選擇一般的下載或是下載 Portable

Untitled

和 Anydesk 一樣,可以選擇直接執行,或安裝到電腦中。

Untitled

<aside> 💡 預設語言他會抓成簡體中文,稍後會提如何改成英文

</aside>

打開程式就能看到自己的 ID,而且他已經幫你生成一組密碼,可以直接用或是修改成自己習慣的密碼。

Untitled

雙方電腦都開起來之後,就可以輸入 ID 連線

Untitled

按下連線後,對方電腦會出現是否允許連線的提示,或者如果知道對方的密碼也可以直接輸入

Untitled
螢幕擷取畫面 2022-12-20 092241.png

按下允許或輸入密碼後就能開始遠端操控

Untitled

可以透過上方工具列進行操作或了解狀態,包括全螢幕、連線安全性、聊天、檔案傳輸、調整設定等

Untitled

<aside> 💡 預設縮放模式是 Original(原始),但他在小視窗中會把畫面切掉,如果需要小視窗或是解析度比目標電腦小的時候,建議切換成 Shrink(縮減) 模式。

Untitled

</aside>

自架伺服器

RustDesk 可以自架伺服器,以提昇速度和隱私。

伺服器端

伺服器有兩個,hbbr(Relay) 和 hbbs(ID),支援 Windows 和 Linux,系統需求很輕量,Port 需求為 21115~21119。

安裝推薦使用 docker-compose ,這是最簡單的架設方式,只需要建立一個空資料夾並建立 docker-compose.yml 並填下以下內容:

version: '3'

networks:
  rustdesk-net:
    external: false

services:
  hbbs:
    container_name: hbbs
    ports:
      - 21115:21115
      - 21116:21116
      - 21116:21116/udp
      - 21118:21118
    image: rustdesk/rustdesk-server:latest
    command: hbbs -r hbbr:21117
    volumes:
      - ./hbbs:/root
    networks:
      - rustdesk-net
    depends_on:
      - hbbr
    restart: unless-stopped

  hbbr:
    container_name: hbbr
    ports:
      - 21117:21117
      - 21119:21119
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    volumes:
      - ./hbbr:/root
    networks:
      - rustdesk-net
    restart: unless-stopped

最後打上指令啟動

docker compose start

啟動之後,資料夾內會出現 hbbr 和 hbbs 資料夾存放資料,稍後會用到。

Untitled

<aside> 💡 以上方式可以透過 Stacks 的 Stacks 啟動,資料位置可以參考 Container 資訊內的 Label

Untitled

</aside>

其他安裝方式可參考

Installation

客戶端

接下來設定客戶端,需要的資訊:伺服器 IP 和 Public Key

在客戶端中選擇 ID/Relay Server

Untitled

此時會出現這個視窗,必填項目為第一格和最後一格

Untitled

ID Server 填上該伺服器的 ID,Key 為伺服器上 hbbs/id_ed25519.pub 檔案內容

Untitled

雙方電腦都設定之後就可以透過此伺服器連線

語言設定

語言設定一般可以透過界面調整

Untitled

但如果你像我一樣沒有看到這個選項的時候:

Untitled

可以透過手動改設定檔改語言

設定檔位置:

  • Windows: %APPDATA%\\RustDesk\\config\\RustDesk_local.toml
  • Mac: $HOME/Library/Preferences/com.carriez.rustdesk/RustDesk_local.toml
  • Linux: ~/.config/rustdesk/RustDesk_local.toml

在這檔案加上:

  • 英文: [options] lang = 'en'
  • 繁體中文: [options] lang = 'tw'

下次開啟 RustDesk 時就會是新的語言

https://github.com/rustdesk/rustdesk/issues/709

訂閱研究文章

Get updates and learn from the best

More To Explore

Commitizen

前言: 現今軟體功能複雜與龐大,在開發過程中,不管單人開發還是多人協作,對所編寫的代碼與代碼版本管控都是必須的

NFC x Mifare

實作紀錄 readMifare readNdef 知識補充 手機NFC隱含攻擊弱點 掌握原理避免無線盜刷 MI

Scroll to Top