デバイスをペアリング
このガイドでは、スマートフォンを Control Center とペアリングし、どこからでもメッセージやチケットを読み、返信できるようにする方法を説明します。同じ手順で 2 台目のブラウザーやデスクトップアプリもペアリングできます。リンクの仕組みとそのセキュリティモデルについては、リモートコントロールとモバイルを参照してください。
前提条件
「前提条件」というセクション- サーバーに接続されたデスクトップまたは Web クライアントがあり、ワークスペースがセットアップ済みであること。ペアリング操作にはフルクライアントが必要なため、ペアリング済みのスマートフォンが別のデバイスをペアリングしたり、取り消したりすることはできません。
- ペアリングするデバイスからサーバーに到達できること。同じネットワーク上ならそのまま動作し、離れた場所からはブローカー経由のリレーがトラフィックを運びます。パネルが QR や資格情報ではなく到達できませんと応答する場合は、まず経路を公開してください — 設定 → サーバー → 接続とステータス(このサーバーを共有)のトンネルのオプトイン、またはサーバーの
--public-urlを使用します(ヘッドレスサーバーを実行を参照)。 - スマートフォンの場合: インストールは不要です。QR を読み取ると Remote の Web アプリ(既定では remote.usectrl.dev)が開きます。
セルフホスティング。 Remote とリレーブローカーはこのリポジトリでオープンソースです。スマートフォンアプリ(apps/cc_remote — Cloudflare Pages へ wrangler.jsonc 経由で、docker/cc_remote の nginx イメージへ、あるいは HTTPS を備えた任意の静的ホストへデプロイできる Flutter Web の PWA です。サービスワーカーと IndexedDB はセキュアコンテキストが必須です)と、リレー(apps/cc_signaling_server — アプリのデータを一切保持せず、ペアリングの秘密を目にすることもない、エンドツーエンドで密封されたフレームだけを転送する単一のステートレスな Dart バイナリです)の 2 つです。ビルドと実行の手順は、それぞれの README を参照してください。
ステップ 1: ペアリングパネルを開く
「ステップ 1: ペアリングパネルを開く」というセクション設定 → 自分 → 自分のデバイスを開きます。自分のデバイスセクションには、このサーバー上で自分のアカウントにペアリングされたクライアントが一覧表示されます。(サーバーのオーナーにはサーバー上のすべてのデバイスが表示され、それ以外のユーザーには自分のデバイスだけが表示されます。)
ステップ 2: 新しいクライアントをペアリングする
「ステップ 2: 新しいクライアントをペアリングする」というセクションページヘッダーで新しいクライアントをペアリングをクリックし、ラベル(例:「私のスマホ」)を付けて、種類(Webブラウザー、デスクトップアプリ、スマホ)を選び、ペアリングをクリックします。
- スマホの場合、QR コードが表示されます。スマートフォンのカメラで読み取るか、リンクをコピーして任意のブラウザーで開きます。この QR は Remote アプリを自分のサーバーに向け、資格情報を運びます。
- ブラウザーまたはデスクトップの場合は、代わりに表示されたリンク(またはデバイス id とペアリングキー)を新しいクライアントにコピーします。ワンタップのリンクが提供されるのは、Web クライアントからペアリングする場合だけです。デスクトップのバイナリには、リンクを組み立てるための Web オリジンが存在しないためです。
スマートフォン用の QR と、CLI で cc_server pair --client-url が出力するリンクは、異なるペイロードであり、互換性がありません。CLI のリンクは Web クライアントの接続フォームを埋めるためのもので、この QR は Remote PWA 向けにサーバーの完全な接続記述子と識別フィンガープリントを運びます。
スマートフォン側では、ペアリングリンクを開いても自動的にペアリングされるわけではありません。Remote はサーバーが通知する名前を表示し、何かを保存する前に確認を求めます。そのため、偽造されたリンクによってアプリを他人のサーバーに誘導することはできません。
ペアリング済みデバイスの管理
「ペアリング済みデバイスの管理」というセクション設定 → 自分 → 自分のデバイスでは、次のことができます:
- デバイスの名前を変更
- 信頼しなくなったデバイスの取り消し。取り消すとその資格情報は破棄され、実行中のセッションも数秒以内に切断されるため、再接続時にはフェイルクローズします
紛失したスマートフォンや買い替えたスマートフォンには、取り消しが適切な対処です。デバイスから見れば、取り消しは即時かつ不可逆です。
このパネルから発行された資格情報には期限があります。発行から 30 日で失効し、それ以降は接続ゲートがフェイルクローズします。コマンドラインで cc_server pair により発行された資格情報には有効期限がまったくありません — 対象のマシンを廃棄するときに手動で取り消してください。
スマートフォンからワークスペースを切り替える
「スマートフォンからワークスペースを切り替える」というセクションペアリング済みのスマートフォンは、デスクトップとは独立にワークスペースを切り替えられます。スマートフォンは呼び出しのたびにワークスペースを送信し、サーバーはそのたびに、そのワークスペースにおける自分のメンバーシップとロールを確認します — したがってスマートフォンが到達できるのは自分がメンバーであるワークスペースだけで、そこで切り替えてもデスクトップの表示は変わりません。
さらにスマートフォンのセッションは、読み取り中心の少数のツールの許可リストに制限されます。チケット、エージェント、スペース、メッセージ、フィードの記事を一覧表示・読み取りでき、チケットの更新または割り当て、スペースへのメッセージ送信、記事の既読化または保存ができます。この集合に含まれないものは、サーバーのディスパッチャーに届く前に拒否されます。
関連ガイド
「関連ガイド」というセクション- ヘッドレスサーバーを実行: そもそもサーバーを到達可能にする
- リモートサーバーに接続: フルクライアントをそのサーバーに向ける
- スペースを使う: スマートフォンから主に行うこと
- チケットの作成と管理: 外出先からのトリアージ