---
title: 作為遠端客戶端
description: 不部署本機 Runtime，用 Android 手機連接其他機器上的 AzurPilot 實例：配對、切換、撤銷與斷線處理。
updated: 2026-10-20
---

# 作為遠端客戶端

這是 Android 版的第二種用法：**手機只做控制台**。遊戲仍跑在家裡的電腦或伺服器上，手機通過配對憑據連接那個實例。

遠端模式不會：

- 下載或啟動本機 Runtime
- 要求 Shizuku / Root
- 修改本機的部署設定、自啟動或權限引導

## <DocIcon name="scale" /> 與本地執行的區別

| 項 | 本地執行 | 遠端客戶端 |
| --- | --- | --- |
| Runtime | 必需 | 不需要 |
| 遊戲處理程序 | 手機上 | 目標機器上 |
| 權限啟用 | 必需 | 不需要 |
| 配置來源 | 本機 Runtime | 目標實例 |
| 斷網影響 | 本機任務繼續 | 控制中斷，遠端任務繼續 |

::: tip 遠端任務不會因為手機斷線而停止
手機只是客戶端。關掉 App、斷網、甚至解除安裝，遠端實例仍按自己的排程執行。
:::

## <DocIcon name="clipboard" /> 準備工作

在目標機器上：

1. 打開 WebUI → 設定 → 遠端訪問。
2. 選擇 `cloudflare` 模式，設定 WebUI 密碼，開啟遠端訪問並重新啟動。
3. 等待狀態變為就緒（Tunnel 已註冊）。
4. 點擊「配對」，生成六位碼與二維碼。

::: warning 沒有密碼不能開 Tunnel
程序會拒絕在沒有有效 WebUI 密碼時啟動 Quick Tunnel。先設密碼。
:::

## <DocIcon name="handshake" /> 配對

<Steps>
<Step title="在手機端進入綁定">

可以從歡迎頁、主頁或本機部署頁點擊「連接遠端 AP」。不需要先安裝 Runtime。

</Step>
<Step title="掃碼或輸碼">

- 掃碼：識別 `azurpilot://pair?secret=<secret>` 二維碼。
- 手動：輸入六位驗證碼（保留前導零）。

兩種方式共享同一次「領取」：一種成功後另一種不能重放。

</Step>
<Step title="儲存憑據">

客戶端用 Android Keystore AES-GCM 儲存固定入口與獨立憑據。憑據不寫入日誌。

</Step>
<Step title="連接">

客戶端解析固定入口，以 WSS 調用 `auth.login`。認證完成後才對原生頁面發佈就緒狀態。

</Step>
</Steps>

配對碼有效期五分鐘，過期後重新生成。重新生成會替換伺服器上該設備尚未領取的碼。

## <DocIcon name="monitor" /> 使用

連接成功後，原生控制台複用同一套倉庫與主題訂閱：

- 實例選擇
- 總覽與當前任務
- 配置編輯（寫入遠端實例）
- 日誌與統計

介面與本地模式一致，區別只在數據來源。切換來源時會先等待編輯儲存，關閉舊連接並清理快取；返回本機模式會恢復本機監聽地址。

## <DocIcon name="ban" /> 撤銷與解除安裝

| 操作 | 位置 | 效果 |
| --- | --- | --- |
| 撤銷某個客戶端 | 目標機器 → 遠端訪問 → 已授權的配對 | 該客戶端下一次請求（含 15 秒心跳）即失效 |
| 解除安裝本機入口 | 手機端「解除安裝」 | 只刪除本地儲存的入口，**不撤銷伺服器授權** |

::: danger 只在手機上「解除安裝」不等於解綁
伺服器仍保留該客戶端的授權。要真正斷開，必須在目標機器上撤銷。否則拿到舊憑據的人仍能連接。
:::

撤銷單個客戶端不會修改 WebUI 主密碼，也不影響其他已配對設備。

## <DocIcon name="refresh" /> 斷線與重連

| 現象 | 原因 | 處理 |
| --- | --- | --- |
| 固定入口 302 到 `/error` | 設備離線、租約過期或 Tunnel 失效 | 目標機器檢查遠端訪問狀態 |
| 一直轉圈 | WebSocket 被網路阻斷 | 換網路，確認 7844 連接埠可達 |
| `UNAUTHORIZED` | 配對被撤銷 | 重新配對 |
| 連接後很快斷開 | 心跳超時 | 檢查目標機器負載與網路 |
| 手機切後臺後斷開 | 系統限制後臺網路 | 允許後臺執行，或回到前臺重連 |

Quick Tunnel 每 60 秒續約，異常退出後伺服端租約 180 秒失效。目標機器重新上線後會獲得新的 `*.trycloudflare.com` 地址，但固定入口 `<registry>/d/<device_id>/` 不變。

## <DocIcon name="refresh" /> 本機與遠端來回切換

- 切到遠端：不停止本機 Runtime，但控制面指向遠端。
- 切回本機：恢復原監聽地址，本機實例狀態重新訂閱。
- 本機的 PRoot、懸浮窗與設備控制鏈不隨遠端網關改址。
- 遠端部署設定不會同步到本機偏好。

## <DocIcon name="shield" /> 安全建議

1. 目標機器的 WebUI 密碼要強，且不要與遊戲帳號相同。
2. 不用的配對及時撤銷。
3. 二維碼等同於一次性憑據，不要截圖外發。
4. Quick Tunnel 適合臨時使用，長期暴露請評估風險。
5. 手機丟失時，在目標機器撤銷該客戶端即可，不必改主密碼。
