RustDesk 詳解:自前運用する遠隔デスクトップの接続、運用、安全境界
Rust クライアント、Flutter UI、直結と中継、hbbs/hbbr、遠隔操作権限、AGPL-3.0、Server Pro の違いから RustDesk を評価する。
位置付けと現在の動き
RustDesk は複数 OS に対応する遠隔デスクトップで、プロジェクトの公開調整・中継サービスか、自分のサーバーを選べる。取得時点で主リポジトリは約 118,638 Star、nightly と安定版の間でも頻繁に更新された。クライアントのソース、OSS サーバー、自前運用経路を同じ選択肢に置くが、サーバー起動だけで安全運用が完成するわけではない。
主な用途と機能
遠隔支援、個人端末への接続、拠点間保守、ファイル転送、短時間の共同作業に使える。デスクトップとモバイルのクライアントは直接接続を試し、失敗時に relay を使う。クリップボード、音声、入力、ファイル、トンネルも一つの会話に含められる。管理者は役割に不要な機能を無効にし、便利さと権限露出を同じ尺度で扱うべきである。
アーキテクチャと動作原理
クライアントは rendezvous へ登録して相手を探し、可能なら TCP ホールパンチによる直接接続、失敗時は中継を選ぶ。`rendezvous_mediator` が調整し、`src/server` が画面、音声、クリップボード、入力、通信を処理する。`scrap` は画面取得、`enigo` は入力を担当する。自前運用では通常 hbbs と hbbr を動かし、クライアントへアドレスと公開鍵を設定する。
技術構成とシステム境界
接続と OS 固有処理の中心は Rust、現在のデスクトップ・モバイル UI は Flutter である。C++、Kotlin、Swift と多媒体依存も含む。映像符号化、画面取得、入力注入、NAT 越えは OS 権限とネットワーク機器に左右される。OSS サーバーは基本的な調整と中継を担い、高度な管理は Server Pro の範囲なので、機能表を混同してはいけない。
最小の導入手順
個人は公式署名済みクライアントで一回限りの接続を作り、許可内容を確認できる。自前運用は Docker またはネイティブの hbbs と hbbr を使い、明示したポート、DNS、TLS、ファイアウォールを設定し、ID/relay と key を配る。本番前に直結、中継、無人接続、鍵更新、版の巻き戻し、調整サーバー停止時を別々に試す。
利点、制約、運用コスト
複数 OS、調整と中継の配置選択、柔軟な接続、読めるソースが長所である。遠隔操作は本質的に高権限で、NAT、企業 proxy、モバイル制限により結果が変わる。自前運用では帯域、可用性、ログ、悪用防止、版互換も担当する。公開サービスは試用しやすいが、組織のデータ所在や会話監査条件に合わない場合がある。