作為遠端客戶端
這是 Android 版的第二種用法:手機只做控制台。遊戲仍跑在家裡的電腦或伺服器上,手機通過配對憑據連接那個實例。
遠端模式不會:
- 下載或啟動本機 Runtime
- 要求 Shizuku / Root
- 修改本機的部署設定、自啟動或權限引導
與本地執行的區別
| 項 | 本地執行 | 遠端客戶端 |
|---|---|---|
| Runtime | 必需 | 不需要 |
| 遊戲處理程序 | 手機上 | 目標機器上 |
| 權限啟用 | 必需 | 不需要 |
| 配置來源 | 本機 Runtime | 目標實例 |
| 斷網影響 | 本機任務繼續 | 控制中斷,遠端任務繼續 |
遠端任務不會因為手機斷線而停止
手機只是客戶端。關掉 App、斷網、甚至解除安裝,遠端實例仍按自己的排程執行。
準備工作
在目標機器上:
- 打開 WebUI → 設定 → 遠端訪問。
- 選擇
cloudflare模式,設定 WebUI 密碼,開啟遠端訪問並重新啟動。 - 等待狀態變為就緒(Tunnel 已註冊)。
- 點擊「配對」,生成六位碼與二維碼。
沒有密碼不能開 Tunnel
程序會拒絕在沒有有效 WebUI 密碼時啟動 Quick Tunnel。先設密碼。
配對
01
在手機端進入綁定
可以從歡迎頁、主頁或本機部署頁點擊「連接遠端 AP」。不需要先安裝 Runtime。
01
掃碼或輸碼
- 掃碼:識別
azurpilot://pair?secret=<secret>二維碼。 - 手動:輸入六位驗證碼(保留前導零)。
兩種方式共享同一次「領取」:一種成功後另一種不能重放。
01
儲存憑據
客戶端用 Android Keystore AES-GCM 儲存固定入口與獨立憑據。憑據不寫入日誌。
01
連接
客戶端解析固定入口,以 WSS 調用 auth.login。認證完成後才對原生頁面發佈就緒狀態。
配對碼有效期五分鐘,過期後重新生成。重新生成會替換伺服器上該設備尚未領取的碼。
使用
連接成功後,原生控制台複用同一套倉庫與主題訂閱:
- 實例選擇
- 總覽與當前任務
- 配置編輯(寫入遠端實例)
- 日誌與統計
介面與本地模式一致,區別只在數據來源。切換來源時會先等待編輯儲存,關閉舊連接並清理快取;返回本機模式會恢復本機監聽地址。
撤銷與解除安裝
| 操作 | 位置 | 效果 |
|---|---|---|
| 撤銷某個客戶端 | 目標機器 → 遠端訪問 → 已授權的配對 | 該客戶端下一次請求(含 15 秒心跳)即失效 |
| 解除安裝本機入口 | 手機端「解除安裝」 | 只刪除本地儲存的入口,不撤銷伺服器授權 |
只在手機上「解除安裝」不等於解綁
伺服器仍保留該客戶端的授權。要真正斷開,必須在目標機器上撤銷。否則拿到舊憑據的人仍能連接。
撤銷單個客戶端不會修改 WebUI 主密碼,也不影響其他已配對設備。
斷線與重連
| 現象 | 原因 | 處理 |
|---|---|---|
固定入口 302 到 /error | 設備離線、租約過期或 Tunnel 失效 | 目標機器檢查遠端訪問狀態 |
| 一直轉圈 | WebSocket 被網路阻斷 | 換網路,確認 7844 連接埠可達 |
UNAUTHORIZED | 配對被撤銷 | 重新配對 |
| 連接後很快斷開 | 心跳超時 | 檢查目標機器負載與網路 |
| 手機切後臺後斷開 | 系統限制後臺網路 | 允許後臺執行,或回到前臺重連 |
Quick Tunnel 每 60 秒續約,異常退出後伺服端租約 180 秒失效。目標機器重新上線後會獲得新的 *.trycloudflare.com 地址,但固定入口 <registry>/d/<device_id>/ 不變。
本機與遠端來回切換
- 切到遠端:不停止本機 Runtime,但控制面指向遠端。
- 切回本機:恢復原監聽地址,本機實例狀態重新訂閱。
- 本機的 PRoot、懸浮窗與設備控制鏈不隨遠端網關改址。
- 遠端部署設定不會同步到本機偏好。
安全建議
- 目標機器的 WebUI 密碼要強,且不要與遊戲帳號相同。
- 不用的配對及時撤銷。
- 二維碼等同於一次性憑據,不要截圖外發。
- Quick Tunnel 適合臨時使用,長期暴露請評估風險。
- 手機丟失時,在目標機器撤銷該客戶端即可,不必改主密碼。