電腦與手機共用 Clash 設定:訂閱連結、WebDAV 與私有 Git 同步比較
比較訂閱連結、WebDAV 備份與私有 Git 三種跨裝置同步方式,整理更新時機、衝突處理與適用情境。
1. 先分清共用設定、節點訂閱與用戶端設定
電腦和手機使用相同的訂閱網址,不代表兩台裝置的所有設定都已同步。Mihomo 是處理代理連線、規則與 DNS 的核心;用戶端則負責匯入設定、定期更新、儲存介面選項及申請系統權限。WebDAV 備份和 Git 拉取通常是用戶端或外部工具提供的功能,不是 Mihomo 核心自動執行的同步流程。
開始操作前,先確認訂閱回傳的內容。完整設定通常包含 proxies 或 proxy-providers、proxy-groups、rules 等欄位;若訂閱只包含節點資訊,則需要用戶端轉換,或由另一份主設定引用。若把節點清單當成完整設定匯入,可能會有節點,卻缺少預期的策略群組和規則。
- 適合共用:代理群組名稱、分流規則、規則集引用,以及確認相容後的節點來源。
- 適合保存在裝置本機:系統代理開關、TUN 授權、Android 分流應用程式清單、用戶端視窗與啟動設定。
- 需要個別評估:DNS 監聽位址、入站連接埠、網卡名稱、外部控制介面與本機檔案路徑。
2. 三種方案的更新方式與適用情境
| 方案 | 同步內容 | 更新方式 | 衝突處理 | 適用情境 |
|---|---|---|---|---|
| 訂閱連結 | 伺服器發布的節點或設定 | 用戶端手動或定期拉取 | 重新匯入遠端內容,本機修改可能遭到覆蓋 | 個人多裝置取得相同的發布內容 |
| WebDAV | 用戶端支援的備份檔或檔案 | 備份、還原;是否支援自動化取決於用戶端 | 保留副本後,選擇要還原的來源 | 換機、重新安裝、遷移至同系列用戶端 |
| 私有 Git | 文字設定、規則與修改歷史 | 提交、推送、拉取後部署 | 逐行比對並手動合併 | 自行維護規則、多裝置協作、需要回復舊版 |
三種方式可以搭配使用,但不要讓三種工具同時寫入同一個生效檔案。例如,以 Git 保存規則原始檔,用訂閱網址發布產生的結果,再透過 WebDAV 備份用戶端的本機偏好設定。如此一來,每類資料只有一個寫入來源,遇到內容遭覆蓋時也更容易排查。
3. 訂閱連結:使用相同來源,分別更新
匯入後先核對內容,別只看更新時間
- 在服務商後台取得適用於 Clash 或 Mihomo 的訂閱網址,並確認方案是否允許多裝置使用及同時連線。
- 分別在電腦和手機的設定管理介面匯入遠端網址。不同用戶端的選單名稱可能不同,請選擇「從 URL 匯入」或對應的遠端設定入口。
- 手動更新一次,核對策略群組名稱、規則數量及目前啟用的設定。更新下載成功,不代表已切換至這份設定。
- 在兩台裝置上分別完成系統代理或 VPN 授權,發出一次網頁請求,再查看連線記錄中的規則命中與出口。
可以先將用戶端的完整設定更新間隔設為 24 小時,這是建議的起始值,並非核心固定的預設值。若服務商另有限制更新頻率,請依照其規定設定。Android 背景排程、省電策略與電腦休眠都可能延遲更新;節點異動時,仍應手動重新整理並檢查結果。
完整設定更新與 provider 更新並非同一個計時器
用戶端定期下載訂閱,通常是替換或重新匯入完整設定;Mihomo 中 HTTP 類型 proxy-providers 的 interval 則控制該節點來源的更新週期,單位為秒,例如 interval: 3600 代表一小時。HTTP 類型規則集的更新週期也需在對應的 rule-providers 下設定。修改這些欄位,不會自動變更用戶端完整設定的更新排程。
若要保留自訂規則,優先使用用戶端明確支援的覆寫或合併功能。不要只在下載後的 YAML 中插入一條規則,就以為它會一直保留;下次更新訂閱時,檔案可能遭到覆蓋。合併後也要檢查規則順序,尤其是 MATCH 兜底規則不能提前攔截後續請求。
4. WebDAV:適合備份與還原,不等於雙向同步
WebDAV 提供遠端檔案存取功能,但「上傳備份」、「下載還原」和「持續雙向同步」是三種不同操作。即使用戶端支援 WebDAV,也可能只能備份自己的資料庫,無法將備份直接匯入另一款用戶端。開始遷移前,請確認兩端是否支援相同的備份格式,以及備份內容是否包含訂閱網址和敏感憑證。
建立可還原的備份流程
- 在儲存服務中建立專用資料夾,並為同步工具建立只能存取該資料夾的帳號或應用程式密碼。
- 使用 HTTPS 網址連線。HTTPS 通常使用 TCP 443;若服務指定其他連接埠,請使用伺服器提供的實際網址。
- 先從電腦上傳備份,再於手機手動下載或還原。還原前先保存手機目前的設定,不要直接覆蓋唯一可用的副本。
- 檢查還原後的訂閱、策略群組與本機權限。VPN 授權和系統代理狀態仍須在目標裝置上確認。
若使用外部檔案工具同步 YAML,建議先將遠端檔案下載至暫存資料夾,確認無誤後再匯入用戶端;不要讓同步工具持續寫入用戶端正在讀取的檔案。如此即使途中斷線或發生檔案衝突,也不會立即替換目前正在使用的設定。
兩台裝置都修改時,該如何選擇
假設電腦在 09:00 修改規則,手機離線後於 09:10 修改訂閱,之後兩端上傳同名備份。僅憑「修改時間較新」無法證明較新的備份包含另一端的變更;裝置時間也可能不同。請先分別保存兩份副本,再比對訂閱與規則,選定其中一份作為主要版本。
二進位或加密備份檔無法像文字一樣逐行合併。較穩妥的做法是指定一台裝置負責發布備份,其他裝置則以還原為主。若備份包含憑證,請使用用戶端提供的加密功能;僅透過 HTTPS 傳輸,不代表伺服器上保存的檔案已經加密。
5. 私有 Git:追蹤規則變更,憑證分開管理
若經常調整網域規則、檢視變更或回復舊版,Git 會更合適。它會記錄每次文字變更,方便確認某條規則由誰、何時、為何修改。不過,私有儲存庫仍涉及帳號、協作者和自動化存取權限,不應直接提交節點密碼、訂閱權杖或控制介面金鑰。
先整理檔案,再設定同步
以下是一種原始檔組織方式,並非 Mihomo 自動辨識的目錄規範。Mihomo 最終仍需載入一份完整且有效的設定;分檔內容必須經過明確的組裝流程,不要假設核心會自動合併。
proxy-config/
├── base.yaml
├── rules/
│ └── local.yaml
├── devices/
│ ├── desktop.yaml
│ └── android.yaml
├── .gitignore
└── README.md
base.yaml 保存共用架構,rules/ 保存規則原始檔,devices/ 保存不含機密的平台差異。實際訂閱網址和產生後的設定請留在儲存庫之外。以下的忽略規則僅適用於本方案約定的檔名,不能取代提交前檢查。
# .gitignore
secrets/
private-provider.yaml
runtime.yaml
*.log
每次修改都採用相同步驟
- 先執行
git pull --ff-only取得遠端更新。若顯示分支已分歧,請先處理差異,不要直接強制覆蓋。 - 編輯規則後執行
git diff檢視變更,確認沒有混入實際訂閱網址或節點密碼。 - 依照專案流程產生
runtime.yaml,並使用目標裝置對應的 Mihomo 版本檢查設定。 - 確認檢查通過後提交原始檔,再推送至私有儲存庫;其他裝置拉取後,重新產生並匯入設定。
mihomo -v
mihomo -t -f runtime.yaml
git diff --check
git add base.yaml rules/local.yaml
git commit -m "調整本機網域分流規則"
git push
mihomo -t -f runtime.yaml 可用於測試設定,但不代表遠端節點一定能連線,也不代表 TUN 權限已就緒。若設定引用相對路徑或外部規則檔案,還需要準備相同的工作目錄與相依檔案。Windows 上可使用實際的核心執行檔名稱;用戶端內建核心的路徑則依安裝方式而異。
手機端不一定提供 Git 工具或任意目錄存取權限。若沒有可靠的拉取與部署流程,建議由電腦維護儲存庫,再透過受控的 HTTPS 網址發布結果,供手機訂閱。不要為了同步設定,就把儲存庫存取權杖直接寫入訂閱 URL。
6. 跨平台使用時保留連接埠、TUN 與 DNS 的本機差異
「共用同一份設定」更適合解讀為共用規則邏輯,而非所有欄位都完全一致。桌面系統可以設定系統代理;Android 用戶端通常透過 VpnService 接管流量。兩者的權限、路由與分應用程式控制方式並不相同。
| 欄位或功能 | 處理建議 | 檢查項目 |
|---|---|---|
mixed-port |
依各裝置的連接埠使用情況設定 | 7890 是常見範例值,不是所有用戶端都固定使用的連接埠 |
allow-lan |
不需要區域網路存取時,請保持關閉 | 啟用後還要核對監聽位址、防火牆與驗證設定 |
| TUN 與 VPN | 依平台完成權限與路由設定 | 桌面版 TUN 開關無法取代 Android VPN 授權 |
DNS 與 dns-hijack |
配合裝置的網路環境進行測試 | 確認 DNS 請求是否確實進入核心 |
external-controller |
不需要遠端管理時,請勿對外開放 | 本機管理優先綁定回環位址,並設定存取金鑰 |
裝置覆寫也要檢查合併方式。有些用戶端會取代整個 dns 區段,有些會合併映射,但對 rules 陣列採用附加或取代。不要只看覆寫編輯器中的幾行內容,還要查看最終生效的設定。Android 分應用程式代理也取決於實際安裝的應用程式套件名稱,不宜直接沿用桌面版的程序規則。
7. 更新衝突、回復舊版與生效驗證
規則更新後消失
先確認規則是寫在遠端訂閱、用戶端覆寫,還是暫存的產生檔案中,再查看這次更新覆蓋了哪一層。建議在自己的原始檔加入註解,例如 # profile-revision: 2026-08-23-01。這只是方便辨識的發布標記,不會影響分流;仍須搭配最終設定與記錄確認是否已載入。
電腦正常,手機無法連線
依序比對目前的設定名稱、更新時間、核心版本、節點來源與策略群組選擇,再檢查手機的 VPN 授權和背景限制。同一個訂閱不保證兩台裝置同一時間使用相同節點;手動選擇結果和健康檢查狀態可能保存在各自的本機。先統一出口再測試,才能減少干擾因素。
新設定載入失敗
- 保留失敗檔案與錯誤記錄,記下出錯欄位或行號。
- 切回上一份已確認可用的設定,先恢復連線,不要接連修改多項設定。
- Git 方案比對最近一次提交;WebDAV 方案還原獨立的歷史副本;訂閱方案則確認服務商是否支援歷史版本。
- 修正後先在一台裝置測試,再發布至其他裝置。
最終驗證至少包含三項:核心能載入設定、需要代理的請求命中預期策略,以及需要直連的請求沒有遭到錯誤轉送。若共用內容包含 DNS 或 TUN 調整,還應分別在 Wi-Fi 和行動網路下檢查解析與連線。不要只憑「訂閱更新成功」就判定整套設定運作正常。
8. 依維護方式選擇同步方案
- 主要使用服務商訂閱:兩端匯入同一個網址,分別設定更新週期;自訂規則使用本機覆寫,並保留匯出副本。
- 主要為了重新安裝或換機:選擇用戶端支援的 WebDAV 備份,先驗證還原格式,再決定是否啟用自動備份。
- 主要維護自訂分流規則:使用私有 Git 保存文字原始檔,驗證通過後再發布,手機只取得可用的結果。
長期維護時,明確規定「原始檔存放位置、修改負責人、驗證方式、回復方法」這四件事,比追求所有裝置即時互相覆蓋更重要。集中維護共用規則,在本機處理平台權限,並在更新前保留可用副本,才能在設定異動時找出問題環節。需要進一步確認欄位,可參閱規則與設定說明;用戶端安裝與權限步驟請見使用教學。