先確認同步對象:節點、規則,還是完整執行設定
「多台裝置共用一套設定」通常包含三種不同需求:讓 Windows、macOS 與手機取得同一批節點;讓各裝置使用相同的規則與代理群組;或直接複製完整的 config.yaml。三者的同步範圍不同。節點訂閱最容易統一,規則與代理群組適合集中維護,完整執行設定則經常受到作業系統、客戶端與核心版本影響。
Clash 與 mihomo 設定不只包含代理伺服器。監聽連接埠、控制器位址、TUN 網卡、DNS 劫持、區域網路存取、GeoData 模式以及本機檔案路徑,都可能寫在同一個 YAML 檔案中。將 Windows 上正在執行的完整設定直接覆蓋到 macOS,可能造成網卡名稱不符、連接埠被占用或規則集路徑失效。
依穩定性分成三層
- 共用資料層:代理節點、遠端規則集、代理群組結構。這部分適合在所有裝置之間統一。
- 平台參數層:TUN、DNS、監聽位址、連接埠、程序比對與網卡選擇。這部分應依作業系統分別維護。
- 客戶端狀態層:視窗大小、主題、系統匣行為、日誌等級、最近選擇的設定。通常留在本機,不納入同步。
方案一:各裝置使用同一個訂閱連結
統一更新訂閱連結是維護成本最低的方案。每台裝置獨立保存訂閱記錄,需要時向同一個網址抓取設定。Windows 上的 Clash Verge Rev、macOS 上的 Clash Verge Rev,以及 Android 上使用 mihomo 核心的相容客戶端,都可以分別匯入同一個網址。裝置之間不會直接傳輸本機檔案,因此不會互相覆蓋執行狀態。
典型操作流程
- 在桌面客戶端開啟「訂閱」或「設定」頁面。
- 選擇「新增」或「匯入」,貼上 HTTPS 訂閱網址。
- 下載完成後選取該設定,再執行「設為目前設定」。
- 在自動更新設定中指定週期,例如 1440 分鐘,也就是每天更新一次。
- 在另一台裝置重複匯入,不要複製第一台裝置產生的快取檔案。
不同客戶端的選單文字可能略有差異。以 Clash Verge Rev 2.x 為例,訂閱通常在「訂閱」頁面管理,核心、系統代理與 TUN 則位於「設定」頁面。排查時應明確區分「訂閱已更新」與「目前設定已切換」:前者只會下載新內容,後者才決定核心實際載入哪一份設定。
如何設定自動更新週期
節點資訊變動不頻繁時,每 12 至 24 小時更新一次通常已足夠。將週期設為 5 分鐘會增加伺服器端請求,也可能在網路切換時反覆寫入設定。臨時排查節點遺失時,可以手動更新一次,並確認客戶端顯示的更新時間是否變更。
| 項目 | 是否統一 | 處理方式 |
|---|---|---|
| 節點清單 | 統一 | 所有裝置匯入同一個訂閱網址 |
| 代理群組 | 通常統一 | 由訂閱內容或轉換範本產生 |
| 目前節點選擇 | 各裝置獨立 | 依本機網路延遲選擇 |
| 系統代理與 TUN | 各裝置獨立 | 在客戶端設定頁面分別開啟 |
| 自動更新時間 | 可以不同 | 桌面版可設定 1440 分鐘,行動裝置則依使用頻率設定 |
方案二:使用雲端硬碟同步 YAML 設定
雲端硬碟同步適合維護過自訂規則、代理群組與 DNS 設定的使用者。常見做法是將一份手動維護的 YAML 放入 OneDrive、iCloud Drive 或其他同步目錄,再由各客戶端匯入該檔案。關鍵在於將雲端硬碟中的檔案視為「來源檔案」,而不是直接同步客戶端正在讀寫的整個設定目錄。
為什麼不建議同步整個客戶端目錄
- 客戶端目錄可能包含 SQLite 資料庫、視窗狀態、日誌、快取與鎖定檔案,這些內容會頻繁變動。
- 兩台裝置同時執行時,雲端硬碟可能產生「衝突副本」,核心仍在讀取舊檔案。
- 不同作業系統使用不同的路徑分隔符號,Windows 的磁碟機路徑無法直接套用於 macOS 或 Linux。
- 客戶端升級後可能會遷移目錄結構,直接同步舊目錄會將過期狀態重新寫回。
更穩妥的流程是:雲端硬碟保留 shared-base.yaml,各裝置下載或複製到本機,再透過客戶端執行「設定」→「匯入本機檔案」。修改規則時只編輯來源檔案,確認 YAML 可以載入後,再讓其他裝置取得新版本。若客戶端支援覆寫、合併或腳本功能,也可以讓共用檔案只負責規則與代理群組,本機覆寫則負責 TUN 與連接埠。
以客戶端入口為準確認設定目錄
設定目錄不是 Clash 生態系中的統一標準。mihomo 以命令列啟動時,常見的主要設定是 Linux 下的 ~/.config/mihomo/config.yaml;舊版 Clash 常見目錄則是 ~/.config/clash/。圖形客戶端通常還有自己的應用程式資料目錄與訂閱資料庫,檔案位置會隨應用程式識別名稱與版本變化。
因此,尋找目錄時應優先使用客戶端提供的按鈕,例如 Clash Verge Rev 2.x 的「設定」→「設定目錄」→「開啟目錄」。如果介面中沒有這個入口,再查看日誌開頭顯示的工作目錄或啟動參數。不要因為目錄中出現 config.yaml 就直接覆蓋,先確認日誌中的實際載入路徑。
雲端硬碟同步的安全操作順序
- 退出準備修改設定的客戶端,避免它同時寫入同一個檔案。
- 等待雲端硬碟狀態顯示同步完成,再開啟 YAML。
- 儲存後檢查是否產生衝突副本,例如
shared-base-conflicted-copy.yaml。 - 在一台裝置上匯入並重新載入設定,確認代理群組、規則與 DNS 都能正常解析。
- 其他裝置再取得該版本,並保留上一份可用副本。
方案三:自行架設設定託管與遠端規則集
裝置較多、規則需要持續維護時,可以將設定拆分為主要設定、代理提供者與規則提供者,透過 HTTPS 統一託管。每台裝置只保存一個較短的入口設定,節點與規則由 mihomo 定期抓取。這種方式比手動複製 YAML 更適合桌上型電腦、筆記型電腦、家用伺服器與行動裝置共同使用。
使用 proxy-providers 集中管理節點
proxy-providers:
shared:
type: http
url: "https://config.example.net/proxies.yaml"
path: ./providers/shared.yaml
interval: 86400
health-check:
enable: true
url: "https://www.gstatic.com/generate_204"
interval: 600
proxy-groups:
- name: PROXY
type: select
use:
- shared
proxies:
- DIRECT
rules:
- GEOIP,CN,DIRECT
- MATCH,PROXY
interval: 86400 表示每 86400 秒更新一次,也就是 24 小時。健康檢查每 600 秒執行一次,只用於判斷節點能否完成指定的測試請求,不代表實際下載速度。遠端檔案下載後會寫入 ./providers/shared.yaml;這個相對路徑是以核心工作目錄為基準,因此應確保客戶端具有寫入權限。
使用 rule-providers 統一管理規則
rule-providers:
private:
type: http
behavior: domain
format: yaml
path: ./rules/private.yaml
url: "https://config.example.net/rules/private.yaml"
interval: 86400
rules:
- RULE-SET,private,DIRECT
- GEOIP,CN,DIRECT
- MATCH,PROXY
behavior: domain 適用於網域類規則。若檔案包含 CIDR 網段,應使用與內容相符的行為類型;混合多種 Clash 規則語法時,可依 mihomo 的支援情況使用 classical。行為類型與檔案內容不一致會導致規則載入失敗,日誌通常會顯示 provider 名稱與解析錯誤位置。
遠端託管需要處理的細節
- 伺服器應提供 HTTPS,並回傳正確的 YAML 文字內容。
- 私有網址需要存取權杖時,應控管權杖的權限與有效期限。
- 更新主要設定前保留上一個版本,避免單一語法錯誤影響所有裝置。
- 規則集應使用穩定 URL,避免每次提交後檔案網址變更。
- 遠端檔案更新後,客戶端可能還要執行「重新載入」才能套用新的代理群組結構。
跨平台欄位差異:哪些內容必須留在本機
共用設定能否跨平台執行,取決於是否包含與作業系統相關的欄位。規則語法、代理群組與遠端提供者通常容易重複使用;網卡、程序、連接埠與本機路徑則需要逐台檢查。採用 mihomo 核心也不代表所有圖形客戶端都支援相同的介面選項,客戶端可能透過覆寫檔案產生最終設定。
TUN 模式與網卡設定
TUN 會建立虛擬網路介面並接管路由。Windows、macOS、Linux 與 Android 的權限模型不同,圖形客戶端通常要求在本機完成授權。共用檔案可以保留基本結構,但 interface-name、device、route-address-set 等依賴本機環境的欄位不宜硬編碼。
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
auto-detect-interface: true 能減少固定網卡名稱造成的跨平台問題,但同時使用雙網卡、虛擬機器或公司 VPN 時,仍需檢查預設路由。若某台裝置開啟 TUN 後無法上網,先在「設定」→「TUN 模式」關閉此功能,再查看日誌中的路由與權限錯誤,不要立即修改共用規則。
監聽連接埠與區域網路存取
mixed-port: 7890
allow-lan: false
bind-address: "*"
external-controller: 127.0.0.1:9090
mixed-port: 7890 同時接收 HTTP 與 SOCKS 代理連線。連接埠在某台裝置上被其他程式占用時,可以只在本機改為 7891。external-controller 若只供本機客戶端連線,建議監聽 127.0.0.1:9090。需要與區域網路共用時,再依實際需求開啟 allow-lan,同時檢查系統防火牆與 Wi-Fi 網路類型。
本機路徑與規則資源
Windows 路徑可能寫成 C:\Users\Public\Clash\rules,macOS 與 Linux 則使用以 / 開頭的路徑。為了跨平台,規則提供者應盡量採用相對路徑,例如 ./rules/private.yaml。如果客戶端將工作目錄放在受保護的位置,還要確認目前使用者能夠建立 rules 與 providers 子目錄。
程序規則的系統差異
PROCESS-NAME 取決於作業系統回報的程序名稱。Windows 可能比對 example.exe,macOS 應用程式對應的可執行檔名稱可能是 Example,Android 則可能依套件名稱比對。需要精確進行程序分流時,可以為各平台保留獨立規則集,再於本機設定中引用。
建議結構:共用基礎設定加本機覆寫
對於同時使用 Windows、macOS 與 Linux 的環境,可以維護一份共用基礎設定,再為每個平台準備一份精簡覆寫。基礎設定放入代理提供者、規則提供者、代理群組與通用 DNS 邏輯;覆寫檔案只處理連接埠、TUN、程序規則與控制器位址。
檔案組織範例
clash-config/
├── shared-base.yaml
├── overlays/
│ ├── windows.yaml
│ ├── macos.yaml
│ └── linux.yaml
├── rules/
│ ├── direct.yaml
│ └── reject.yaml
└── backups/
└── shared-base-2026-08-04.yaml
是否能直接合併覆寫,取決於客戶端功能。部分客戶端提供 Merge、Mixin、覆寫或腳本入口;另一些客戶端只能匯入最終 YAML。無法自動合併時,可以在電腦上產生最終檔案,例如 windows-final.yaml,再由對應裝置匯入。合併後必須檢查同名鍵的覆蓋結果,尤其是 rules、dns 與 proxy-groups 這類清單或巢狀物件。
同步時不要統一目前節點
家用寬頻、辦公室網路與行動網路的路由條件不同。同一個節點在 Windows 桌上型電腦上的延遲可能是 42 ms,在手機行動網路上則可能達到 180 ms。各裝置應獨立保留代理群組選擇,或使用 url-test、fallback 等自動策略。共用的是候選節點與測試規則,不必強制共用最後一次選擇。
備份、復原與衝突處理
設定同步不能取代備份。同步會將刪除、錯誤縮排與錯誤規則一併傳播到其他裝置;備份的作用是保留可復原的歷史版本。至少應保留目前可用的設定、最近一次修改前的設定,以及一個經過長期驗證的穩定版本。
每次修改前執行四項檢查
- 複製目前檔案,並以日期命名,例如
config-2026-08-04.yaml。 - 確認 YAML 使用空格縮排,不混入 Tab 字元。
- 檢查代理群組引用的 provider、節點名稱與其他代理群組是否存在。
- 重新載入後查看日誌,確認 rules、proxy-providers 與 rule-providers 都已成功載入。
如果更新後所有裝置同時出現問題,先暫停雲端硬碟同步或遠端發布,避免錯誤版本繼續擴散。接著恢復上一份穩定檔案,關閉自動更新一次,再重新載入核心。確認基本連線恢復後,再逐段加入這次修改,定位是 DNS、規則、代理群組還是遠端資源導致失敗。
常見衝突的處理順序
- 出現兩個同名副本:比較修改時間與內容,不要直接依檔名判斷新舊。
- 客戶端提示 YAML 錯誤:從日誌提供的行號往上檢查縮排與引號。
- 規則已更新但行為沒有變化:確認目前設定已重新載入,並檢查規則比對順序。
- 某台裝置無法上網:先關閉該裝置的 TUN 與系統代理,再驗證共用設定本身。
- 遠端 provider 下載失敗:檢查 HTTPS 網址、存取權限、DNS 與本機快取路徑。
如何選擇三種方案
| 使用情境 | 建議方案 | 主要維護重點 |
|---|---|---|
| 兩三台個人裝置,只需要相同節點 | 同一個訂閱連結 | 各裝置獨立更新與選擇節點 |
| 有自訂規則,修改頻率較低 | 雲端硬碟同步來源 YAML | 避免同步客戶端資料庫與快取 |
| 裝置較多,規則長期維護 | 自行架設 HTTPS 託管 | 版本管理、權限與復原 |
| 跨 Windows、macOS、Linux | 共用基礎設定加平台覆寫 | TUN、連接埠、路徑與程序規則 |
多數個人使用情境從訂閱連結開始即可。只有在需要自行維護規則、DNS 或代理群組時,再引入雲端硬碟來源檔案。裝置數量增加後,可以將節點與規則拆分為 provider,透過 HTTPS 定期更新。無論採用哪一種方案,都應讓與系統相關的設定留在本機,並保留可直接復原的穩定設定。
完成同步後,可以在每台裝置分別檢查四項結果:訂閱更新時間正確、目前設定已切換、規則比對符合預期、TUN 或系統代理能正常關閉與恢復。將這四項分開驗證,比直接判斷「能否開啟網頁」更容易發現設定差異。