このプロジェクトについて

Deskhubは、別のデバイスからコンピュータを表示・操作できるオープンソースのリモートデスクトップアプリケーションです。Windows、macOS、Linux、Android、iOSの5つのプラットフォームでネイティブに動作します。このアプリは、全プラットフォームでプロトコルを処理する共有のC++20コア上に構築されています。 **主な機能:** - **高速ストリーミング**:対応ハードウェアでは60fpsをサポートし、利用可能な場合はGPUアクセラレーションによるキャプチャ、エンコード、デコード、レンダリングを実現。 - **簡単インストール**:パッケージマネージャー(winget、Homebrew、apt)経由でインストールするか、リリースをダウンロード。アカウントやバックグラウンドサービスは不要。 - **シンプルなインターフェース**:同じ4つのページ(ホスト、クライアント、デバイス、設定)が全プラットフォームに表示され、デバイス間で操作が統一。 - **セキュア**:セッションはQUIC/TLSでエンドツーエンドに暗号化。アクセスはSSHと同様で、各マシンに鍵があり、ホスト所有者が接続リクエスト、QRコード、または貼り付けられた公開鍵で承認したクライアントのみが許可されます。 - **リアルな入力**:DirectInputゲーム用の相対マウスとスキャンコードをサポート。ホスト自身のマウス/キーボードが常に優先。 - **サウンド対応**:マシン自身のオーディオミックスがOpusで64kbpsで送信され、データグラムあたり20msフレームが1つ。 - **マルチモニター対応**:1つまたは複数のディスプレイを、それぞれ個別のセッションとして共有可能。 - **コマンドラインツール**:`deskhub-cli`で画面共有、リモートシェル起動、スクリプトやSSH経由での実行が可能。 - **テスト済みコア**:オフライン単体テスト、CIでのサニタイザー実行、7つの夜間libFuzzerターゲットが、ワイヤーフォーマット、H.264パース、再アセンブリ、端末バイト、UIテキスト、セッション状態機械をカバー。 **プラットフォーム:** - **Windows**:リファレンス実装で、LANとTailscale経由で日常使用。 - **macOS**:両ロールが動作(ScreenCaptureKit + VideoToolbox + CGEvent)。 - **Android**:クライアントはビデオと入力に対応。ホストは表示専用の画面共有(Android 10以上)。 - **iOS**:クライアントはビデオと入力に対応。ホストはBroadcast Upload Extension経由で表示専用の画面共有。 - **Linux**:Ubuntu、Debian、Mint、Fedora、openSUSE、Archで両ロールが動作(PipeWire + VA-API + uinput + GTK3)。 **ユースケース:** - 非力なラップトップやiPadから、重いワークロード(Claude Code、VS Code、ビルド)を実行。 - 別のデバイスからデスクトップ専用アプリ(Chrome、Office)を使用。 - 相対マウスとポインターロックで60fpsのゲームをプレイ。 - 複数モニターを個別セッションとして共有。 **セキュリティ:**パスコードなし、ディスカバリーなし、見知らぬ人を入れるスイッチなし。信頼できるネットワークまたはVPNを使用し、UDP 47777のポートフォワーディングは絶対に行わないでください。完全な脅威モデルはSECURITY.mdに文書化されています。 **ライセンス:**MIT。サードパーティコンポーネントと通知はTHIRD_PARTY_NOTICES.mdに記載。 **ドキュメント:**英語、ベトナム語、中国語、日本語で利用可能で、インストール、ソースからのビルド、仕様、アーキテクチャ、セキュリティ、プライバシー、サードパーティ通知をカバーしています。