多台裝置共用一套 Clash 設定:訂閱、同步與備份的可行方案

比較訂閱連結統一更新、設定檔雲端同步與自行架設設定託管三種方案,說明各客戶端的設定目錄位置,以及跨平台欄位差異的處理方式。

先確認同步對象:節點、規則,還是完整執行設定

「多台裝置共用一套設定」通常包含三種不同需求:讓 Windows、macOS 與手機取得同一批節點;讓各裝置使用相同的規則與代理群組;或直接複製完整的 config.yaml。三者的同步範圍不同。節點訂閱最容易統一,規則與代理群組適合集中維護,完整執行設定則經常受到作業系統、客戶端與核心版本影響。

Clash 與 mihomo 設定不只包含代理伺服器。監聽連接埠、控制器位址、TUN 網卡、DNS 劫持、區域網路存取、GeoData 模式以及本機檔案路徑,都可能寫在同一個 YAML 檔案中。將 Windows 上正在執行的完整設定直接覆蓋到 macOS,可能造成網卡名稱不符、連接埠被占用或規則集路徑失效。

依穩定性分成三層

  • 共用資料層:代理節點、遠端規則集、代理群組結構。這部分適合在所有裝置之間統一。
  • 平台參數層:TUN、DNS、監聽位址、連接埠、程序比對與網卡選擇。這部分應依作業系統分別維護。
  • 客戶端狀態層:視窗大小、主題、系統匣行為、日誌等級、最近選擇的設定。通常留在本機,不納入同步。

方案一:各裝置使用同一個訂閱連結

統一更新訂閱連結是維護成本最低的方案。每台裝置獨立保存訂閱記錄,需要時向同一個網址抓取設定。Windows 上的 Clash Verge Rev、macOS 上的 Clash Verge Rev,以及 Android 上使用 mihomo 核心的相容客戶端,都可以分別匯入同一個網址。裝置之間不會直接傳輸本機檔案,因此不會互相覆蓋執行狀態。

典型操作流程

  1. 在桌面客戶端開啟「訂閱」或「設定」頁面。
  2. 選擇「新增」或「匯入」,貼上 HTTPS 訂閱網址。
  3. 下載完成後選取該設定,再執行「設為目前設定」。
  4. 在自動更新設定中指定週期,例如 1440 分鐘,也就是每天更新一次。
  5. 在另一台裝置重複匯入,不要複製第一台裝置產生的快取檔案。

不同客戶端的選單文字可能略有差異。以 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 就直接覆蓋,先確認日誌中的實際載入路徑。

雲端硬碟同步的安全操作順序

  1. 退出準備修改設定的客戶端,避免它同時寫入同一個檔案。
  2. 等待雲端硬碟狀態顯示同步完成,再開啟 YAML。
  3. 儲存後檢查是否產生衝突副本,例如 shared-base-conflicted-copy.yaml
  4. 在一台裝置上匯入並重新載入設定,確認代理群組、規則與 DNS 都能正常解析。
  5. 其他裝置再取得該版本,並保留上一份可用副本。

方案三:自行架設設定託管與遠端規則集

裝置較多、規則需要持續維護時,可以將設定拆分為主要設定、代理提供者與規則提供者,透過 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-namedeviceroute-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。如果客戶端將工作目錄放在受保護的位置,還要確認目前使用者能夠建立 rulesproviders 子目錄。

程序規則的系統差異

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,再由對應裝置匯入。合併後必須檢查同名鍵的覆蓋結果,尤其是 rulesdnsproxy-groups 這類清單或巢狀物件。

同步時不要統一目前節點

家用寬頻、辦公室網路與行動網路的路由條件不同。同一個節點在 Windows 桌上型電腦上的延遲可能是 42 ms,在手機行動網路上則可能達到 180 ms。各裝置應獨立保留代理群組選擇,或使用 url-testfallback 等自動策略。共用的是候選節點與測試規則,不必強制共用最後一次選擇。

備份、復原與衝突處理

設定同步不能取代備份。同步會將刪除、錯誤縮排與錯誤規則一併傳播到其他裝置;備份的作用是保留可復原的歷史版本。至少應保留目前可用的設定、最近一次修改前的設定,以及一個經過長期驗證的穩定版本。

每次修改前執行四項檢查

  1. 複製目前檔案,並以日期命名,例如 config-2026-08-04.yaml
  2. 確認 YAML 使用空格縮排,不混入 Tab 字元。
  3. 檢查代理群組引用的 provider、節點名稱與其他代理群組是否存在。
  4. 重新載入後查看日誌,確認 rules、proxy-providers 與 rule-providers 都已成功載入。

如果更新後所有裝置同時出現問題,先暫停雲端硬碟同步或遠端發布,避免錯誤版本繼續擴散。接著恢復上一份穩定檔案,關閉自動更新一次,再重新載入核心。確認基本連線恢復後,再逐段加入這次修改,定位是 DNS、規則、代理群組還是遠端資源導致失敗。

常見衝突的處理順序

  • 出現兩個同名副本:比較修改時間與內容,不要直接依檔名判斷新舊。
  • 客戶端提示 YAML 錯誤:從日誌提供的行號往上檢查縮排與引號。
  • 規則已更新但行為沒有變化:確認目前設定已重新載入,並檢查規則比對順序。
  • 某台裝置無法上網:先關閉該裝置的 TUN 與系統代理,再驗證共用設定本身。
  • 遠端 provider 下載失敗:檢查 HTTPS 網址、存取權限、DNS 與本機快取路徑。

如何選擇三種方案

使用情境 建議方案 主要維護重點
兩三台個人裝置,只需要相同節點 同一個訂閱連結 各裝置獨立更新與選擇節點
有自訂規則,修改頻率較低 雲端硬碟同步來源 YAML 避免同步客戶端資料庫與快取
裝置較多,規則長期維護 自行架設 HTTPS 託管 版本管理、權限與復原
跨 Windows、macOS、Linux 共用基礎設定加平台覆寫 TUN、連接埠、路徑與程序規則

多數個人使用情境從訂閱連結開始即可。只有在需要自行維護規則、DNS 或代理群組時,再引入雲端硬碟來源檔案。裝置數量增加後,可以將節點與規則拆分為 provider,透過 HTTPS 定期更新。無論採用哪一種方案,都應讓與系統相關的設定留在本機,並保留可直接復原的穩定設定。

完成同步後,可以在每台裝置分別檢查四項結果:訂閱更新時間正確、目前設定已切換、規則比對符合預期、TUN 或系統代理能正常關閉與恢復。將這四項分開驗證,比直接判斷「能否開啟網頁」更容易發現設定差異。

下載Clash客戶端 查看各平台安裝包